From d7e349f23e7f82849e21a208bec0f4199c19c005 Mon Sep 17 00:00:00 2001 From: "Markus M." Date: Fri, 17 Jul 2026 17:08:05 +0200 Subject: [PATCH 1/7] Add ANSI C12.18 meter reader Add an ESP32 MeterCommunicator for ANSI C12.18 optical meters with session setup, CRC-checked framing, multi-packet response handling and automatic UART recovery after repeated failures. Read byte order from table 0, energy counters from table 23 and standard or extended measurements from table 28. Publish the decoded values through the existing AmsData OBIS path so MQTT and Home Assistant need no protocol-specific changes. Store user ID, username, password and the extended-table option in a separate backwards-compatible EEPROM block, and expose these settings in the existing web configuration UI. Validated with npm run build and PlatformIO builds for esp32 and esp8266. --- localazy/source/en.json | 7 + src/AmsConfiguration.cpp | 29 +++ src/AmsConfiguration.h | 15 +- src/AmsJsonGenerator.cpp | 10 +- src/AmsToMqttBridge.cpp | 31 ++- src/AmsWebServer.cpp | 11 + src/C1218MeterCommunicator.cpp | 299 ++++++++++++++++++++++++ src/C1218MeterCommunicator.h | 76 ++++++ ui/dist/index.css | 2 +- ui/dist/index.js | 10 +- ui/src/routes/ConfigurationRoute.svelte | 26 +++ 11 files changed, 507 insertions(+), 9 deletions(-) create mode 100644 src/C1218MeterCommunicator.cpp create mode 100644 src/C1218MeterCommunicator.h diff --git a/localazy/source/en.json b/localazy/source/en.json index d56d5247..8f3f2192 100644 --- a/localazy/source/en.json +++ b/localazy/source/en.json @@ -113,6 +113,12 @@ "pulse": "Pulse", "title": "Communication" }, + "c1218": { + "extended": "Read extended table 28", + "password": "Password", + "userid": "User ID", + "username": "Username" + }, "encrypted": "Meter is encrypted", "fuse": "Main fuse", "inverted": "inverted", @@ -254,6 +260,7 @@ "94": "Serial frame error", "95": "Serial parity error", "96": "RX error", + "97": "ANSI C12.18 communication error", "98": "Exception in code, debugging necessary", "99": "Autodetection failed" }, diff --git a/src/AmsConfiguration.cpp b/src/AmsConfiguration.cpp index 8a9541c5..b3d283f0 100644 --- a/src/AmsConfiguration.cpp +++ b/src/AmsConfiguration.cpp @@ -351,6 +351,35 @@ void AmsConfiguration::clearMeter(MeterConfig& config) { config.bufferSize = 1; // 64 bytes } +bool AmsConfiguration::getC1218Config(C1218Config& config) { + static_assert(CONFIG_C1218_START + sizeof(C1218Config) <= EEPROM_SIZE, "C12.18 config exceeds EEPROM"); + EEPROM.get(CONFIG_C1218_START, config); + if(config.magic != C1218_CONFIG_MAGIC) { + clearC1218Config(config); + return false; + } + config.username[10] = 0; + config.password[20] = 0; + return true; +} + +bool AmsConfiguration::setC1218Config(C1218Config& config) { + C1218Config existing; + getC1218Config(existing); + config.magic = C1218_CONFIG_MAGIC; + config.username[10] = 0; + config.password[20] = 0; + meterChanged |= memcmp(&config, &existing, sizeof(C1218Config)) != 0; + EEPROM.put(CONFIG_C1218_START, config); + return meterChanged; +} + +void AmsConfiguration::clearC1218Config(C1218Config& config) { + memset(&config, 0, sizeof(C1218Config)); + config.userId = 1; + config.extendedTable28 = true; +} + bool AmsConfiguration::isMeterChanged() { return meterChanged; } diff --git a/src/AmsConfiguration.h b/src/AmsConfiguration.h index adb3f382..8729e81c 100644 --- a/src/AmsConfiguration.h +++ b/src/AmsConfiguration.h @@ -36,6 +36,9 @@ #define CONFIG_CLOUD_START 1742 #define CONFIG_UPGRADE_INFO_START 1934 #define CONFIG_ZC_START 2000 +#define CONFIG_C1218_START 2096 + +#define C1218_CONFIG_MAGIC 0x1218 #define CONFIG_METER_START_103 32 #define CONFIG_UPGRADE_INFO_START_103 216 @@ -161,6 +164,14 @@ struct MeterConfig { uint8_t txPin; }; // 65 +struct C1218Config { + uint16_t magic; + uint16_t userId; + char username[11]; + char password[21]; + bool extendedTable28; +}; + struct DebugConfig { bool telnet; bool serial; @@ -327,6 +338,9 @@ class AmsConfiguration { bool getMeterConfig(MeterConfig&); bool setMeterConfig(MeterConfig&); void clearMeter(MeterConfig&); + bool getC1218Config(C1218Config&); + bool setC1218Config(C1218Config&); + void clearC1218Config(C1218Config&); void setMeterChanged(); bool isMeterChanged(); void ackMeterChanged(); @@ -411,4 +425,3 @@ class AmsConfiguration { void deleteFromFs(uint8_t version); }; #endif - diff --git a/src/AmsJsonGenerator.cpp b/src/AmsJsonGenerator.cpp index fd026251..e9c1a38a 100644 --- a/src/AmsJsonGenerator.cpp +++ b/src/AmsJsonGenerator.cpp @@ -47,6 +47,8 @@ void AmsJsonGenerator::generateConfigurationJson(AmsConfiguration* config, JsonS MeterConfig meterConfig; config->getMeterConfig(meterConfig); + C1218Config c1218Config; + config->getC1218Config(c1218Config); NetworkConfig networkConfig; config->getNetworkConfig(networkConfig); @@ -135,6 +137,12 @@ void AmsJsonGenerator::generateConfigurationJson(AmsConfiguration* config, JsonS meterConfig.amperageMultiplier == 0.0 ? 1.0 : meterConfig.amperageMultiplier / 1000.0, meterConfig.accumulatedMultiplier == 0.0 ? 1.0 : meterConfig.accumulatedMultiplier / 1000.0 ); + EMIT(PSTR(",\"c\":{\"u\":%u,\"n\":\"%s\",\"p\":\"%s\",\"x\":%s}"), + c1218Config.userId, + c1218Config.username, + strlen(c1218Config.password) > 0 ? "***" : "", + c1218Config.extendedTable28 ? "true" : "false" + ); EMIT(PSTR("}")); // End of meter @@ -304,4 +312,4 @@ void AmsJsonGenerator::generateConfigurationJson(AmsConfiguration* config, JsonS void AmsJsonGenerator::generateConfigurationJson(AmsConfiguration* config, char* buf, size_t bufSize) { BufferJsonSink sink(buf, bufSize); generateConfigurationJson(config, sink); -} \ No newline at end of file +} diff --git a/src/AmsToMqttBridge.cpp b/src/AmsToMqttBridge.cpp index da170264..9e3414ca 100644 --- a/src/AmsToMqttBridge.cpp +++ b/src/AmsToMqttBridge.cpp @@ -50,6 +50,7 @@ ADC_MODE(ADC_VCC); #define METER_PARSER_PASSIVE 0 #define METER_PARSER_PULSE 2 #define METER_PARSER_KAMSTRUP 9 +#define METER_PARSER_C1218 18 #define METER_ERROR_UNKNOWN_DATA 89 #define METER_ERROR_NO_DATA 90 @@ -99,6 +100,9 @@ ADC_MODE(ADC_VCC); #include "KmpCommunicator.h" #endif #include "PulseMeterCommunicator.h" +#if defined(ESP32) +#include "C1218MeterCommunicator.h" +#endif #include "Uptime.h" #include "NtpStatus.h" @@ -277,6 +281,9 @@ PassiveMeterCommunicator* passiveMc = NULL; KmpCommunicator* kmpMc = NULL; #endif PulseMeterCommunicator* pulseMc = NULL; +#if defined(ESP32) +C1218MeterCommunicator* c1218Mc = NULL; +#endif bool networkConnected = false; @@ -1188,6 +1195,9 @@ void handleMeterConfig() { if(meterConfig.source == METER_SOURCE_GPIO) { switch(meterConfig.parser) { case METER_PARSER_PASSIVE: + #if defined(ESP32) + if(c1218Mc != NULL) { delete c1218Mc; c1218Mc = NULL; } + #endif if(pulseMc != NULL) { delete pulseMc; pulseMc = NULL; @@ -1206,6 +1216,9 @@ void handleMeterConfig() { mc = passiveMc; break; case METER_PARSER_KAMSTRUP: + #if defined(ESP32) + if(c1218Mc != NULL) { delete c1218Mc; c1218Mc = NULL; } + #endif if(pulseMc != NULL) { delete pulseMc; pulseMc = NULL; @@ -1224,6 +1237,9 @@ void handleMeterConfig() { #endif break; case METER_PARSER_PULSE: + #if defined(ESP32) + if(c1218Mc != NULL) { delete c1218Mc; c1218Mc = NULL; } + #endif #if defined(AMS_KMP) if(kmpMc != NULL) { delete(kmpMc); @@ -1242,6 +1258,19 @@ void handleMeterConfig() { mc = pulseMc; break; + #if defined(ESP32) + case METER_PARSER_C1218: + if(pulseMc != NULL) { delete pulseMc; pulseMc = NULL; } + if(passiveMc != NULL) { delete passiveMc; passiveMc = NULL; } + #if defined(AMS_KMP) + if(kmpMc != NULL) { delete kmpMc; kmpMc = NULL; } + #endif + if(c1218Mc == NULL) c1218Mc = new C1218MeterCommunicator(&Debug, &config); + c1218Mc->configure(meterConfig, tz); + hwSerial = c1218Mc->getHwSerial(); + mc = c1218Mc; + break; + #endif default: debugE_P(PSTR("Unknown meter parser selected: %d"), meterConfig.parser); } @@ -2655,4 +2684,4 @@ void configFileParse() { void IRAM_ATTR onPulse() { pulses++; -} \ No newline at end of file +} diff --git a/src/AmsWebServer.cpp b/src/AmsWebServer.cpp index 7943b038..0cb9c53e 100644 --- a/src/AmsWebServer.cpp +++ b/src/AmsWebServer.cpp @@ -1380,6 +1380,17 @@ void AmsWebServer::handleSave() { meterConfig.amperageMultiplier = server.arg(F("mma")).toDouble() * 1000.0; meterConfig.accumulatedMultiplier = server.arg(F("mmc")).toDouble() * 1000.0; config->setMeterConfig(meterConfig); + + if(meterConfig.parser == 18) { + C1218Config c1218; + config->getC1218Config(c1218); + c1218.userId = server.arg(F("mcu")).toInt(); + strlcpy(c1218.username, server.arg(F("mcn")).c_str(), sizeof(c1218.username)); + String password = server.arg(F("mcp")); + if(password != F("***")) strlcpy(c1218.password, password.c_str(), sizeof(c1218.password)); + c1218.extendedTable28 = server.hasArg(F("mcx")) && server.arg(F("mcx")) == F("true"); + config->setC1218Config(c1218); + } } if(server.hasArg(F("w")) && server.arg(F("w")) == F("true")) { diff --git a/src/C1218MeterCommunicator.cpp b/src/C1218MeterCommunicator.cpp new file mode 100644 index 00000000..5306aeff --- /dev/null +++ b/src/C1218MeterCommunicator.cpp @@ -0,0 +1,299 @@ +/** + * ANSI C12.18 optical meter communicator. + * + * License: Fair Source + */ +#include "C1218MeterCommunicator.h" + +#if defined(ESP32) + +#include "Uptime.h" +#include "crc.h" + +static const uint8_t C1218_ACK = 0x06; +static const uint8_t C1218_NACK = 0x15; +static const uint8_t C1218_START = 0xEE; +static const uint8_t C1218_OK = 0x00; + +#if defined(AMS_REMOTE_DEBUG) +C1218MeterCommunicator::C1218MeterCommunicator(RemoteDebug* debugger, AmsConfiguration* config) +#else +C1218MeterCommunicator::C1218MeterCommunicator(Stream* debugger, AmsConfiguration* config) +#endif + : debugger(debugger), config(config) {} + +C1218MeterCommunicator::~C1218MeterCommunicator() { + closeSession(); + serial->end(); +} + +void C1218MeterCommunicator::configure(MeterConfig& meterConfig, Timezone*) { + this->meterConfig = meterConfig; + config->getC1218Config(c1218Config); + resetSerial(); + initialized = true; + sessionOpen = updated = bigEndian = toggle = false; + failures = 0; + lastError = 0; + nextPoll = 0; +} + +void C1218MeterCommunicator::resetSerial() { + serial->end(); + serial->setRxBufferSize(256); + serial->begin(9600, SERIAL_8N1, meterConfig.rxPin, meterConfig.txPin, meterConfig.invert); + discardInput(); +} + +bool C1218MeterCommunicator::loop() { + uint64_t now = millis64(); + if(!initialized || now < nextPoll) return false; + nextPoll = now + 2000; + + if(sessionOpen && now - sessionStarted >= 300000) closeSession(); + if((!sessionOpen && !openSession()) || !poll()) { + closeSession(); + lastError = 97; + if(++failures >= 3) { + resetSerial(); + failures = 0; + } + return false; + } + + failures = 0; + lastError = 0; + updated = true; + return true; +} + +AmsData* C1218MeterCommunicator::getData(AmsData&) { + if(!updated) return NULL; + updated = false; + uint64_t now = millis64(); + AmsData* data = new AmsData(); + + data->apply(OBIS_ACTIVE_IMPORT, max((int32_t) 0, table28[0]), now); + data->apply(OBIS_ACTIVE_EXPORT, max((int32_t) 0, table28[1]), now); + data->apply(OBIS_REACTIVE_IMPORT, max((int32_t) 0, table28[2]), now); + data->apply(OBIS_REACTIVE_EXPORT, max((int32_t) 0, table28[3]), now); + data->apply(OBIS_CURRENT_L1, table28[4] / 1000.0, now); + data->apply(OBIS_CURRENT_L2, table28[5] / 1000.0, now); + data->apply(OBIS_CURRENT_L3, table28[6] / 1000.0, now); + data->apply(OBIS_VOLTAGE_L1, table28[7] / 1000.0, now); + data->apply(OBIS_VOLTAGE_L2, table28[8] / 1000.0, now); + data->apply(OBIS_VOLTAGE_L3, table28[9] / 1000.0, now); + if(table28Values >= 15) { + data->apply(OBIS_POWER_FACTOR, table28[10] / 1000.0, now); + data->apply(OBIS_POWER_FACTOR_L1, table28[10] / 1000.0, now); + data->apply(OBIS_POWER_FACTOR_L2, table28[13] / 1000.0, now); + data->apply(OBIS_POWER_FACTOR_L3, table28[14] / 1000.0, now); + } + data->apply(OBIS_ACTIVE_IMPORT_COUNT, table23[0] / 1000.0, now); + data->apply(OBIS_ACTIVE_EXPORT_COUNT, table23[1] / 1000.0, now); + return data; +} + +int C1218MeterCommunicator::getLastError() { return lastError; } +bool C1218MeterCommunicator::isConfigChanged() { return false; } +void C1218MeterCommunicator::ackConfigChanged() {} +void C1218MeterCommunicator::getCurrentConfig(MeterConfig& config) { config = meterConfig; } +HardwareSerial* C1218MeterCommunicator::getHwSerial() { return serial; } + +bool C1218MeterCommunicator::openSession() { + discardInput(); + toggle = false; + uint8_t response[MESSAGE_CAPACITY]; + size_t length; + + const uint8_t ident[] = {0x20}; + length = sizeof(response); + if(!request(ident, sizeof(ident), response, length)) { fail(F("C12.18 IDENT failed")); return false; } + + const uint8_t negotiate[] = {0x61, 0x00, 0x40, 0x02, 0x06}; + length = sizeof(response); + if(!request(negotiate, sizeof(negotiate), response, length)) { fail(F("C12.18 NEGOTIATE failed")); return false; } + + uint8_t logon[13]; + memset(logon, ' ', sizeof(logon)); + logon[0] = 0x50; + logon[1] = c1218Config.userId >> 8; + logon[2] = c1218Config.userId; + memcpy(logon + 3, c1218Config.username, strnlen(c1218Config.username, 10)); + length = sizeof(response); + if(!request(logon, sizeof(logon), response, length)) { fail(F("C12.18 LOGON failed")); return false; } + + uint8_t security[21] = {0x51}; + memcpy(security + 1, c1218Config.password, strnlen(c1218Config.password, 20)); + length = sizeof(response); + if(!request(security, sizeof(security), response, length)) { fail(F("C12.18 SECURITY failed")); return false; } + + length = sizeof(response); + if(!readTable(0, response, length) || length < 3) { fail(F("C12.18 table 0 read failed")); return false; } + uint16_t tableLength = (response[0] << 8) | response[1]; + if(tableLength + 2 > length) { fail(F("C12.18 table 0 is incomplete")); return false; } + bigEndian = (response[2] & 0x01) != 0; + + sessionOpen = true; + sessionStarted = millis64(); + return true; +} + +void C1218MeterCommunicator::closeSession() { + if(!sessionOpen) return; + uint8_t response[8]; + size_t length = sizeof(response); + const uint8_t logoff[] = {0x52}; + request(logoff, sizeof(logoff), response, length); + length = sizeof(response); + const uint8_t terminate[] = {0x21}; + request(terminate, sizeof(terminate), response, length); + sessionOpen = false; +} + +bool C1218MeterCommunicator::poll() { + uint8_t response[MESSAGE_CAPACITY]; + size_t length = sizeof(response); + const size_t values = c1218Config.extendedTable28 ? 26 : 10; + if(!readPartialTable(28, values * 4, response, length) || !parseTable(response, length, table28, values)) { + fail(F("C12.18 table 28 read failed")); + return false; + } + table28Values = values; + + length = sizeof(response); + if(!readPartialTable(23, 8, response, length) || !parseTable(response, length, table23, 2)) { + fail(F("C12.18 table 23 read failed")); + return false; + } + return true; +} + +bool C1218MeterCommunicator::readTable(uint16_t table, uint8_t* response, size_t& responseLength) { + const uint8_t payload[] = {0x30, (uint8_t) (table >> 8), (uint8_t) table}; + return request(payload, sizeof(payload), response, responseLength); +} + +bool C1218MeterCommunicator::readPartialTable(uint16_t table, uint16_t bytes, uint8_t* response, size_t& responseLength) { + const uint8_t payload[] = {0x3F, (uint8_t) (table >> 8), (uint8_t) table, 0, 0, 0, + (uint8_t) (bytes >> 8), (uint8_t) bytes}; + return request(payload, sizeof(payload), response, responseLength); +} + +bool C1218MeterCommunicator::request(const uint8_t* payload, size_t length, uint8_t* response, size_t& responseLength) { + if(!sendFrame(payload, length)) return false; + if(!receiveMessage(response, responseLength) || responseLength < 1 || response[0] != C1218_OK) return false; + memmove(response, response + 1, --responseLength); + return true; +} + +bool C1218MeterCommunicator::sendFrame(const uint8_t* payload, size_t length) { + if(length + 8 > FRAME_CAPACITY) return false; + uint8_t frame[FRAME_CAPACITY]; + frame[0] = C1218_START; + frame[1] = 0; + frame[2] = toggle ? 0x20 : 0; + frame[3] = 0; + frame[4] = length >> 8; + frame[5] = length; + memcpy(frame + 6, payload, length); + uint16_t crc = crc16_x25(frame, length + 6); + frame[length + 6] = crc >> 8; + frame[length + 7] = crc; + toggle = !toggle; + + for(uint8_t attempt = 0; attempt < 3; attempt++) { + discardInput(); + serial->write(frame, length + 8); + serial->flush(); + uint8_t reply = 0; + if(waitByte(reply) && reply == C1218_ACK) return true; + if(reply != C1218_NACK) delay(20); + } + return false; +} + +bool C1218MeterCommunicator::receiveMessage(uint8_t* response, size_t& responseLength) { + size_t capacity = responseLength; + responseLength = 0; + for(uint8_t packet = 0; packet < 16; packet++) { + uint8_t payload[FRAME_CAPACITY], control, sequence; + size_t length = sizeof(payload); + if(!receiveFrame(payload, length, control, sequence) || responseLength + length > capacity) return false; + memcpy(response + responseLength, payload, length); + responseLength += length; + if(!(control & 0x80) || sequence == 0) return true; + } + return false; +} + +bool C1218MeterCommunicator::receiveFrame(uint8_t* payload, size_t& payloadLength, uint8_t& control, uint8_t& sequence) { + uint8_t value; + do { + if(!waitByte(value)) return false; + } while(value != C1218_START); + + uint8_t frame[FRAME_CAPACITY]; + frame[0] = value; + if(!readExact(frame + 1, 5)) return false; + control = frame[2]; + sequence = frame[3]; + uint16_t length = (frame[4] << 8) | frame[5]; + if(length > payloadLength || length + 8 > sizeof(frame)) { serial->write(C1218_NACK); return false; } + if(!readExact(frame + 6, length + 2)) { serial->write(C1218_NACK); return false; } + uint16_t crc = crc16_x25(frame, length + 6); + if(frame[length + 6] != (uint8_t) (crc >> 8) || frame[length + 7] != (uint8_t) crc) { + serial->write(C1218_NACK); + return false; + } + memcpy(payload, frame + 6, length); + payloadLength = length; + serial->write(C1218_ACK); + serial->flush(); + return true; +} + +bool C1218MeterCommunicator::waitByte(uint8_t& value, uint32_t timeout) { + uint32_t start = millis(); + while(millis() - start < timeout) { + if(serial->available()) { value = serial->read(); return true; } + yield(); + delay(1); + } + return false; +} + +bool C1218MeterCommunicator::readExact(uint8_t* target, size_t length, uint32_t timeout) { + size_t offset = 0; + uint32_t start = millis(); + while(offset < length && millis() - start < timeout) { + while(serial->available() && offset < length) target[offset++] = serial->read(); + if(offset < length) { yield(); delay(1); } + } + return offset == length; +} + +void C1218MeterCommunicator::discardInput() { + while(serial->available()) serial->read(); +} + +void C1218MeterCommunicator::fail(const __FlashStringHelper* message) { + debugger->println(message); +} + +int32_t C1218MeterCommunicator::readInt32(const uint8_t* value) const { + uint32_t decoded = bigEndian + ? ((uint32_t) value[0] << 24) | ((uint32_t) value[1] << 16) | ((uint32_t) value[2] << 8) | value[3] + : value[0] | ((uint32_t) value[1] << 8) | ((uint32_t) value[2] << 16) | ((uint32_t) value[3] << 24); + return (int32_t) decoded; +} + +bool C1218MeterCommunicator::parseTable(const uint8_t* response, size_t responseLength, int32_t* values, size_t count) { + if(responseLength < 2) return false; + uint16_t length = (response[0] << 8) | response[1]; + if(length < count * 4 || responseLength < count * 4 + 2) return false; + for(size_t i = 0; i < count; i++) values[i] = readInt32(response + 2 + i * 4); + return true; +} + +#endif diff --git a/src/C1218MeterCommunicator.h b/src/C1218MeterCommunicator.h new file mode 100644 index 00000000..136e04ef --- /dev/null +++ b/src/C1218MeterCommunicator.h @@ -0,0 +1,76 @@ +/** + * ANSI C12.18 optical meter communicator. + * + * License: Fair Source + */ +#pragma once + +#if defined(ESP32) + +#include "MeterCommunicator.h" +#include "Timezone.h" + +class C1218MeterCommunicator : public MeterCommunicator { +public: +#if defined(AMS_REMOTE_DEBUG) + C1218MeterCommunicator(RemoteDebug* debugger, AmsConfiguration* config); +#else + C1218MeterCommunicator(Stream* debugger, AmsConfiguration* config); +#endif + ~C1218MeterCommunicator(); + + void configure(MeterConfig& config, Timezone* tz); + bool loop(); + AmsData* getData(AmsData& meterState); + int getLastError(); + bool isConfigChanged(); + void ackConfigChanged(); + void getCurrentConfig(MeterConfig& config); + HardwareSerial* getHwSerial(); + +private: + static const size_t FRAME_CAPACITY = 160; + static const size_t MESSAGE_CAPACITY = 192; + +#if defined(AMS_REMOTE_DEBUG) + RemoteDebug* debugger; +#else + Stream* debugger; +#endif + AmsConfiguration* config; + HardwareSerial* serial = &Serial1; + MeterConfig meterConfig = {}; + C1218Config c1218Config = {}; + + bool initialized = false; + bool sessionOpen = false; + bool updated = false; + bool bigEndian = false; + bool toggle = false; + uint8_t failures = 0; + int lastError = 0; + uint64_t nextPoll = 0; + uint64_t sessionStarted = 0; + int32_t table23[2] = {}; + int32_t table28[26] = {}; + size_t table28Values = 0; + + void resetSerial(); + bool openSession(); + void closeSession(); + bool poll(); + bool request(const uint8_t* payload, size_t length, uint8_t* response, size_t& responseLength); + bool sendFrame(const uint8_t* payload, size_t length); + bool receiveMessage(uint8_t* response, size_t& responseLength); + bool receiveFrame(uint8_t* payload, size_t& payloadLength, uint8_t& control, uint8_t& sequence); + bool readTable(uint16_t table, uint8_t* response, size_t& responseLength); + bool readPartialTable(uint16_t table, uint16_t length, uint8_t* response, size_t& responseLength); + bool waitByte(uint8_t& value, uint32_t timeout = 2000); + bool readExact(uint8_t* target, size_t length, uint32_t timeout = 2000); + void discardInput(); + void fail(const __FlashStringHelper* message); + int32_t readInt32(const uint8_t* value) const; + bool parseTable(const uint8_t* response, size_t responseLength, int32_t* values, size_t count); +}; + +#endif diff --git a/ui/dist/index.css b/ui/dist/index.css index f45e6e34..c9d9127c 100644 --- a/ui/dist/index.css +++ b/ui/dist/index.css @@ -1 +1 @@ -*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{color:inherit;border-top-width:1px;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=button]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=reset]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre,fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{color:#9ca3af;opacity:1}textarea::-moz-placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where(:not([type])){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=date]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=datetime-local]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=email]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=month]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=number]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=password]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=search]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=tel]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=text]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=time]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=url]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=week]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}select:where([multiple]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where(:not([type])):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=date]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=datetime-local]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=email]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=month]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=number]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=password]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=search]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=tel]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=text]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=time]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=url]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=week]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}select:where([multiple]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input::-moz-placeholder{color:#6b7280;opacity:1}textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}select:where([multiple]){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;-webkit-print-color-adjust:unset;print-color-adjust:unset;padding-right:.75rem}select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;-webkit-print-color-adjust:unset;print-color-adjust:unset;padding-right:.75rem}input:where([type=checkbox]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;color:#2563eb;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;background-color:#fff;background-origin:border-box;border-width:1px;border-color:#6b7280;flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}input:where([type=radio]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;color:#2563eb;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;background-color:#fff;background-origin:border-box;border-width:1px;border-color:#6b7280;flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;outline:2px solid #0000}input:where([type=radio]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;outline:2px solid #0000}input:where([type=checkbox]):checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}input:where([type=radio]):checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}@media (forced-colors:active){input:where([type=checkbox]):checked{-webkit-appearance:auto;appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active){input:where([type=radio]):checked{-webkit-appearance:auto;appearance:auto}}input:where([type=checkbox]):checked:focus{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):checked:hover{background-color:currentColor;border-color:#0000}input:where([type=radio]):checked:focus{background-color:currentColor;border-color:#0000}input:where([type=radio]):checked:hover{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}@media (forced-colors:active){input:where([type=checkbox]):indeterminate{-webkit-appearance:auto;appearance:auto}}input:where([type=checkbox]):indeterminate:focus{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):indeterminate:hover{background-color:currentColor;border-color:#0000}input:where([type=file]){background:unset;border-color:inherit;font-size:unset;line-height:inherit;border-width:0;border-radius:0;padding:0}input:where([type=file]):focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.inset-0{top:0;bottom:0;left:0;right:0}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.float-right{float:right}.clear-both{clear:both}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-auto{margin-top:auto;margin-bottom:auto}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-6{height:1.5rem}.h-64{height:16rem}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-2\/3{width:66.6667%}.w-40{width:10rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-96{width:24rem}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.truncate{text-overflow:ellipsis;overflow:hidden}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:.5}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-5{padding-left:1.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.capitalize{text-transform:capitalize}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hdr{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1));border-radius:.375rem;margin-left:.5rem;margin-right:.5rem;padding:.25rem}.hdr:is(.dark *){--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.logo{width:2rem;height:2rem}.cnt{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-radius:.25rem;margin:.5rem;padding:.5rem}.cnt:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow-color:#111827;--tw-shadow:var(--tw-shadow-colored);--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f);background-color:rgb(31 41 55/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.cnt{min-height:268px}.gwf{height:16rem}@media (min-width:640px){.gwf{grid-column:span 2/span 2}}@media (min-width:768px){.gwf{grid-column:span 3/span 3}}@media (min-width:1024px){.gwf{grid-column:span 4/span 4}}@media (min-width:1280px){.gwf{grid-column:span 5/span 5}}@media (min-width:1536px){.gwf{grid-column:span 6/span 6}}.in-pre{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));border-color:rgb(209 213 219/var(--tw-border-opacity,1));white-space:nowrap;border-width:1px 0 1px 1px;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;align-items:center;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;display:flex}.in-pre:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.in-post{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));border-color:rgb(209 213 219/var(--tw-border-opacity,1));white-space:nowrap;border-width:1px 1px 1px 0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;align-items:center;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;display:flex}.in-post:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.in-txt{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);height:2.5rem}.in-txt:disabled{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));cursor:not-allowed}.in-txt:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-txt:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-txt:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-f{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;height:2.5rem}.in-f:disabled{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));cursor:not-allowed}.in-f:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-f:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-f:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-f:default,.in-f:disabled{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.in-f:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.in-f:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.in-f:default:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.in-m{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-left-width:0;height:2.5rem}.in-m:disabled{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));cursor:not-allowed}.in-m:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-m:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-m:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-l{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-left-width:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;height:2.5rem}.in-l:disabled{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));cursor:not-allowed}.in-l:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-l:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-l:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-l:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 255 255/var(--tw-placeholder-opacity,1))}.in-l:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 255 255/var(--tw-placeholder-opacity,1))}.in-s{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-radius:.375rem;width:100%;height:2.5rem}.in-s:disabled{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));cursor:not-allowed}.in-s:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-s:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-s:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-s::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.in-s:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.in-er{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.in-er:is(.dark *){--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.tr{text-align:right}.bd-green{background-color:rgb(22 163 74/var(--tw-bg-opacity,1));color:rgb(220 252 231/var(--tw-text-opacity,1))}.bd-green,.bd-yellow{--tw-bg-opacity:1;--tw-text-opacity:1;border-radius:.25rem;margin-top:auto;margin-bottom:auto;margin-right:.5rem;padding:.125rem .625rem;font-size:.75rem;font-weight:600;line-height:1rem}.bd-yellow{background-color:rgb(202 138 4/var(--tw-bg-opacity,1));color:rgb(254 249 195/var(--tw-text-opacity,1))}.bd-red{background-color:rgb(220 38 38/var(--tw-bg-opacity,1));color:rgb(254 226 226/var(--tw-text-opacity,1))}.bd-blue,.bd-red{--tw-bg-opacity:1;--tw-text-opacity:1;border-radius:.25rem;margin-top:auto;margin-bottom:auto;margin-right:.5rem;padding:.125rem .625rem;font-size:.75rem;font-weight:600;line-height:1rem}.bd-blue{background-color:rgb(37 99 235/var(--tw-bg-opacity,1));color:rgb(219 234 254/var(--tw-text-opacity,1))}.bd-gray{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1));color:rgb(243 244 246/var(--tw-text-opacity,1));border-radius:.25rem;margin-top:auto;margin-bottom:auto;margin-right:.5rem;padding:.125rem .625rem;font-size:.75rem;font-weight:600;line-height:1rem}.bd-on{background-color:rgb(22 163 74/var(--tw-bg-opacity,1));color:rgb(220 252 231/var(--tw-text-opacity,1))}.bd-off,.bd-on{--tw-bg-opacity:1;--tw-text-opacity:1;border-radius:.25rem;margin-top:auto;margin-bottom:auto;margin-right:.25rem;padding:.125rem .25rem;font-size:.75rem;font-weight:600;line-height:1rem}.bd-off{background-color:rgb(75 85 99/var(--tw-bg-opacity,1));color:rgb(243 244 246/var(--tw-text-opacity,1))}.btn-pri{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));border-radius:.25rem;margin-right:.75rem;padding:.5rem 1rem}.btn-red{background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.btn-red,.btn-yellow{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));border-radius:.25rem;margin-left:.5rem;padding:.5rem 1rem}.btn-yellow{background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.btn-pri-sm{background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.btn-pri-sm,.btn-yellow-sm{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));border-radius:.25rem;margin-right:.75rem;padding:.25rem .5rem;font-size:.75rem;line-height:1rem}.btn-yellow-sm{background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.pl-root{position:relative}.pl-ov{text-align:center;width:50%;position:absolute;top:27%;left:25%}.pl-val{font-size:1.7rem}.pl-unt{color:gray;font-size:1rem}.pl-unt:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.pl-sub{padding-top:10px;font-size:1rem}.pl-snt{color:gray;font-size:.7rem}.pl-snt:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.pl-lab{font-size:1rem}.chart{width:100%;height:100%;margin:0 auto}svg{width:100%;position:relative}.tick{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));font-family:Helvetica,Arial;font-size:.85em;font-weight:200}.tick:is(.dark *){fill:#fff}.tick line{stroke:#e2e2e2;stroke-dasharray:2}.tick text{fill:#666;text-anchor:start}.tick text:is(.dark *){fill:#fff}.tick.tick-0 line{stroke-dasharray:0}.tick.tick-green line{stroke:#23ac05!important}.tick.tick-green text{fill:#23ac05!important}.tick.tick-orange line{stroke:#b19601!important}.tick.tick-orange text{fill:#b19601!important}.x-axis .tick text{text-anchor:middle}.bars rect{stroke:#000;stroke-opacity:.25;opacity:.9}.bars text{text-align:center;font-family:Helvetica,Arial;font-size:.85em;display:block}.tooltip{background:#fff;border:1px solid #ddd;border-radius:4px;padding:4px;position:absolute}.tooltip:after{content:"";border:9px solid #0000;border-top-color:#ddd;margin-left:-9px;position:absolute;top:100%;left:50%}.link{cursor:pointer}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-opacity-80:is(.dark *){--tw-bg-opacity:.8}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1536px){.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}} +*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{color:inherit;border-top-width:1px;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=button]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=reset]){-webkit-appearance:button;background-color:#0000;background-image:none}input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre,fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{color:#9ca3af;opacity:1}textarea::-moz-placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where(:not([type])){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=date]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=datetime-local]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=email]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=month]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=number]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=password]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=search]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=tel]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=text]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=time]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=url]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=week]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}select:where([multiple]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where(:not([type])):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=date]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=datetime-local]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=email]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=month]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=number]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=password]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=search]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=tel]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=text]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=time]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=url]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input:where([type=week]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}select:where([multiple]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;border-color:#2563eb;outline:2px solid #0000}input::-moz-placeholder{color:#6b7280;opacity:1}textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}select:where([multiple]){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;-webkit-print-color-adjust:unset;print-color-adjust:unset;padding-right:.75rem}select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;-webkit-print-color-adjust:unset;print-color-adjust:unset;padding-right:.75rem}input:where([type=checkbox]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;color:#2563eb;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;background-color:#fff;background-origin:border-box;border-width:1px;border-color:#6b7280;flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}input:where([type=radio]){--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;color:#2563eb;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;background-color:#fff;background-origin:border-box;border-width:1px;border-color:#6b7280;flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;outline:2px solid #0000}input:where([type=radio]):focus{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline-offset:2px;outline:2px solid #0000}input:where([type=checkbox]):checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}input:where([type=radio]):checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}@media (forced-colors:active){input:where([type=checkbox]):checked{-webkit-appearance:auto;appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active){input:where([type=radio]):checked{-webkit-appearance:auto;appearance:auto}}input:where([type=checkbox]):checked:focus{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):checked:hover{background-color:currentColor;border-color:#0000}input:where([type=radio]):checked:focus{background-color:currentColor;border-color:#0000}input:where([type=radio]):checked:hover{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}@media (forced-colors:active){input:where([type=checkbox]):indeterminate{-webkit-appearance:auto;appearance:auto}}input:where([type=checkbox]):indeterminate:focus{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):indeterminate:hover{background-color:currentColor;border-color:#0000}input:where([type=file]){background:unset;border-color:inherit;font-size:unset;line-height:inherit;border-width:0;border-radius:0;padding:0}input:where([type=file]):focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.inset-0{top:0;bottom:0;left:0;right:0}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.float-right{float:right}.clear-both{clear:both}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-auto{margin-top:auto;margin-bottom:auto}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-6{height:1.5rem}.h-64{height:16rem}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-2\/3{width:66.6667%}.w-40{width:10rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-96{width:24rem}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.truncate{text-overflow:ellipsis;overflow:hidden}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:.5}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-5{padding-left:1.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.capitalize{text-transform:capitalize}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hdr{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1));border-radius:.375rem;margin-left:.5rem;margin-right:.5rem;padding:.25rem}.hdr:is(.dark *){--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity,1))}.logo{width:2rem;height:2rem}.cnt{--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);background-color:rgb(255 255 255/var(--tw-bg-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-radius:.25rem;margin:.5rem;padding:.5rem}.cnt:is(.dark *){--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow-color:#111827;--tw-shadow:var(--tw-shadow-colored);--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f);background-color:rgb(31 41 55/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.cnt{min-height:268px}.gwf{height:16rem}@media (min-width:640px){.gwf{grid-column:span 2/span 2}}@media (min-width:768px){.gwf{grid-column:span 3/span 3}}@media (min-width:1024px){.gwf{grid-column:span 4/span 4}}@media (min-width:1280px){.gwf{grid-column:span 5/span 5}}@media (min-width:1536px){.gwf{grid-column:span 6/span 6}}.in-pre{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));border-color:rgb(209 213 219/var(--tw-border-opacity,1));white-space:nowrap;border-width:1px 0 1px 1px;border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;align-items:center;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;display:flex}.in-pre:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.in-post{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1));border-color:rgb(209 213 219/var(--tw-border-opacity,1));white-space:nowrap;border-width:1px 1px 1px 0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;align-items:center;padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;display:flex}.in-post:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.in-txt{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);height:2.5rem}.in-txt:disabled{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));cursor:not-allowed}.in-txt:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-txt:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-txt:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-f{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;height:2.5rem}.in-f:disabled{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));cursor:not-allowed}.in-f:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-f:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-f:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-f:default,.in-f:disabled{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.in-f:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.in-f:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.in-f:default:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.in-m{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-left-width:0;height:2.5rem}.in-m:disabled{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));cursor:not-allowed}.in-m:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-m:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-m:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-l{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-left-width:0;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;height:2.5rem}.in-l:disabled{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));cursor:not-allowed}.in-l:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:rgb(255 255 255/var(--tw-text-opacity,1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-l:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-l:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-l:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(255 255 255/var(--tw-placeholder-opacity,1))}.in-l:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(255 255 255/var(--tw-placeholder-opacity,1))}.in-s{--tw-border-opacity:1;--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);border-color:rgb(209 213 219/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-radius:.375rem;width:100%;height:2.5rem}.in-s:disabled{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));cursor:not-allowed}.in-s:is(.dark *){--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);background-color:rgb(55 65 81/var(--tw-bg-opacity,1));border-color:rgb(31 41 55/var(--tw-border-opacity,1));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);border-width:1px}.in-s:focus:is(.dark *){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.in-s:disabled:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.in-s::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.in-s:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.in-er{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.in-er:is(.dark *){--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.tr{text-align:right}.bd-green{background-color:rgb(22 163 74/var(--tw-bg-opacity,1));color:rgb(220 252 231/var(--tw-text-opacity,1))}.bd-green,.bd-yellow{--tw-bg-opacity:1;--tw-text-opacity:1;border-radius:.25rem;margin-top:auto;margin-bottom:auto;margin-right:.5rem;padding:.125rem .625rem;font-size:.75rem;font-weight:600;line-height:1rem}.bd-yellow{background-color:rgb(202 138 4/var(--tw-bg-opacity,1));color:rgb(254 249 195/var(--tw-text-opacity,1))}.bd-red{background-color:rgb(220 38 38/var(--tw-bg-opacity,1));color:rgb(254 226 226/var(--tw-text-opacity,1))}.bd-blue,.bd-red{--tw-bg-opacity:1;--tw-text-opacity:1;border-radius:.25rem;margin-top:auto;margin-bottom:auto;margin-right:.5rem;padding:.125rem .625rem;font-size:.75rem;font-weight:600;line-height:1rem}.bd-blue{background-color:rgb(37 99 235/var(--tw-bg-opacity,1));color:rgb(219 234 254/var(--tw-text-opacity,1))}.bd-gray{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1));color:rgb(243 244 246/var(--tw-text-opacity,1));border-radius:.25rem;margin-top:auto;margin-bottom:auto;margin-right:.5rem;padding:.125rem .625rem;font-size:.75rem;font-weight:600;line-height:1rem}.bd-on{background-color:rgb(22 163 74/var(--tw-bg-opacity,1));color:rgb(220 252 231/var(--tw-text-opacity,1))}.bd-off,.bd-on{--tw-bg-opacity:1;--tw-text-opacity:1;border-radius:.25rem;margin-top:auto;margin-bottom:auto;margin-right:.25rem;padding:.125rem .25rem;font-size:.75rem;font-weight:600;line-height:1rem}.bd-off{background-color:rgb(75 85 99/var(--tw-bg-opacity,1));color:rgb(243 244 246/var(--tw-text-opacity,1))}.btn-pri{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1));color:rgb(255 255 255/var(--tw-text-opacity,1));border-radius:.25rem;margin-right:.75rem;padding:.5rem 1rem}.btn-red{background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.btn-red,.btn-yellow{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));border-radius:.25rem;margin-left:.5rem;padding:.5rem 1rem}.btn-yellow{background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.btn-pri-sm{background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.btn-pri-sm,.btn-yellow-sm{--tw-bg-opacity:1;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));border-radius:.25rem;margin-right:.75rem;padding:.25rem .5rem;font-size:.75rem;line-height:1rem}.btn-yellow-sm{background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.pl-root{position:relative}.pl-ov{text-align:center;width:50%;position:absolute;top:27%;left:25%}.pl-val{font-size:1.7rem}.pl-unt{color:gray;font-size:1rem}.pl-unt:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.pl-sub{padding-top:10px;font-size:1rem}.pl-snt{color:gray;font-size:.7rem}.pl-snt:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.pl-lab{font-size:1rem}.chart{width:100%;height:100%;margin:0 auto}svg{width:100%;position:relative}.tick{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));font-family:Helvetica,Arial;font-size:.85em;font-weight:200}.tick:is(.dark *){fill:#fff}.tick line{stroke:#e2e2e2;stroke-dasharray:2}.tick text{fill:#666;text-anchor:start}.tick text:is(.dark *){fill:#fff}.tick.tick-0 line{stroke-dasharray:0}.tick.tick-green line{stroke:#23ac05!important}.tick.tick-green text{fill:#23ac05!important}.tick.tick-orange line{stroke:#b19601!important}.tick.tick-orange text{fill:#b19601!important}.x-axis .tick text{text-anchor:middle}.bars rect{stroke:#000;stroke-opacity:.25;opacity:.9}.bars text{text-align:center;font-family:Helvetica,Arial;font-size:.85em;display:block}.tooltip{background:#fff;border:1px solid #ddd;border-radius:4px;padding:4px;position:absolute}.tooltip:after{content:"";border:9px solid #0000;border-top-color:#ddd;margin-left:-9px;position:absolute;top:100%;left:50%}.link{cursor:pointer}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-opacity-80:is(.dark *){--tw-bg-opacity:.8}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1536px){.\32 xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}} diff --git a/ui/dist/index.js b/ui/dist/index.js index 12109bc6..db6ce001 100644 --- a/ui/dist/index.js +++ b/ui/dist/index.js @@ -1,5 +1,5 @@ -var qu=Object.create,nv=Object.defineProperty,Mu=Object.getOwnPropertyDescriptor,Eu=Object.getOwnPropertyNames,Tu=Object.getPrototypeOf,Au=Object.prototype.hasOwnProperty,Pu=(t,n)=>()=>(n||(t((n={exports:{}}).exports,n),t=null),n.exports),Ou=(t,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(var s=Eu(n),f=0,i=s.length,d;fn[g]).bind(null,d),enumerable:!(a=Mu(n,d))||a.enumerable});return t},Cu=(t,n,r)=>(r=t!=null?qu(Tu(t)):{},Ou(n||!t||!t.__esModule?nv(r,"default",{value:t,enumerable:!0}):r,t));(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const f of s)if(f.type==="childList")for(const i of f.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&a(i)}).observe(document,{childList:!0,subtree:!0});function r(s){const f={};return s.integrity&&(f.integrity=s.integrity),s.referrerPolicy&&(f.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?f.credentials="include":s.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function a(s){if(s.ep)return;s.ep=!0;const f=r(s);fetch(s.href,f)}})();var Ai=Array.isArray,Nu=Array.prototype.indexOf,no=Array.prototype.includes,xo=Array.from,nl=Object.keys,iv=Object.defineProperty,Ba=Object.getOwnPropertyDescriptor,ov=Object.getOwnPropertyDescriptors,Lu=Object.prototype,Du=Array.prototype,Es=Object.getPrototypeOf,il=Object.isExtensible;function oi(t){return typeof t=="function"}var gn=()=>{};function Ru(t){return t()}function io(t){for(var n=0;n{t=r,n=a}),resolve:t,reject:n}}function $i(t){"@babel/helpers - typeof";return $i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},$i(t)}function ju(t,n){if($i(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var a=r.call(t,n||"default");if($i(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function Fu(t){var n=ju(t,"string");return $i(n)=="symbol"?n:n+""}function nr(t,n,r){return(n=Fu(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}var $1=1<<24,pa=1024,xa=2048,tn=4096,Ts=8192,Iu=16384,As=32768,ol=1<<25,yo=65536,S1=1<<17,q1=1<<18,Jn=1<<19,lv=1<<20,bi=1<<25,Pi=65536,sl=1<<21,Wu=1<<22,oo=1<<23,La=Symbol("$state"),Ps=Symbol("legacy props"),Bu=Symbol(""),Uu=Symbol("proxy path"),es=Symbol("attributes"),ts=Symbol("class"),rs=Symbol("style"),Qi=Symbol("text"),xi=Symbol("form reset");var wo=new class extends Error{constructor(...n){super(...n),nr(this,"name","StaleReactionError"),nr(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},vv=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function ko(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Hu(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function zu(t,n,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Yu(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Gu(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ku(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Vu(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Xu(){throw new Error("https://svelte.dev/e/hydration_failed")}function Qu(t){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Zu(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ju(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ec(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function tc(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function rc(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}var Vn={},qr=Symbol("uninitialized");function ac(){console.warn("https://svelte.dev/e/derived_inert")}function $o(t){console.warn("https://svelte.dev/e/hydration_mismatch")}function nc(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ic(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}var it=!1;function oa(t){it=t}var wt;function Fr(t){if(t===null)throw $o(),Vn;return wt=t}function Oi(){return Fr(Ra(wt))}function u(t){if(it){if(Ra(wt)!==null)throw $o(),Vn;wt=t}}function Rr(t=1){if(it){for(var n=t,r=wt;n--;)r=Ra(r);wt=r}}function Si(t=!0){for(var n=0,r=wt;;){if(r.nodeType===8){var a=r.data;if(a==="]"){if(n===0)return r;n-=1}else(a==="["||a==="[!"||a[0]==="["&&!isNaN(Number(a.slice(1))))&&(n+=1)}var s=Ra(r);t&&r.remove(),r=s}}function Os(t){if(!t||t.nodeType!==8)throw $o(),Vn;return t.data}function uv(t){return t===this.v}function Cs(t,n){return t!=t?n==n:t!==n||t!==null&&typeof t=="object"||typeof t=="function"}function cv(t){return!Cs(t,this.v)}var ha=!1,ei=!1;function oc(){ei=!0}function ll(t,n){return t.label=n,sc(t.v,n),t}function sc(t,n){return t?.[Uu]?.(n),t}var Pt=null;function Xn(t){Pt=t}function bt(t,n=!1,r){Pt={p:Pt,i:!1,c:null,e:null,s:t,x:null,r:ot,l:ei&&!n?{s:null,u:null,$:[]}:null}}function xt(t){var n=Pt,r=n.e;if(r!==null){n.e=null;for(var a of r)Iv(a)}return t!==void 0&&(n.x=t),n.i=!0,Pt=n.p,t??{}}function Ci(){return!ei||Pt!==null&&Pt.l===null}var cn=[];function fv(){var t=cn;cn=[],io(t)}function Ha(t){if(cn.length===0&&!yi){var n=cn;queueMicrotask(()=>{n===cn&&fv()})}cn.push(t)}function lc(){for(;cn.length>0;)fv()}function dv(t){var n=ot;if(n===null)return yt.f|=oo,t;if((n.f&32768)===0&&(n.f&4)===0)throw t;Za(t,n)}function Za(t,n){if(!(n!==null&&(n.f&16384)!==0)){for(;n!==null;){if((n.f&128)!==0){if((n.f&32768)===0)throw t;try{n.b.error(t);return}catch(r){t=r}}n=n.parent}throw t}}var vc=~(xa|tn|pa);function fr(t,n){t.f=t.f&vc|n}function Ns(t){(t.f&512)!==0||t.deps===null?fr(t,pa):fr(t,tn)}function _v(t){if(t!==null)for(const n of t)(n.f&2)===0||(n.f&65536)===0||(n.f^=Pi,_v(n.deps))}function pv(t,n,r){(t.f&2048)!==0?n.add(t):(t.f&4096)!==0&&r.add(t),_v(t.deps),fr(t,pa)}function uc(t,n,r){if(t==null)return n(void 0),r&&r(void 0),gn;const a=l(()=>t.subscribe(n,r));return a.unsubscribe?()=>a.unsubscribe():a}var Rn=[];function Ls(t,n){return{subscribe:Jr(t,n).subscribe}}function Jr(t,n=gn){let r=null;const a=new Set;function s(d){if(Cs(t,d)&&(t=d,r)){const g=!Rn.length;for(const p of a)p[1](),Rn.push(p,t);if(g){for(let p=0;p{a.delete(p),a.size===0&&r&&(r(),r=null)}}return{set:s,update:f,subscribe:i}}function hv(t,n,r){const a=!Array.isArray(t),s=a?[t]:t;if(!s.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const f=n.length<2;return Ls(r,(i,d)=>{let g=!1;const p=[];let S=0,o=gn;const m=()=>{if(S)return;o();const b=n(a?p[0]:p,i,d);f?i(b):o=typeof b=="function"?b:gn},k=s.map((b,A)=>uc(b,P=>{p[A]=P,S&=~(1<{S|=1<{Bs()&&(e(r),Ya(()=>(n===0&&(a=l(()=>t(()=>wi(r)))),n+=1,()=>{Ha(()=>{n-=1,n===0&&(a?.(),a=void 0,wi(r))})})))}}function mv(t,n){if(n.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Ds(t,n){mv(t,n),n.add(t)}function et(t,n,r){mv(t,n),n.set(t,r)}function _t(t,n,r){if(typeof t=="function"?t===n:t.has(n))return arguments.length<3?n:r;throw new TypeError("Private element is not present on this object")}function Ke(t,n,r){return t.set(_t(t,n),r),r}function L(t,n){return t.get(_t(t,n))}var _c=yo|Jn;function pc(t,n,r,a){new hc(t,n,r,a)}var $a=new WeakMap,as=new WeakMap,Na=new WeakMap,qi=new WeakMap,ca=new WeakMap,Da=new WeakMap,sa=new WeakMap,wa=new WeakMap,bn=new WeakMap,In=new WeakMap,xn=new WeakMap,Ii=new WeakMap,ns=new WeakMap,is=new WeakMap,nn=new WeakMap,vl=new WeakMap,Ur=new WeakSet,hc=class{constructor(t,n,r,a){Ds(this,Ur),nr(this,"parent",void 0),nr(this,"is_pending",!1),nr(this,"transform_error",void 0),et(this,$a,void 0),et(this,as,it?wt:null),et(this,Na,void 0),et(this,qi,void 0),et(this,ca,void 0),et(this,Da,null),et(this,sa,null),et(this,wa,null),et(this,bn,null),et(this,In,0),et(this,xn,0),et(this,Ii,!1),et(this,ns,new Set),et(this,is,new Set),et(this,nn,null),et(this,vl,dc(()=>(Ke(nn,this,Mn(L(In,this))),()=>{Ke(nn,this,null)}))),Ke($a,this,t),Ke(Na,this,n),Ke(qi,this,s=>{var f=ot;f.b=this,f.f|=128,r(s)}),this.parent=ot.b,this.transform_error=a??this.parent?.transform_error??(s=>s),Ke(ca,this,Ao(()=>{if(it){const s=L(as,this);Oi();const f=s.data==="[!";if(s.data.startsWith("[?")){const i=JSON.parse(s.data.slice(2));_t(Ur,this,gc).call(this,i)}else f?_t(Ur,this,bc).call(this):_t(Ur,this,mc).call(this)}else _t(Ur,this,gv).call(this)},_c)),it&&Ke($a,this,wt)}defer_effect(t){pv(t,L(ns,this),L(is,this))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!L(Na,this).pending}update_pending_count(t,n){_t(Ur,this,bv).call(this,t,n),Ke(In,this,L(In,this)+t),!(!L(nn,this)||L(Ii,this))&&(Ke(Ii,this,!0),Ha(()=>{Ke(Ii,this,!1),L(nn,this)&&En(L(nn,this),L(In,this))}))}get_effect_pending(){return L(vl,this).call(this),e(L(nn,this))}error(t){if(!L(Na,this).onerror&&!L(Na,this).failed)throw t;Qe?.is_fork?(L(Da,this)&&Qe.skip_effect(L(Da,this)),L(sa,this)&&Qe.skip_effect(L(sa,this)),L(wa,this)&&Qe.skip_effect(L(wa,this)),Qe.oncommit(()=>{_t(Ur,this,ul).call(this,t)})):_t(Ur,this,ul).call(this,t)}};function mc(){try{Ke(Da,this,ma(()=>L(qi,this).call(this,L($a,this))))}catch(t){this.error(t)}}function gc(t){const n=L(Na,this).failed;n&&Ke(wa,this,ma(()=>{n(L($a,this),()=>t,()=>()=>{})}))}function bc(){const t=L(Na,this).pending;t&&(this.is_pending=!0,Ke(sa,this,ma(()=>t(L($a,this)))),Ha(()=>{var n=Ke(bn,this,document.createDocumentFragment()),r=Zr();n.append(r),Ke(Da,this,_t(Ur,this,os).call(this,()=>ma(()=>L(qi,this).call(this,r)))),L(xn,this)===0&&(L($a,this).before(n),Ke(bn,this,null),Pn(L(sa,this),()=>{Ke(sa,this,null)}),_t(Ur,this,Rs).call(this,Qe))}))}function gv(){try{if(this.is_pending=this.has_pending_snippet(),Ke(xn,this,0),Ke(In,this,0),Ke(Da,this,ma(()=>{L(qi,this).call(this,L($a,this))})),L(xn,this)>0){var t=Ke(bn,this,document.createDocumentFragment());Hs(L(Da,this),t);const n=L(Na,this).pending;Ke(sa,this,ma(()=>n(L($a,this))))}else _t(Ur,this,Rs).call(this,Qe)}catch(n){this.error(n)}}function Rs(t){this.is_pending=!1,t.transfer_effects(L(ns,this),L(is,this))}function os(t){var n=ot,r=yt,a=Pt;ba(L(ca,this)),ga(L(ca,this)),Xn(L(ca,this).ctx);try{return An.ensure(),t()}catch(s){return dv(s),null}finally{ba(n),ga(r),Xn(a)}}function bv(t,n){if(!this.has_pending_snippet()){if(this.parent){var r;_t(Ur,r=this.parent,bv).call(r,t,n)}return}Ke(xn,this,L(xn,this)+t),L(xn,this)===0&&(_t(Ur,this,Rs).call(this,n),L(sa,this)&&Pn(L(sa,this),()=>{Ke(sa,this,null)}),L(bn,this)&&(L($a,this).before(L(bn,this)),Ke(bn,this,null)))}function ul(t){L(Da,this)&&(Yr(L(Da,this)),Ke(Da,this,null)),L(sa,this)&&(Yr(L(sa,this)),Ke(sa,this,null)),L(wa,this)&&(Yr(L(wa,this)),Ke(wa,this,null)),it&&(Fr(L(as,this)),Rr(),Fr(Si()));var n=L(Na,this).onerror;let r=L(Na,this).failed;var a=!1,s=!1;const f=()=>{if(a){ic();return}a=!0,s&&rc(),L(wa,this)!==null&&Pn(L(wa,this),()=>{Ke(wa,this,null)}),_t(Ur,this,os).call(this,()=>{_t(Ur,this,gv).call(this)})},i=d=>{try{s=!0,n?.(d,f),s=!1}catch(g){Za(g,L(ca,this)&&L(ca,this).parent)}r&&Ke(wa,this,_t(Ur,this,os).call(this,()=>{try{return ma(()=>{var g=ot;g.b=this,g.f|=128,r(L($a,this),()=>d,()=>f)})}catch(g){return Za(g,L(ca,this).parent),null}}))};Ha(()=>{var d;try{d=this.transform_error(t)}catch(g){Za(g,L(ca,this)&&L(ca,this).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(i,g=>Za(g,L(ca,this)&&L(ca,this).parent)):i(d)})}function xc(t,n,r,a){const s=Ci()?Qn:Ce;var f=t.filter(k=>!k.settled),i=n.map(s);if(r.length===0&&f.length===0){a(i);return}var d=ot,g=yc(),p=f.length===1?f[0].promise:f.length>1?Promise.all(f.map(k=>k.promise)):null;function S(k){if((d.f&16384)===0){g();try{a([...i,...k])}catch(b){Za(b,d)}so()}}var o=xv();if(r.length===0){p.then(()=>S([])).finally(o);return}function m(){Promise.all(r.map(k=>wc(k))).then(S).catch(k=>Za(k,d)).finally(o)}p?p.then(()=>{g(),m(),so()}):m()}function yc(){var t=ot,n=yt,r=Pt,a=Qe;if(0)var s;return function(i=!0){ba(t),ga(n),Xn(r),i&&(t.f&16384)===0&&(a?.activate(),a?.apply())}}function so(t=!0){ba(null),ga(null),Xn(null),t&&Qe?.deactivate()}function xv(){var t=ot,n=t.b,r=Qe,a=!!n?.is_rendered();return n?.update_pending_count(1,r),r.increment(a,t),()=>{n?.update_pending_count(-1,r),r.decrement(a,t)}}function Qn(t){var n=2|xa;return ot!==null&&(ot.f|=Jn),{ctx:Pt,deps:null,effects:null,equals:uv,f:n,fn:t,reactions:null,rv:0,v:qr,wv:0,parent:ot,ac:null}}var fi=Symbol("obsolete");function wc(t,n,r){let a=ot;a===null&&Hu();var s=void 0,f=Mn(qr),i=!yt,d=new Set;return Ic(()=>{var g=ot,p=sv();s=p.promise;try{Promise.resolve(t()).then(p.resolve,k=>{k!==wo&&p.reject(k)}).finally(so)}catch(k){p.reject(k),so()}var S=Qe;if(i){if((g.f&32768)!==0)var o=xv();if(a.b?.is_rendered())S.async_deriveds.get(g)?.reject(fi);else for(const k of d.values())k.reject(fi);d.add(p),S.async_deriveds.set(g,p)}const m=(k,b=void 0)=>{o?.(),d.delete(p),b!==fi&&(S.activate(),b?(f.f|=oo,En(f,b)):((f.f&8388608)!==0&&(f.f^=oo),En(f,k)),S.deactivate())};p.promise.then(m,k=>m(null,k||"unknown"))}),Eo(()=>{for(const g of d)g.reject(fi)}),new Promise(g=>{function p(S){function o(){S===s?g(f):p(s)}S.then(o,o)}p(s)})}function Yt(t){const n=Qn(t);return ha||zv(n),n}function Ce(t){const n=Qn(t);return n.equals=cv,n}function kc(t){var n=t.effects;if(n!==null){t.effects=null;for(var r=0;rthis.schedule(a)){var a=L(Qa,this).get(n);if(a){L(Qa,this).delete(n);for(var s of a.d)fr(s,xa),r(s);for(s of a.m)fr(s,tn),r(s)}L(Zi,this).add(n)}capture(n,r,a=!1){n.v!==qr&&!this.previous.has(n)&&this.previous.set(n,n.v),(n.f&8388608)===0&&(this.current.set(n,[r,a]),zr?.set(n,r)),this.is_fork||(n.v=r)}activate(){Qe=this}deactivate(){Qe=null,zr=null}flush(){try{jo=!0,Qe=this,_t(hr,this,fo).call(this)}finally{$v=0,ss=null,Zn=null,vo=null,jo=!1,Qe=null,zr=null,wn.clear()}}discard(){for(const n of L(Wi,this))n(this);L(Wi,this).clear();for(const n of this.async_deriveds.values())n.reject(fi);_t(hr,this,_o).call(this),L(di,this)?.resolve()}register_created_effect(n){L(ls,this).push(n)}increment(n,r){if(Ke(Bn,this,L(Bn,this)+1),n){let a=L(ln,this).get(r)??0;L(ln,this).set(r,a+1)}}decrement(n,r){if(Ke(Bn,this,L(Bn,this)-1),n){let a=L(ln,this).get(r)??0;a===1?L(ln,this).delete(r):L(ln,this).set(r,a-1)}L(_i,this)||(Ke(_i,this,!0),Ha(()=>{Ke(_i,this,!1),this.linked&&this.flush()}))}transfer_effects(n,r){for(const a of n)L(qn,this).add(a);for(const a of r)L(Ua,this).add(a);n.clear(),r.clear()}oncommit(n){L(co,this).add(n)}ondiscard(n){L(Wi,this).add(n)}settled(){return(L(di,this)??Ke(di,this,sv())).promise}static ensure(){if(Qe===null){const n=Qe=new Sv;!jo&&!yi&&Ha(()=>{L(uo,n)||n.flush()})}return Qe}apply(){if(!ha||!this.is_fork&&L(yn,this)===null&&L(fn,this)===null){zr=null;return}zr=new Map;for(const[r,[a]]of this.current)zr.set(r,a);for(let r=lo;r!==null;r=L(fn,r))if(!(r===this||r.is_fork)){var n=!1;if(r.id1e3&&(_t(hr,this,_o).call(this),Tc());for(const d of L(qn,this))L(Ua,this).delete(d),fr(d,xa),this.schedule(d);for(const d of L(Ua,this))fr(d,tn),this.schedule(d);const t=L(fa,this);Ke(fa,this,[]),this.apply();var n=Zn=[],r=[],a=vo=[];for(const d of t)try{_t(hr,this,qv).call(this,d,n,r)}catch(g){throw Av(d),_t(hr,this,cl).call(this)||this.discard(),g}if(Qe=null,a.length>0){var s=kv.ensure();for(const d of a)s.schedule(d)}if(Zn=null,vo=null,_t(hr,this,cl).call(this)){_t(hr,this,pi).call(this,r),_t(hr,this,pi).call(this,n);for(const[d,g]of L(Qa,this))Tv(d,g);a.length>0&&_t(hr,Qe,fo).call(Qe);return}const f=_t(hr,this,qc).call(this);if(f){_t(hr,this,pi).call(this,r),_t(hr,this,pi).call(this,n),_t(hr,f,Mc).call(f,this);return}L(qn,this).clear(),L(Ua,this).clear();for(const d of L(co,this))d(this);L(co,this).clear(),Mi=this,fl(r),fl(n),Mi=null,L(di,this)?.resolve();var i=Qe;if(L(Bn,this)===0&&(L(fa,this).length===0||i!==null)&&(_t(hr,this,_o).call(this),ha&&(_t(hr,this,Ec).call(this),Qe=i)),L(fa,this).length>0)if(i!==null){const d=i;L(fa,d).push(...L(fa,this).filter(g=>!L(fa,d).includes(g)))}else i=this;i!==null&&_t(hr,i,fo).call(i)}function qv(t,n,r){t.f^=pa;for(var a=t.first;a!==null;){var s=a.f,f=(s&96)!==0;if(!(f&&(s&1024)!==0||(s&8192)!==0||L(Qa,this).has(a))&&a.fn!==null){f?a.f^=pa:(s&4)!==0?n.push(a):ha&&(s&16777224)!==0?r.push(a):ti(a)&&((s&16)!==0&&L(Ua,this).add(a),Tn(a));var i=a.first;if(i!==null){a=i;continue}}for(;a!==null;){var d=a.next;if(d!==null){a=d;break}a=a.parent}}}function qc(){for(var t=L(yn,this);t!==null;){if(!t.is_fork){for(const[n,[,r]]of this.current)if(t.current.has(n)&&!r)return t}t=L(yn,t)}return null}function Mc(t){for(const[r,a]of t.current)!this.previous.has(r)&&t.previous.has(r)&&this.previous.set(r,t.previous.get(r)),this.current.set(r,a);for(const[r,a]of t.async_deriveds){const s=this.async_deriveds.get(r);s&&a.promise.then(s.resolve).catch(s.reject)}t.async_deriveds.clear(),this.transfer_effects(L(qn,t),L(Ua,t));const n=r=>{var a=r.reactions;if(a!==null)for(const i of a){var s=i.f;if((s&2)!==0)n(i);else{var f=i;s&4194320&&!this.async_deriveds.has(f)&&(L(Ua,this).delete(f),fr(f,xa),this.schedule(f))}}};for(const r of this.current.keys())n(r);this.oncommit(()=>t.discard()),_t(hr,t,_o).call(t),Qe=this,_t(hr,this,fo).call(this)}function pi(t){for(var n=0;n!S.current.get(o)[1]);if(!(!L(uo,S)||a.length===0)){var s=a.filter(o=>!this.current.has(o));if(s.length===0)t&&S.discard();else if(n.length>0){if(t)for(const o of L(Zi,this))S.unskip_effect(o,m=>{(m.f&4194320)!==0?S.schedule(m):_t(hr,S,pi).call(S,[m])});S.activate();var f=new Set,i=new Map;for(var d of n)Ev(d,s,f,i);i=new Map;var g=[...S.current].filter(([o,m])=>{const k=this.current.get(o);return k?k[0]!==m[0]||k[1]!==m[1]:!0}).map(([o])=>o);if(g.length>0)for(const o of L(ls,this))(o.f&155648)===0&&Fs(o,g,i)&&((o.f&4194320)!==0?(fr(o,xa),S.schedule(o)):L(qn,S).add(o));if(L(fa,S).length>0&&!L(_i,S)){S.apply();for(var p of L(fa,S))_t(hr,S,qv).call(S,p,[],[]);Ke(fa,S,[])}S.deactivate()}}}}function _o(){if(this.linked){var t=L(yn,this),n=L(fn,this);t===null?lo=n:Ke(fn,t,n),n===null?Wn=t:Ke(yn,n,t),this.linked=!1}}function Mv(t){var n=yi;yi=!0;try{var r;for(t&&(Qe!==null&&!Qe.is_fork&&Qe.flush(),r=t());;){if(lc(),Qe===null)return r;Qe.flush()}}finally{yi=n}}function Tc(){if(0){var t;for(const r of Qe.current.keys())for(const[a,s]of r.updated??[])var n}try{Vu()}catch(r){Za(r,ss)}}var Oa=null;function fl(t){var n=t.length;if(n!==0){for(var r=0;r0)){wn.clear();for(const s of Oa){if((s.f&24576)!==0)continue;const f=[s];let i=s.parent;for(;i!==null;)Oa.has(i)&&(Oa.delete(i),f.push(i)),i=i.parent;for(let d=f.length-1;d>=0;d--){const g=f[d];(g.f&24576)===0&&Tn(g)}}Oa.clear()}}Oa=null}}function Ev(t,n,r,a){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const s of t.reactions){const f=s.f;(f&2)!==0?Ev(s,n,r,a):(f&4194320)!==0&&(f&2048)===0&&Fs(s,n,a)&&(fr(s,xa),Is(s))}}function Fs(t,n,r){const a=r.get(t);if(a!==void 0)return a;if(t.deps!==null)for(const s of t.deps){if(no.call(n,s))return!0;if((s.f&2)!==0&&Fs(s,n,r))return r.set(s,!0),!0}return r.set(t,!1),!1}function Is(t){Qe.schedule(t)}function Tv(t,n){if(!((t.f&32)!==0&&(t.f&1024)!==0)){(t.f&2048)!==0?n.d.push(t):(t.f&4096)!==0&&n.m.push(t),fr(t,pa);for(var r=t.first;r!==null;)Tv(r,n),r=r.next}}function Av(t){fr(t,pa);for(var n=t.first;n!==null;)Av(n),n=n.next}var po=new Set,wn=new Map;var Pv=!1;function Mn(t,n){var r={f:0,v:t,reactions:null,equals:uv,rv:0,wv:0};return r}function Ga(t,n){const r=Mn(t,n);return zv(r),r}function W(t,n=!1,r=!0){const a=Mn(t);if(n||(a.equals=cv),ei&&r&&Pt!==null&&Pt.l!==null){var s;((s=Pt.l).s??(s.s=[])).push(a)}return a}function ee(t,n){return E(t,l(()=>e(t))),n}function E(t,n,r=!1){yt!==null&&(!ka||(yt.f&131072)!==0)&&Ci()&&(yt.f&4325394)!==0&&(Sa===null||!Sa.has(t))&&tc();let a=r?Yn(n):n;return En(t,a,vo)}function En(t,n,r=null){if(!t.equals(n)){wn.set(t,za?n:t.v);var a=An.ensure();if(a.capture(t,n),(t.f&2)!==0){const s=t;(t.f&2048)!==0&&js(s),zr===null&&Ns(s)}t.wv=Gv(),Ov(t,xa,r),Ci()&&ot!==null&&(ot.f&1024)!==0&&(ot.f&96)===0&&(ua===null?Hc([t]):ua.push(t)),!a.is_fork&&po.size>0&&!Pv&&Ac()}return n}function Ac(){Pv=!1;for(const t of po){(t.f&1024)!==0&&fr(t,tn);let n;try{n=ti(t)}catch{n=!0}n&&Tn(t)}po.clear()}function wi(t){E(t,t.v+1)}function Ov(t,n,r){var a=t.reactions;if(a!==null)for(var s=Ci(),f=a.length,i=0;i{if(kn===i)return o();var m=yt,k=kn;ga(null),ml(i);var b=o();return ga(m),ml(k),b};a&&r.set("length",Ga(t.length,f));var g="";let p=!1;function S(o){if(!p){p=!0,g=o,ll(s,`${g} version`);for(const[m,k]of r)ll(k,Oc(g,m));p=!1}}return new Proxy(t,{defineProperty(o,m,k){(!("value"in k)||k.configurable===!1||k.enumerable===!1||k.writable===!1)&&Ju();var b=r.get(m);return b===void 0?d(()=>{var A=Ga(k.value,f);return r.set(m,A),A}):E(b,k.value,!0),!0},deleteProperty(o,m){var k=r.get(m);if(k===void 0){if(m in o){const b=d(()=>Ga(qr,f));r.set(m,b),wi(s)}}else E(k,qr),wi(s);return!0},get(o,m,k){if(m===La)return t;var b=r.get(m),A=m in o;if(b===void 0&&(!A||Ba(o,m)?.writable)&&(b=d(()=>{var R=Ga(Yn(A?o[m]:qr),f);return R}),r.set(m,b)),b!==void 0){var P=e(b);return P===qr?void 0:P}return Reflect.get(o,m,k)},getOwnPropertyDescriptor(o,m){var k=Reflect.getOwnPropertyDescriptor(o,m);if(k&&"value"in k){var b=r.get(m);b&&(k.value=e(b))}else if(k===void 0){var A=r.get(m),P=A?.v;if(A!==void 0&&P!==qr)return{enumerable:!0,configurable:!0,value:P,writable:!0}}return k},has(o,m){if(m===La)return!0;var k=r.get(m),b=k!==void 0&&k.v!==qr||Reflect.has(o,m);return(k!==void 0||ot!==null&&(!b||Ba(o,m)?.writable))&&(k===void 0&&(k=d(()=>{var A=Ga(b?Yn(o[m]):qr,f);return A}),r.set(m,k)),e(k)===qr)?!1:b},set(o,m,k,b){var A=r.get(m),P=m in o;if(a&&m==="length")for(var R=k;RGa(qr,f)),r.set(R+"",Y))}if(A===void 0)(!P||Ba(o,m)?.writable)&&(A=d(()=>Ga(void 0,f)),E(A,Yn(k)),r.set(m,A));else{P=A.v!==qr;var H=d(()=>Yn(k));E(A,H)}var T=Reflect.getOwnPropertyDescriptor(o,m);if(T?.set&&T.set.call(b,k),!P){if(a&&typeof m=="string"){var O=r.get("length"),C=Number(m);Number.isInteger(C)&&C>=O.v&&E(O,C+1)}wi(s)}return!0},ownKeys(o){e(s);var m=Reflect.ownKeys(o).filter(A=>{var P=r.get(A);return P===void 0||P.v!==qr});for(var[k,b]of r)b.v!==qr&&!(k in o)&&m.push(k);return m},setPrototypeOf(){ec()}})}function Oc(t,n){return typeof n=="symbol"?`${t}[Symbol(${n.description??""})]`:Pc.test(n)?`${t}.${n}`:/^\d+$/.test(n)?`${t}[${n}]`:`${t}['${n}']`}function dl(t){try{if(t!==null&&typeof t=="object"&&La in t)return t[La]}catch{}return t}function Cc(t,n){return Object.is(dl(t),dl(n))}var _l,Nc,Cv,Nv,Lv;function vs(){if(_l===void 0){_l=window,Nc=document,Cv=/Firefox/.test(navigator.userAgent);var t=Element.prototype,n=Node.prototype,r=Text.prototype;Nv=Ba(n,"firstChild").get,Lv=Ba(n,"nextSibling").get,il(t)&&(t[ts]=void 0,t[es]=null,t[rs]=void 0,t.__e=void 0),il(r)&&(r[Qi]=void 0)}}function Zr(t=""){return document.createTextNode(t)}function _a(t){return Nv.call(t)}function Ra(t){return Lv.call(t)}function c(t,n){if(!it)return _a(t);var r=_a(wt);if(r===null)r=wt.appendChild(Zr());else if(n&&r.nodeType!==3){var a=Zr();return r?.before(a),Fr(a),a}return n&&So(r),Fr(r),r}function pe(t,n=!1){if(!it){var r=_a(t);return r instanceof Comment&&r.data===""?Ra(r):r}if(n){if(wt?.nodeType!==3){var a=Zr();return wt?.before(a),Fr(a),a}So(wt)}return wt}function v(t,n=1,r=!1){let a=it?wt:t;for(var s;n--;)s=a,a=Ra(a);if(!it)return a;if(r){if(a?.nodeType!==3){var f=Zr();return a===null?s?.after(f):a.before(f),Fr(f),f}So(a)}return Fr(a),a}function Dv(t){t.textContent=""}function Rv(){return!ha||Oa!==null?!1:(ot.f&As)!==0}function Ws(t,n,r){return n==null||n==="http://www.w3.org/1999/xhtml"?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(n,t,{is:r}):document.createElementNS(n,t)}function Lc(t=""){return document.createComment(t)}function So(t){if(t.nodeValue.length<65536)return;let n=t.nextSibling;for(;n!==null&&n.nodeType===3;)n.remove(),t.nodeValue+=n.nodeValue,n=t.nextSibling}var pl=!1;function jv(){pl||(pl=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{if(!t.defaultPrevented)for(const n of t.target.elements)n[xi]?.()})},{capture:!0}))}function qo(t){var n=yt,r=ot;ga(null),ba(null);try{return t()}finally{ga(n),ba(r)}}function Mo(t,n,r,a=r){t.addEventListener(n,()=>qo(r));const s=t[xi];s?t[xi]=()=>{s(),a(!0)}:t[xi]=()=>a(!0),jv()}function Fv(t){ot===null&&(yt===null&&Ku(t),Gu()),za&&Yu(t)}function Dc(t,n){var r=n.last;r===null?n.last=n.first=t:(r.next=t,t.prev=r,n.last=t)}function Ma(t,n){var r=ot;r!==null&&(r.f&8192)!==0&&(t|=Ts);var a={ctx:Pt,deps:null,nodes:null,f:t|xa|512,first:null,fn:n,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};Qe?.register_created_effect(a);var s=a;if((t&4)!==0)Zn!==null?Zn.push(a):An.ensure().schedule(a);else if(n!==null){try{Tn(a)}catch(i){throw Yr(a),i}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&524288)===0&&(s=s.first,(t&16)!==0&&(t&65536)!==0&&s!==null&&(s.f|=yo))}if(s!==null&&(s.parent=r,r!==null&&Dc(s,r),yt!==null&&(yt.f&2)!==0&&(t&64)===0)){var f=yt;(f.effects??(f.effects=[])).push(s)}return a}function Bs(){return yt!==null&&!ka}function Eo(t){const n=Ma(8,null);return fr(n,pa),n.teardown=t,n}function us(t){Fv("$effect");var n=ot.f;if(!yt&&(n&32)!==0&&Pt!==null&&!Pt.i){var r=Pt;(r.e??(r.e=[])).push(t)}else return Iv(t)}function Iv(t){return Ma(4|lv,t)}function Rc(t){return Fv("$effect.pre"),Ma(8|lv,t)}function jc(t){An.ensure();const n=Ma(64|Jn,t);return()=>{Yr(n)}}function Fc(t){An.ensure();const n=Ma(64|Jn,t);return(r={})=>new Promise(a=>{r.outro?Pn(n,()=>{Yr(n),a(void 0)}):(Yr(n),a(void 0))})}function To(t){return Ma(4,t)}function or(t,n){var r=Pt,a={effect:null,ran:!1,deps:t};r.l.$.push(a),a.effect=Ya(()=>{if(t(),!a.ran){a.ran=!0;var s=ot;try{ba(s.parent),l(n)}finally{ba(s)}}})}function dr(){var t=Pt;Ya(()=>{for(var n of t.l.$){n.deps();var r=n.effect;(r.f&1024)!==0&&r.deps!==null&&fr(r,tn),ti(r)&&Tn(r),n.ran=!1}})}function Ic(t){return Ma(Wu|Jn,t)}function Ya(t,n=0){return Ma(8|n,t)}function j(t,n=[],r=[],a=[]){xc(a,n,r,s=>{Ma(8,()=>{t(...s.map(e))})})}function Ao(t,n=0){var r=Ma(16|n,t);return r}function ma(t){return Ma(32|Jn,t)}function Wv(t){var n=t.teardown;if(n!==null){const r=za,a=yt;hl(!0),ga(null);try{n.call(null)}finally{hl(r),ga(a)}}}function Us(t,n=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const s=r.ac;s!==null&&qo(()=>{s.abort(wo)});var a=r.next;(r.f&64)!==0?r.parent=null:Yr(r,n),r=a}}function Wc(t){for(var n=t.first;n!==null;){var r=n.next;(n.f&32)===0&&Yr(n),n=r}}function Yr(t,n=!0){var r=!1;(n||(t.f&262144)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Bc(t.nodes.start,t.nodes.end),r=!0),t.f|=ol,Us(t,n&&!r),Ei(t,0);var a=t.nodes&&t.nodes.t;if(a!==null)for(const f of a)f.stop();Wv(t),t.f^=ol,t.f|=Iu;var s=t.parent;s!==null&&s.first!==null&&Bv(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Bc(t,n){for(;t!==null;){var r=t===n?null:Ra(t);t.remove(),t=r}}function Bv(t){var n=t.parent,r=t.prev,a=t.next;r!==null&&(r.next=a),a!==null&&(a.prev=r),n!==null&&(n.first===t&&(n.first=a),n.last===t&&(n.last=r))}function Pn(t,n,r=!0){var a=[];Uv(t,a,!0);var s=()=>{r&&Yr(t),n&&n()},f=a.length;if(f>0){var i=()=>--f||s();for(var d of a)d.out(i)}else s()}function Uv(t,n,r){if((t.f&8192)===0){t.f^=Ts;var a=t.nodes&&t.nodes.t;if(a!==null)for(const d of a)(d.is_global||r)&&n.push(d);for(var s=t.first;s!==null;){var f=s.next;if((s.f&64)===0){var i=(s.f&65536)!==0||(s.f&32)!==0&&(t.f&16)!==0;Uv(s,n,i?r:!1)}s=f}}}function ho(t){Hv(t,!0)}function Hv(t,n){if((t.f&8192)!==0){t.f^=Ts,(t.f&1024)===0&&(fr(t,xa),An.ensure().schedule(t));for(var r=t.first;r!==null;){var a=r.next,s=(r.f&65536)!==0||(r.f&32)!==0;Hv(r,s?n:!1),r=a}var f=t.nodes&&t.nodes.t;if(f!==null)for(const i of f)(i.is_global||n)&&i.in()}}function Hs(t,n){if(t.nodes)for(var r=t.nodes.start,a=t.nodes.end;r!==null;){var s=r===a?null:Ra(r);n.append(r),r=s}}var Un=null;function Uc(t){var n=Un;try{if(Un=new Set,l(t),n!==null)for(var r of Un)n.add(r);return Un}finally{Un=n}}function K(t){for(var n of Uc(t))En(n,n.v)}var Ji=!1,za=!1;function hl(t){za=t}var yt=null,ka=!1;function ga(t){yt=t}var ot=null;function ba(t){ot=t}var Sa=null;function zv(t){yt!==null&&(!ha||(yt.f&2)!==0)&&(Sa??(Sa=new Set)).add(t)}var Xr=null,ia=0,ua=null;function Hc(t){ua=t}var Yv=1,dn=0,kn=dn;function ml(t){kn=t}function Gv(){return++Yv}function ti(t){var n=t.f;if((n&2048)!==0)return!0;if(n&2&&(t.f&=~Pi),(n&4096)!==0){for(var r=t.deps,a=r.length,s=0;st.wv)return!0}(n&512)!==0&&zr===null&&fr(t,pa)}return!1}function Kv(t,n,r=!0){var a=t.reactions;if(a!==null&&!(!ha&&Sa!==null&&Sa.has(t)))for(var s=0;s{t.ac.abort(wo)}),t.ac=null);try{t.f|=sl;var S=t.fn,o=S();t.f|=As;var m=t.deps,k=Qe?.is_fork;if(Xr!==null){var b;if(k||Ei(t,ia),m!==null&&ia>0)for(m.length=ia+Xr.length,b=0;b{requestAnimationFrame(()=>t()),setTimeout(()=>t())});await Promise.resolve(),Mv()}function e(t){var n=(t.f&2)!==0;if(Un?.add(t),yt!==null&&!ka&&!(ot!==null&&(ot.f&16384)!==0)&&(Sa===null||!Sa.has(t))){var r=yt.deps;if((yt.f&2097152)!==0)t.rvr?.call(this,f))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Ha(()=>{n.addEventListener(t,s,a)}):n.addEventListener(t,s,a),s}function Be(t,n,r,a,s){var f={capture:a,passive:s},i=Qc(t,n,r,f);(n===document.body||n===window||n===document||n instanceof HTMLMediaElement)&&Eo(()=>{n.removeEventListener(t,i,f)})}var bl=null;function fs(t){var n=this,r=n.ownerDocument,a=t.type,s=t.composedPath?.()||[],f=s[0]||t.target;bl=t;var i=0,d=bl===t&&t[Bi];if(d){var g=s.indexOf(d);if(g!==-1&&(n===document||n===window)){t[Bi]=n;return}var p=s.indexOf(n);if(p===-1)return;g<=p&&(i=g)}if(f=s[i]||t.target,f!==n){iv(t,"currentTarget",{configurable:!0,get(){return f||r}});var S=yt,o=ot;ga(null),ba(null);try{for(var m,k=[];f!==null&&f!==n;){try{var b=f[Bi]?.[a];b!=null&&(!f.disabled||t.target===f)&&b.call(f,t)}catch(A){m?k.push(A):m=A}if(t.cancelBubble)break;i++,f=i{throw A});throw m}}finally{t[Bi]=n,delete t.currentTarget,ga(S),ba(o)}}}var Zc=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Zv(t){return Zc?.createHTML(t)??t}function Jv(t){var n=Ws("template");return n.innerHTML=Zv(t.replaceAll("","")),n.content}function qa(t,n){var r=ot;r.nodes===null&&(r.nodes={start:t,end:n,a:null,t:null})}function F(t,n){var r=(n&1)!==0,a=(n&2)!==0,s,f=!t.startsWith("");return()=>{if(it)return qa(wt,null),wt;s===void 0&&(s=Jv(f?t:""+t),r||(s=_a(s)));var i=a||Cv?document.importNode(s,!0):s.cloneNode(!0);if(r){var d=_a(i),g=i.lastChild;qa(d,g)}else qa(i,i);return i}}function Jc(t,n,r="svg"){var a=!t.startsWith(""),s=(n&1)!==0,f=`<${r}>${a?t:""+t}`,i;return()=>{if(it)return qa(wt,null),wt;if(!i){var d=_a(Jv(f));if(s)for(i=document.createDocumentFragment();_a(d);)i.appendChild(_a(d));else i=_a(d)}var g=i.cloneNode(!0);if(s){var p=_a(g),S=g.lastChild;qa(p,S)}else qa(g,g);return g}}function ea(t,n){return Jc(t,n,"svg")}function da(t=""){if(!it){var n=Zr(t+"");return qa(n,n),n}var r=wt;return r.nodeType!==3?(r.before(r=Zr()),Fr(r)):So(r),qa(r,r),r}function gr(){if(it)return qa(wt,null),wt;var t=document.createDocumentFragment(),n=document.createComment(""),r=Zr();return t.append(n,r),qa(n,r),t}function q(t,n){if(it){var r=ot;((r.f&32768)===0||r.nodes.end===null)&&(r.nodes.end=wt),Oi();return}t!==null&&t.before(n)}var xl=!0;function h(t,n){var r,a=n==null?"":typeof n=="object"?`${n}`:n;a!==((r=t)[Qi]??(r[Qi]=t.nodeValue))&&(t[Qi]=a,t.nodeValue=`${a}`)}function Po(t,n){return eu(t,n)}function ef(t,n){vs(),n.intro=n.intro??!1;const r=n.target,a=it,s=wt;try{for(var f=_a(r);f&&(f.nodeType!==8||f.data!=="[");)f=Ra(f);if(!f)throw Vn;oa(!0),Fr(f);const i=eu(t,{...n,anchor:f});return oa(!1),i}catch(i){if(i instanceof Error&&i.message.split(` -`).some(d=>d.startsWith("https://svelte.dev/e/")))throw i;return i!==Vn&&console.warn("Failed to hydrate: ",i),n.recover===!1&&Xu(),vs(),Dv(r),oa(!1),Po(t,n)}finally{oa(a),Fr(s)}}var Ui=new Map;function eu(t,{target:n,anchor:r,props:a={},events:s,context:f,intro:i=!0,transformError:d}){vs();var g=void 0,p=Fc(()=>{var S=r??n.appendChild(Zr());pc(S,{pending:()=>{}},k=>{bt({});var b=Pt;if(f&&(b.c=f),s&&(a.$$events=s),it&&qa(k,null),xl=i,g=t(k,a)||{},xl=!0,it&&(ot.nodes.end=wt,wt===null||wt.nodeType!==8||wt.data!=="]"))throw $o(),Vn;xt()},d);var o=new Set,m=k=>{for(var b=0;b{for(var k of o)for(const P of[n,document]){var b=Ui.get(P),A=b.get(k);--A==0?(P.removeEventListener(k,fs),b.delete(k),b.size===0&&Ui.delete(P)):b.set(k,A)}gl.delete(m),S!==r&&S.parentNode?.removeChild(S)}});return ds.set(g,p),g}var ds=new WeakMap;function tu(t,n){const r=ds.get(t);return r?(ds.delete(t),r(n)):Promise.resolve()}var ja=new WeakMap,Ka=new WeakMap,ya=new WeakMap,si=new WeakMap,Fo=new WeakMap,Io=new WeakMap,yl=new WeakMap,ru=class{constructor(t,n=!0){nr(this,"anchor",void 0),et(this,ja,new Map),et(this,Ka,new Map),et(this,ya,new Map),et(this,si,new Set),et(this,Fo,!0),et(this,Io,r=>{if(L(ja,this).has(r)){var a=L(ja,this).get(r),s=L(Ka,this).get(a);if(s)ho(s),L(si,this).delete(a);else{var f=L(ya,this).get(a);f&&(ho(f.effect),L(Ka,this).set(a,f.effect),L(ya,this).delete(a),f.fragment.lastChild.remove(),this.anchor.before(f.fragment),s=f.effect)}for(const[i,d]of L(ja,this)){if(L(ja,this).delete(i),i===r)break;const g=L(ya,this).get(d);g&&(Yr(g.effect),L(ya,this).delete(d))}for(const[i,d]of L(Ka,this)){if(i===a||L(si,this).has(i))continue;const g=()=>{if(Array.from(L(ja,this).values()).includes(i)){var p=document.createDocumentFragment();Hs(d,p),p.append(Zr()),L(ya,this).set(i,{effect:d,fragment:p})}else Yr(d);L(si,this).delete(i),L(Ka,this).delete(i)};L(Fo,this)||!s?(L(si,this).add(i),Pn(d,g,!1)):g()}}}),et(this,yl,r=>{L(ja,this).delete(r);const a=Array.from(L(ja,this).values());for(const[s,f]of L(ya,this))a.includes(s)||(Yr(f.effect),L(ya,this).delete(s))}),this.anchor=t,Ke(Fo,this,n)}ensure(t,n){var r=Qe,a=Rv();if(n&&!L(Ka,this).has(t)&&!L(ya,this).has(t))if(a){var s=document.createDocumentFragment(),f=Zr();s.append(f),L(ya,this).set(t,{effect:ma(()=>n(f)),fragment:s})}else L(Ka,this).set(t,ma(()=>n(this.anchor)));if(L(ja,this).set(r,t),a){for(const[i,d]of L(Ka,this))i===t?r.unskip_effect(d):r.skip_effect(d);for(const[i,d]of L(ya,this))i===t?r.unskip_effect(d.effect):r.skip_effect(d.effect);r.oncommit(L(Io,this)),r.ondiscard(L(yl,this))}else it&&(this.anchor=wt),L(Io,this).call(this,r)}};function I(t,n,r=!1){var a;it&&(a=wt,Oi());var s=new ru(t),f=r?yo:0;function i(d,g){if(it){var p=Os(a);if(d!==parseInt(p.substring(1))){var S=Si();Fr(S),s.anchor=S,oa(!1),s.ensure(d,g),oa(!0);return}}s.ensure(d,g)}Ao(()=>{var d=!1;n((g,p=0)=>{d=!0,i(p,g)}),d||i(-1,null)},f)}function Rt(t,n){return n}function tf(t,n,r){for(var a=[],s=n.length,f,i=n.length,d=0;d{if(f){if(f.pending.delete(o),f.done.add(o),f.pending.size===0){var m=t.outrogroups;_s(t,xo(f.done)),m.delete(f),m.size===0&&(t.outrogroups=null)}}else i-=1},!1)}if(i===0){var g=a.length===0&&r!==null;if(g){var p=r,S=p.parentNode;Dv(S),S.append(p),t.items.clear()}_s(t,n,!g)}else f={pending:new Set(n),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(f)}function _s(t,n,r=!0){var a;if(t.pending.size>0){a=new Set;for(const i of t.pending.values())for(const d of i)a.add(t.items.get(d).e)}for(var s=0;s{var R=r();return Ai(R)?R:R==null?[]:xo(R)}),o,m=new Map,k=!0;function b(R){(P.effect.f&16384)===0&&(P.pending.delete(R),P.fallback=p,rf(P,o,i,n,a),p!==null&&(o.length===0?(p.f&33554432)===0?ho(p):(p.f^=bi,hi(p,null,i)):Pn(p,()=>{p=null})))}function A(R){P.pending.delete(R)}var P={effect:Ao(()=>{o=e(S);var R=o.length;let Y=!1;it&&Os(i)==="[!"!=(R===0)&&(i=Si(),Fr(i),oa(!1),Y=!0);for(var H=new Set,T=Qe,O=Rv(),C=0;Cf(i)):(p=ma(()=>f(Hi??(Hi=Zr()))),p.f|=bi)),R>H.size&&zu("","",""),it&&R>0&&Fr(Si()),!k)if(m.set(T,H),O){for(const[le,qe]of d)H.has(le)||T.skip_effect(qe.e);T.oncommit(b),T.ondiscard(A)}else b(T);Y&&oa(!0),e(S)}),flags:n,items:d,pending:m,outrogroups:null,fallback:p};k=!1,it&&(i=wt)}function li(t){for(;t!==null&&(t.f&32)===0;)t=t.next;return t}function rf(t,n,r,a,s){var f=(a&8)!==0,i=n.length,d=t.items,g=li(t.effect.first),p,S=null,o,m=[],k=[],b,A,P,R;if(f)for(R=0;R0){var te=(a&4)!==0&&i===0?r:null;if(f){for(R=0;R{if(o!==void 0)for(P of o)P.nodes?.a?.apply()})}function af(t,n,r,a,s,f,i,d){var g=(i&1)!==0?(i&16)===0?W(r,!1,!1):Mn(r):null,p=(i&2)!==0?Mn(s):null;return{v:g,i:p,e:ma(()=>(f(n,g??r,p??s,d),()=>{t.delete(a)}))}}function hi(t,n,r){if(t.nodes)for(var a=t.nodes.start,s=t.nodes.end,f=n&&(n.f&33554432)===0?n.nodes.start:r;a!==null;){var i=Ra(a);if(f.before(a),a===s)return;a=i}}function Va(t,n,r){n===null?t.effect.first=r:n.next=r,r===null?t.effect.last=n:r.prev=n}function wl(t,n,r){var a;it&&(a=wt,Oi());var s=new ru(t);Ao(()=>{var f=n()??null;if(it&&Os(a)==="["!=(f!==null)){var i=Si();Fr(i),s.anchor=i,oa(!1),s.ensure(f,f&&(d=>r(d,f))),oa(!0);return}s.ensure(f,f&&(d=>r(d,f)))},yo)}function vi(t,n,r){To(()=>{var a=l(()=>n(t,r?.())||{});if(r&&a?.update){var s=!1,f={};Ya(()=>{var i=r();$(i),s&&Cs(f,i)&&(f=i,a.update(i))}),s=!0}if(a?.destroy)return()=>a.destroy()})}function au(t){var n,r,a="";if(typeof t=="string"||typeof t=="number")a+=t;else if(typeof t=="object")if(Array.isArray(t)){var s=t.length;for(n=0;n=0;){var d=i+f;(i===0||kl.includes(a[i-1]))&&(d===a.length||kl.includes(a[d]))?a=(i===0?"":a.substring(0,i))+a.substring(d+1):i=d}}return a===""?null:a}function $l(t,n=!1){var r=n?" !important;":";",a="";for(var s of Object.keys(t)){var f=t[s];f!=null&&f!==""&&(a+=" "+s+": "+f+r)}return a}function Wo(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function sf(t,n){if(n){var r="",a,s;if(Array.isArray(n)?(a=n[0],s=n[1]):a=n,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var f=!1,i=0,d=!1,g=[];a&&g.push(...Object.keys(a).map(Wo)),s&&g.push(...Object.keys(s).map(Wo));var p=0,S=-1;const A=t.length;for(var o=0;o{nu(t,t.__value)});n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Eo(()=>{n.disconnect()})}function Tt(t,n,r=n){var a=new WeakSet,s=!0;Mo(t,"change",f=>{var i=f?"[selected]":":checked",d;if(t.multiple)d=[].map.call(t.querySelectorAll(i),ki);else{var g=t.querySelector(i)??t.querySelector("option:not([disabled])");d=g&&ki(g)}r(d),t.__value=d,Qe!==null&&a.add(Qe)}),To(()=>{var f=n();if(t===document.activeElement){var i=ha?Mi:Qe;if(a.has(i))return}if(nu(t,f,s),s&&f===void 0){var d=t.querySelector(":checked");d!==null&&(f=ki(d),r(f))}t.__value=f,s=!1}),vf(t)}function ki(t){return"__value"in t?t.__value:t.value}var uf=Symbol("is custom element"),cf=Symbol("is html"),ff=vv?"link":"LINK",df=vv?"progress":"PROGRESS";function ce(t){if(it){var n=!1,r=()=>{if(!n){if(n=!0,t.hasAttribute("value")){var a=t.value;Q(t,"value",null),t.value=a}if(t.hasAttribute("checked")){var s=t.checked;Q(t,"checked",null),t.checked=s}}};t[xi]=r,Ha(r),jv()}}function Sl(t,n){var r=Ys(t);r.value===(r.value=n??void 0)||t.value===n&&(n!==0||t.nodeName!==df)||(t.value=n??"")}function ql(t,n){var r=Ys(t);r.checked!==(r.checked=n??void 0)&&(t.checked=n)}function Q(t,n,r,a){var s=Ys(t);if(it&&(s[n]=t.getAttribute(n),n==="src"||n==="srcset"||n==="href"&&t.nodeName===ff)){a||void 0;return}s[n]!==(s[n]=r)&&(n==="loading"&&(t[Bu]=r),r==null?t.removeAttribute(n):typeof r!="string"&&_f(t).includes(n)?t[n]=r:t.setAttribute(n,r))}function Ys(t){var n;return(n=t)[es]??(n[es]={[uf]:t.nodeName.includes("-"),[cf]:t.namespaceURI==="http://www.w3.org/1999/xhtml"})}var Ml=new Map;function _f(t){var n=t.getAttribute("is")||t.nodeName,r=Ml.get(n);if(r)return r;Ml.set(n,r=[]);for(var a,s=t,f=Element.prototype;f!==s;){a=ov(s);for(var i in a)a[i].set&&i!=="innerHTML"&&i!=="textContent"&&i!=="innerText"&&r.push(i);s=Es(s)}return r}var Uo=null;function pf(){if(Uo===null){var t=Ws("select");t.innerHTML=Zv(""),Uo=t.firstChild?.firstChild?.nodeType===1}return Uo}function _n(t,n){var r=it;pf()||(oa(!1),t.textContent="",t.append(Lc("")));try{n()}finally{r&&(it?u(t):(oa(!0),Fr(t)))}}function Ae(t,n,r=n){var a=new WeakSet;Mo(t,"input",async s=>{var f=s?t.defaultValue:t.value;if(f=Ho(t)?zo(f):f,r(f),Qe!==null&&a.add(Qe),await zs(),f!==(f=n())){var i=t.selectionStart,d=t.selectionEnd,g=t.value.length;if(t.value=f??"",d!==null){var p=t.value.length;i===d&&d===g&&p>g?(t.selectionStart=p,t.selectionEnd=p):(t.selectionStart=i,t.selectionEnd=Math.min(d,p))}}}),(it&&t.defaultValue!==t.value||l(n)==null&&t.value)&&(r(Ho(t)?zo(t.value):t.value),Qe!==null&&a.add(Qe)),Ya(()=>{var s=n();if(t===document.activeElement){var f=ha?Mi:Qe;if(a.has(f))return}Ho(t)&&s===zo(t.value)||t.type==="date"&&!s&&!t.value||s!==t.value&&(t.value=s??"")})}function cr(t,n,r=n){Mo(t,"change",a=>{r(a?t.defaultChecked:t.checked)}),(it&&t.defaultChecked!==t.checked||l(n)==null)&&r(t.checked),Ya(()=>{var a=n();t.checked=!!a})}function Ho(t){var n=t.type;return n==="number"||n==="range"}function zo(t){return t===""?null:+t}function El(t,n,r=n){Mo(t,"change",()=>{r(t.files)}),it&&t.files&&r(t.files),Ya(()=>{t.files=n()})}function hf(t,n,r){var a=Ba(t,n);a&&a.set&&(t[n]=r,Eo(()=>{t[n]=null}))}var iu,Hn=new WeakMap,mo=new WeakMap,Yo=new WeakMap,Tl=new WeakSet,Gs=class{constructor(t){Ds(this,Tl),et(this,Hn,new WeakMap),et(this,mo,void 0),et(this,Yo,void 0),Ke(Yo,this,t)}observe(t,n){var r=L(Hn,this).get(t)||new Set;return r.add(n),L(Hn,this).set(t,r),_t(Tl,this,mf).call(this).observe(t,L(Yo,this)),()=>{var a=L(Hn,this).get(t);a.delete(n),a.size===0&&(L(Hn,this).delete(t),L(mo,this).unobserve(t))}}};iu=Gs;function mf(){return L(mo,this)??Ke(mo,this,new ResizeObserver(t=>{for(var n of t){iu.entries.set(n.target,n);for(var r of L(Hn,this).get(n.target)||[])r(n)}}))}nr(Gs,"entries",new WeakMap);var gf=new Gs({box:"border-box"});function $n(t,n,r){var a=gf.observe(t,()=>r(t[n]));To(()=>(l(()=>r(t[n])),a))}function Go(t,n){return t===n||t?.[La]===n}function go(t={},n,r,a){var s=Pt.r,f=ot;return To(()=>{var i,d;return Ya(()=>{i=d,d=a?.()||[],l(()=>{Go(r(...d),t)||(n(t,...d),i&&Go(r(...i),t)&&n(null,...i))})}),()=>{let g=f;for(;g!==s&&g.parent!==null&&g.parent.f&33554432;)g=g.parent;const p=()=>{d&&Go(r(...d),t)&&n(null,...d)},S=g.teardown;g.teardown=()=>{p(),S?.()}}}),t}function On(t){return function(...n){return n[0].preventDefault(),t?.apply(this,n)}}function St(t=!1){const n=Pt,r=n.l.u;if(!r)return;let a=()=>$(n.s);if(t){let s=0,f={};const i=Qn(()=>{let d=!1;const g=n.s;for(const p in g)g[p]!==f[p]&&(f[p]=g[p],d=!0);return d&&s++,s});a=()=>e(i)}r.b.length&&Rc(()=>{Al(n,a),io(r.b)}),us(()=>{const s=l(()=>r.m.map(Ru));return()=>{for(const f of s)typeof f=="function"&&f()}}),r.a.length&&us(()=>{Al(n,a),io(r.a)})}function Al(t,n){if(t.l.s)for(const r of t.l.s)e(r);n()}function Pl(t,n){var r=t.$$events?.[n.type];for(var a of Ai(r)?r.slice():r==null?[]:[r])a.call(this,n)}var bf={get(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(oi(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a)return a[n]}},set(t,n,r){let a=t.props.length;for(;a--;){let s=t.props[a];oi(s)&&(s=s());const f=Ba(s,n);if(f&&f.set)return f.set(r),!0}return!1},getOwnPropertyDescriptor(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(oi(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a){const s=Ba(a,n);return s&&!s.configurable&&(s.configurable=!0),s}}},has(t,n){if(n===La||n===Ps)return!1;for(let r of t.props)if(oi(r)&&(r=r()),r!=null&&n in r)return!0;return!1},ownKeys(t){const n=[];for(let r of t.props)if(oi(r)&&(r=r()),!!r){for(const a in r)n.includes(a)||n.push(a);for(const a of Object.getOwnPropertySymbols(r))n.includes(a)||n.push(a)}return n}};function Ol(...t){return new Proxy({props:t},bf)}function fe(t,n,r,a){var s=!ei||(r&2)!==0,f=(r&8)!==0,i=(r&16)!==0,d=a,g=!0,p=void 0,S=()=>i&&s?(p??(p=Qn(a)),e(p)):(g&&(g=!1,d=i?l(a):a),d);let o;if(f){var m=La in t||Ps in t;o=Ba(t,n)?.set??(m&&n in t?T=>t[n]=T:void 0)}var k,b=!1;f?[k,b]=fc(()=>t[n]):k=t[n],k===void 0&&a!==void 0&&(k=S(),o&&(s&&Zu(n),o(k)));var A;if(s?A=()=>{var T=t[n];return T===void 0?S():(g=!0,T)}:A=()=>{var T=t[n];return T!==void 0&&(d=void 0),T===void 0?d:T},s&&(r&4)===0)return A;if(o){var P=t.$$legacy;return(function(T,O){return arguments.length>0?((!s||!O||P||b)&&o(O?A():T),T):A()})}var R=!1,Y=((r&1)!==0?Qn:Ce)(()=>(R=!1,A()));f&&e(Y);var H=ot;return(function(T,O){if(arguments.length>0){const C=O?e(Y):s&&f?Yn(T):T;return E(Y,C),R=!0,d!==void 0&&(d=C),T}return za&&R||(H.f&16384)!==0?Y.v:e(Y)})}function xf(t){return new yf(t)}var on=new WeakMap,Aa=new WeakMap,yf=class{constructor(t){et(this,on,void 0),et(this,Aa,void 0);var n=new Map,r=(s,f)=>{var i=W(f,!1,!1);return n.set(s,i),i};const a=new Proxy({...t.props||{},$$events:{}},{get(s,f){return e(n.get(f)??r(f,Reflect.get(s,f)))},has(s,f){return f===Ps?!0:(e(n.get(f)??r(f,Reflect.get(s,f))),Reflect.has(s,f))},set(s,f,i){return E(n.get(f)??r(f,i),i),Reflect.set(s,f,i)}});Ke(Aa,this,(t.hydrate?ef:Po)(t.component,{target:t.target,anchor:t.anchor,props:a,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),!ha&&(!t?.props?.$$host||t.sync===!1)&&Mv(),Ke(on,this,a.$$events);for(const s of Object.keys(L(Aa,this)))s==="$set"||s==="$destroy"||s==="$on"||iv(this,s,{get(){return L(Aa,this)[s]},set(f){L(Aa,this)[s]=f},enumerable:!0});L(Aa,this).$set=s=>{Object.assign(a,s)},L(Aa,this).$destroy=()=>{tu(L(Aa,this))}}$set(t){L(Aa,this).$set(t)}$on(t,n){L(on,this)[t]=L(on,this)[t]||[];const r=(...a)=>n.call(this,...a);return L(on,this)[t].push(r),()=>{L(on,this)[t]=L(on,this)[t].filter(a=>a!==r)}}$destroy(){L(Aa,this).$destroy()}},wf;typeof HTMLElement=="function"&&(wf=class extends HTMLElement{constructor(t,n,r){super(),nr(this,"$$ctor",void 0),nr(this,"$$s",void 0),nr(this,"$$c",void 0),nr(this,"$$cn",!1),nr(this,"$$d",{}),nr(this,"$$r",!1),nr(this,"$$p_d",{}),nr(this,"$$l",{}),nr(this,"$$l_u",new Map),nr(this,"$$me",void 0),nr(this,"$$shadowRoot",null),this.$$ctor=t,this.$$s=n,r&&(this.$$shadowRoot=this.attachShadow(r))}addEventListener(t,n,r){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(n),this.$$c){const a=this.$$c.$on(t,n);this.$$l_u.set(n,a)}super.addEventListener(t,n,r)}removeEventListener(t,n,r){if(super.removeEventListener(t,n,r),this.$$c){const a=this.$$l_u.get(n);a&&(a(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let n=function(s){return f=>{const i=Ws("slot");s!=="default"&&(i.name=s),q(f,i)}};var t=n;if(await Promise.resolve(),!this.$$cn||this.$$c)return;const r={},a=kf(this);for(const s of this.$$s)s in a&&(s==="default"&&!this.$$d.children?(this.$$d.children=n(s),r.default=!0):r[s]=n(s));for(const s of this.attributes){const f=this.$$g_p(s.name);f in this.$$d||(this.$$d[f]=Ko(f,s.value,this.$$p_d,"toProp"))}for(const s in this.$$p_d)!(s in this.$$d)&&this[s]!==void 0&&(this.$$d[s]=this[s],delete this[s]);this.$$c=xf({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=jc(()=>{Ya(()=>{this.$$r=!0;for(const s of nl(this.$$c)){if(!this.$$p_d[s]?.reflect)continue;this.$$d[s]=this.$$c[s];const f=Ko(s,this.$$d[s],this.$$p_d,"toAttribute");f==null?this.removeAttribute(this.$$p_d[s].attribute||s):this.setAttribute(this.$$p_d[s].attribute||s,f)}this.$$r=!1})});for(const s in this.$$l)for(const f of this.$$l[s]){const i=this.$$c.$on(s,f);this.$$l_u.set(f,i)}this.$$l={}}}attributeChangedCallback(t,n,r){this.$$r||(t=this.$$g_p(t),this.$$d[t]=Ko(t,r,this.$$p_d,"toProp"),this.$$c?.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return nl(this.$$p_d).find(n=>this.$$p_d[n].attribute===t||!this.$$p_d[n].attribute&&n.toLowerCase()===t)||t}});function Ko(t,n,r,a){const s=r[t]?.type;if(n=s==="Boolean"&&typeof n!="boolean"?n!=null:n,!a||!r[t])return n;if(a==="toAttribute")switch(s){case"Object":case"Array":return n==null?null:JSON.stringify(n);case"Boolean":return n?"":null;case"Number":return n??null;default:return n}else switch(s){case"Object":case"Array":return n&&JSON.parse(n);case"Boolean":return n;case"Number":return n!=null?+n:n;default:return n}}function kf(t){const n={};return t.childNodes.forEach(r=>{n[r.slot||"default"]=!0}),n}if(0)var C1;function Oo(t){Pt===null&&ko("onMount"),ei&&Pt.l!==null?su(Pt).m.push(t):us(()=>{const n=l(t);if(typeof n=="function")return n})}function ou(t){Pt===null&&ko("onDestroy"),Oo(()=>()=>l(t))}function $f(t,n,{bubbles:r=!1,cancelable:a=!1}={}){return new CustomEvent(t,{detail:n,bubbles:r,cancelable:a})}function Sf(){const t=Pt;return t===null&&ko("createEventDispatcher"),(n,r,a)=>{const s=t.s.$$events?.[n];if(s){const f=Ai(s)?s.slice():[s],i=$f(n,r,a);for(const d of f)d.call(t.x,i);return!i.defaultPrevented}return!0}}function qf(t){Pt===null&&ko("afterUpdate"),Pt.l===null&&Qu("afterUpdate"),su(Pt).a.push(t)}function su(t){var n=t.l;return n.u??(n.u={a:[],b:[],m:[]})}if(typeof window<"u"){var Cl,Nl;((Cl=(Nl=window).__svelte??(Nl.__svelte={})).v??(Cl.v=new Set)).add("5")}oc();function Mf(t,n){if(t instanceof RegExp)return{keys:!1,pattern:t};var r,a,s,f,i=[],d="",g=t.split("/");for(g[0]||g.shift();s=g.shift();)r=s[0],r==="*"?(i.push("wild"),d+="/(.*)"):r===":"?(a=s.indexOf("?",1),f=s.indexOf(".",1),i.push(s.substring(1,~a?a:~f?f:s.length)),d+=~a&&!~f?"(?:/([^/]+?))?":"/([^/]+?)",~f&&(d+=(~a?"?":"")+"\\"+s.substring(f))):d+="/"+s;return{keys:i,pattern:new RegExp("^"+d+(n?"(?=$|/)":"/?$"),"i")}}function Ll(){const t=window.location.href.indexOf("#/");let n=t>-1?window.location.href.substr(t+1):"/";const r=n.indexOf("?");let a="";return r>-1&&(a=n.substr(r+1),n=n.substr(0,r)),{location:n,querystring:a}}var Ks=Ls(null,function(n){n(Ll());const r=()=>{n(Ll())};return window.addEventListener("hashchange",r,!1),function(){window.removeEventListener("hashchange",r,!1)}}),A1=hv(Ks,t=>t.location),P1=hv(Ks,t=>t.querystring),Dl=Jr(void 0);async function Ja(t){if(!t||t.length<1||t.charAt(0)!="/"&&t.indexOf("#/")!==0)throw Error("Invalid parameter location");await zs(),history.replaceState({...history.state,__svelte_spa_router_scrollX:window.scrollX,__svelte_spa_router_scrollY:window.scrollY},void 0),window.location.hash=(t.charAt(0)=="#"?"":"#")+t}function Ef(t){t?window.scrollTo(t.__svelte_spa_router_scrollX,t.__svelte_spa_router_scrollY):window.scrollTo(0,0)}function Tf(t,n){bt(n,!1);let r=fe(n,"routes",24,()=>({})),a=fe(n,"prefix",8,""),s=fe(n,"restoreScrollState",8,!1);class f{constructor(C,B){if(!B||typeof B!="function"&&(typeof B!="object"||B._sveltesparouter!==!0))throw Error("Invalid component object");if(!C||typeof C=="string"&&(C.length<1||C.charAt(0)!="/"&&C.charAt(0)!="*")||typeof C=="object"&&!(C instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:J,keys:te}=Mf(C);this.path=C,typeof B=="object"&&B._sveltesparouter===!0?(this.component=B.component,this.conditions=B.conditions||[],this.userData=B.userData,this.props=B.props||{}):(this.component=()=>Promise.resolve(B),this.conditions=[],this.props={}),this._pattern=J,this._keys=te}match(C){if(a()){if(typeof a()=="string")if(C.startsWith(a()))C=C.substr(a().length)||"/";else return null;else if(a()instanceof RegExp){const se=C.match(a());if(se&&se[0])C=C.substr(se[0].length)||"/";else return null}}const B=this._pattern.exec(C);if(B===null)return null;if(this._keys===!1)return B;const J={};let te=0;for(;te{i.push(new f(C,O))}):Object.keys(r()).forEach(O=>{i.push(new f(O,r()[O]))});let d=W(null),g=W(null),p=W({});const S=Sf();async function o(O,C){await zs(),S(O,C)}let m=null,k=null;s()&&(k=O=>{O.state&&(O.state.__svelte_spa_router_scrollY||O.state.__svelte_spa_router_scrollX)?m=O.state:m=null},window.addEventListener("popstate",k),qf(()=>{Ef(m)}));let b=null,A=null;const P=Ks.subscribe(async O=>{b=O;let C=0;for(;C{Dl.set(e(g))});return}E(d,null),A=null,Dl.set(void 0)});ou(()=>{P(),k&&window.removeEventListener("popstate",k)}),or(()=>$(s()),()=>{history.scrollRestoration=s()?"manual":"auto"}),dr(),St();var R=gr(),Y=pe(R),H=O=>{var C=gr(),B=pe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol({get params(){return e(g)}},()=>e(p),{$$events:{routeEvent(se){Pl.call(this,n,se)}}}))}),q(O,C)},T=O=>{var C=gr(),B=pe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol(()=>e(p),{$$events:{routeEvent(se){Pl.call(this,n,se)}}}))}),q(O,C)};I(Y,O=>{e(g)?O(H):O(T,-1)}),q(t,R),xt()}function Pa(t){return t===1?"green":t===2?"yellow":t===3?"red":"gray"}function Af(t,n){return t>218&&t<242?"#23ac05":t>212&&t<248?"#b1d900":t>208&&t<252?"#a3b200":"#b20000"}function eo(t,n){let r;return t>90?r="#b20000":t>85?r="#b19601":t>80?r="#a3b200":t>75?r="#569f12":r="#23ac05",r}function ui(t){return t>75?"#23ac05":t>50?"#77d900":t>25?"#94d900":"#569f12"}function bo(t){switch(t){case 1:return"Aidon";case 2:return"Kaifa";case 3:return"Kamstrup";case 8:return"Iskra";case 9:return"Landis+Gyr";case 10:return"Sagemcom";default:return"Unknown"}}function Lt(t){for(t=t.toString();t.length<2;)t="0"+t;return t}function je(t,n){switch(n){case 5:switch(t){case"esp8266":return"Pow-K (GPIO12)";case"esp32s2":return"Pow-K+"}case 7:switch(t){case"esp8266":return"Pow-U (GPIO12)";case"esp32s2":return"Pow-U+"}case 6:return"Pow-P1";case 51:return"Wemos S2 mini";case 50:return"Generic ESP32-S2";case 201:return"Wemos LOLIN D32";case 202:return"Adafruit HUZZAH32";case 203:return"DevKitC";case 241:return"LilyGO T-ETH-POE";case 242:return"M5 PoESP32";case 243:return"WT32-ETH01";case 245:return"wESP32";case 200:return"Generic ESP32";case 2:return"HAN Reader 2.0 by Max Spencer";case 0:return"Custom hardware by Roar Fredriksen";case 1:return"Kamstrup module by Egil Opsahl";case 8:return"µHAN mosquito by dbeinder";case 3:return"Pow-K (UART0)";case 4:return"Pow-U (UART0)";case 101:return"Wemos D1 mini";case 100:return"Generic ESP8266";case 70:return"Generic ESP32-C3";case 71:return"ESP32-C3-DevKitM-1";case 80:return"Generic ESP32-S3"}return"Unknown"}function Sn(t){switch(t){case 2:case 4:case 7:return!0}return!1}function Ot(t,n){return t==1||t==2&&n}function zt(t){let n="https://wiki.amsleser.no";return t&&(n+="/en/firmware#"+t),n}function Nt(t,n){return t==null||isNaN(t)?"-":(isNaN(n)&&(n=t<1?2:t<10?1:0),t.toFixed(n))}function en(t,n){return t.setTime(t.getTime()+n*36e5),t}function Pf(t,n){return t.setTime(t.getTime()+n*6e4),t}function Of(t){return t=="EOE"?"ENTSO-E":t=="HKS"?"hvakosterstrommen.no":t=="EDS"?"Energi Data Service":t=="MIX"?"Mixed sources":t=="FIX"?"Fixed price":"Unknown ("+t+")"}function Rl(t){return t=="EOE"?"https://transparency.entsoe.eu/":t=="HKS"?"https://www.hvakosterstrommen.no/":t=="EDS"?"https://www.energidataservice.dk/":t=="FIX"?"/priceconfig":"#"}var zi=0;function Ti(t,n){var r="";zi++;var a=function(){setTimeout(Ti,1e3,t,n)};if(t.net.ip&&zi%3==0){if(!t.net.ip){a();return}r="http://"+t.net.ip}else t.hostname&&zi%3==1?r="http://"+t.hostname:t.hostname&&zi%3==2?r="http://"+t.hostname+".local":r="";console&&console.log("Trying url "+r),n&&n(r);var s=new XMLHttpRequest;s.timeout=5e3,s.addEventListener("abort",a),s.addEventListener("error",a),s.addEventListener("timeout",a),s.addEventListener("load",function(f){window.location.href=r||"/"}),s.open("GET",r+"/is-alive",!0),s.send()}function ar(t){return t.charAt(0).toUpperCase()+t.slice(1)}function jl(t){return t.startsWith("esp32")?"esp32":t}function Mr(t,n){let r=[t,n];return typeof t>"u"?(r[0]="-",r[1]=n):t>=1e9?(r[0]=(t/1e6).toFixed(t>1e10?0:1),r[1]="M"+n):t>1e4?(r[0]=(t/1e3).toFixed(t>1e6?0:t>1e5?1:2),r[1]="k"+n):(r[0]=t.toFixed(0),r[1]=n),r}function mi(t,n){let r=[Nt(t,2),n];if(typeof t>"u")r[0]="-",r[1]=n;else if(Math.abs(t*100)<100){switch(r[0]=Nt(t*100,2),n){case"NOK":case"DKK":n="øre";break;case"SEK":n="öre";break;case"EUR":n="cent";break;case"CHF":n="rp.";break;default:n=n+"/100"}r[1]=n}return r}var pn="((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}",Fa="[\\x20-\\x7E]+",Gn="[\\x20-\\xFF]+",to="[A-Za-z0-9_\\-]+",Fl="[0-9A-Fa-f]+",ci="[0-9]+",ro={},ps=[];async function Cf(t,n={}){const{timeout:r=8e3}=n,a=new AbortController,s=setTimeout(()=>a.abort(),r),f=await fetch(t,{...n,signal:a.signal});return clearTimeout(s),f}var Vo;async function lu(){if(ps.length){let t=ps.shift();delete ro[t.resource];try{let n=await Cf(t.resource,t.options);for(let r in t.callbacks)t.callbacks[r](n.clone())}catch(n){console.error("Error calling "+t.resource,n);for(let r in t.callbacks)t.callbacks[r]()}}Vo&&clearTimeout(Vo),Vo=setTimeout(lu,100)}lu();async function la(t,n={}){let r;return ro[t]?r=ro[t]:(r={resource:t,options:n,callbacks:[]},ro[t]=r,ps.push(r)),new Promise(a=>r.callbacks.push(a))}var Ca={version:"",chip:"",mac:null,apmac:null,vndcfg:null,usrcfg:null,fwconsent:null,booting:!1,upgrading:!1,ui:{},security:0,boot_reason:0,upgrade:{x:-1,e:0,f:null,t:null},trying:null,if:{eth:!1}};async function hn(){Ca=await(await la("sysinfo.json?t="+Math.floor(Date.now()/1e3))).json(),mr.set(Ca)}var mr=Jr(Ca,t=>(hn(),function(){}));function Nf(t){mr.update(n=>(n.trying=t,n))}var Yi=0,Il=-127,Wl=null,Lf={},Co=Ls(Lf,t=>{let n,r;async function a(){la("data.json").then(s=>s.json()).then(s=>{t(s),Il!=s.t&&(Il=s.t,setTimeout(Df,2e3)),s.pe&&s.p!=Wl&&(Wl=s.p,cu()),(!Ca||!Ca.chip||Ca.booting||Yi>1&&!Sn(Ca.board))&&(hn(),Ia&&clearTimeout(Ia),Ia=setTimeout(gs,2e3),Wa&&clearTimeout(Wa),Wa=setTimeout(xs,3e3)),s.u,Ia||(Ia=gs()),Wa||(Wa=xs());let f=5e3;if(Sn(Ca.board)&&s.v>2.5){let i=3.3-Math.min(3.3,s.v);i>0&&(f=Math.max(i,.1)*10*5e3)}f>5e3&&console.log("Next in "+f+"ms"),n&&clearTimeout(n),n=setTimeout(a,f),Yi=0}).catch(s=>{Yi++,Yi>3?(t({em:3,hm:0,wm:0,mm:0}),n=setTimeout(a,15e3),r||(r=setTimeout(Ti,5e3,Ca,Nf))):n=setTimeout(a,Sn(Ca.board)?1e4:5e3)})}return a(),function(){clearTimeout(n)}}),Gi,ao={},vu=Jr(ao),hs={},uu=Jr(hs);async function cu(){Gi&&(clearTimeout(Gi),Gi=0),ao=await(await la("importprice.json")).json(),vu.set(ao),ao?.importExportPriceDifferent&&(hs=await(await la("exportprice.json")).json(),uu.set(hs)),Gi=setTimeout(cu,(24-new Date().getHours())*36e5+10)}var ms={},Ia;async function gs(){Ia&&(clearTimeout(Ia),Ia=0),ms=await(await la("dayplot.json")).json(),Vs.set(ms),Ia=setTimeout(gs,(60-new Date().getMinutes())*6e4+20)}var Vs=Jr(ms,t=>function(){}),bs={},Wa;async function xs(){Wa&&(clearTimeout(Wa),Wa=0),bs=await(await la("monthplot.json")).json(),Xs.set(bs),Wa=setTimeout(xs,(24-new Date().getHours())*36e5+40)}var Xs=Jr(bs,t=>function(){}),ys={};async function Df(){ys=await(await la("temperature.json")).json(),fu.set(ys)}var fu=Jr(ys,t=>function(){}),ws={},Ki;async function du(){Ki&&(clearTimeout(Ki),Ki=0),ws=await(await la("tariff.json")).json(),_u.set(ws),Ki=setTimeout(du,(60-new Date().getMinutes())*6e4+30)}var _u=Jr(ws,t=>function(){}),zn={c:-1,n:[]};async function Rf(){let t=await(await la("wifiscan.json",{timeout:3e4})).json(),n=[];zn.c=0,zn.n=[];for(let r=0;r(Rf(),function(){})),ks=!1,Gr=Jr(ks);async function pu(t){ks=await(await la("translations.json"+(t?"?lang="+t:""))).json(),Gr.set(ks)}pu();function Bl(t){return"WARNING: "+t+" must be connected to an external power supply during firmware upgrade. Failure to do so may cause power-down during upload resulting in non-functioning unit."}async function hu(t){return await(await fetch("upgrade?expected_version="+t,{method:"POST"})).json()}var jf=F(" ",1);function Ff(t,n){bt(n,!1);let r=fe(n,"epoch",8),a=W({});Gr.subscribe(S=>{E(a,S)});let s=W(0),f=W(0),i=W(0);or(()=>$(r()),()=>{E(s,Math.floor(r()/86400)),E(f,Math.floor(r()/3600)),E(i,Math.floor(r()/60))}),dr(),St();var d=gr(),g=pe(d),p=S=>{var o=jf(),m=pe(o),k=v(m),b=O=>{var C=da();j(()=>h(C,`${e(s)??""} ${e(a),l(()=>e(a).common?.days??"d")??""}`)),q(O,C)},A=O=>{var C=da();j(()=>h(C,`${e(s)??""} ${e(a),l(()=>e(a).common?.day??"d")??""}`)),q(O,C)},P=O=>{var C=da();j(()=>h(C,`${e(f)??""} ${e(a),l(()=>e(a).common?.hours??"h")??""}`)),q(O,C)},R=O=>{var C=da();j(()=>h(C,`${e(f)??""} ${e(a),l(()=>e(a).common?.hour??"h")??""}`)),q(O,C)},Y=O=>{var C=da();j(()=>h(C,`${e(i)??""} ${e(a),l(()=>e(a).common?.minutes??"m")??""}`)),q(O,C)},H=O=>{var C=da();j(()=>h(C,`${e(i)??""} ${e(a),l(()=>e(a).common?.minute??"m")??""}`)),q(O,C)},T=O=>{var C=da();j(()=>h(C,`${r()??""} ${e(a),l(()=>e(a).common?.seconds??"s")??""}`)),q(O,C)};I(k,O=>{e(s)>1?O(b):e(s)>0?O(A,1):e(f)>1?O(P,2):e(f)>0?O(R,3):e(i)>1?O(Y,4):e(i)>0?O(H,5):O(T,-1)}),j(()=>h(m,`${e(a),l(()=>e(a).header?.uptime??"Up")??""} `)),q(S,o)};I(g,S=>{r()&&S(p)}),q(t,d),xt()}var If=F(" ");function mn(t,n){let r=fe(n,"color",8),a=fe(n,"title",8),s=fe(n,"text",8);var f=If(),i=c(f,!0);u(f),j(()=>{Q(f,"title",a()),Qr(f,1,`bd-${r()??""}`),h(i,s())}),q(t,f)}var Wf=F(" ");function mu(t,n){bt(n,!1);let r=W({});Gr.subscribe(o=>{E(r,o)});let a=fe(n,"timestamp",8),s=fe(n,"fullTimeColor",8),f=fe(n,"offset",8),i=W();or(()=>($(a()),$(f()),en),()=>{E(i,Math.abs(new Date().getTime()-a().getTime())<3e5),isNaN(f())||en(a(),f()-(24+a().getHours()-a().getUTCHours())%24)}),dr(),St();var d=gr(),g=pe(d),p=o=>{var m=da();j(k=>h(m,k),[()=>($(Lt),$(a()),e(r),l(()=>`${Lt(a().getDate())}. ${e(r).months?e(r).months?.[a().getMonth()]:Lt(a().getMonth()+1)} ${Lt(a().getHours())}:${Lt(a().getMinutes())}`))]),q(o,m)},S=o=>{var m=Wf(),k=c(m,!0);u(m),j(b=>{Qr(m,1,s()),h(k,b)},[()=>($(Lt),$(a()),l(()=>`${Lt(a().getDate())}.${Lt(a().getMonth()+1)}.${a().getFullYear()} ${Lt(a().getHours())}:${Lt(a().getMinutes())}`))]),q(o,m)};I(g,o=>{e(i)?o(p):o(S,-1)}),q(t,d),xt()}var Bf=ea('');function Uf(t){var n=Bf();q(t,n)}var Hf=ea('');function zf(t){var n=Hf();q(t,n)}var Yf=ea('');function Gf(t){var n=Yf();q(t,n)}var Kf=F('
'),Xo=F('
'),Vf=F('
',1),Xf=F('
'),Qf=F(''),Zf=F(" "),Jf=F('
'),ed=F('');function td(t,n){bt(n,!1);let r=fe(n,"basepath",8,"/"),a=fe(n,"data",24,()=>({})),s=W({});function f(){confirm((e(d).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(s).upgrade.n))&&(hu(e(s).upgrade.n),mr.update(be=>(be.upgrade.t=e(s).upgrade.n,be.upgrade.p=0,be.upgrading=!0,be)))}let i=W();mr.subscribe(be=>{E(s,be)});let d=W({});Gr.subscribe(be=>{E(d,be)}),or(()=>e(s),()=>{E(i,Math.max(0,e(s).upgrade.p))}),dr(),St();var g=ed(),p=c(g),S=c(p),o=c(S),m=v(c(o)),k=c(m,!0);u(m),u(o),u(S);var b=v(S,2),A=c(b);Ff(c(A),{get epoch(){return $(a()),l(()=>a().u)}}),u(A);var P=v(A,2),R=be=>{var Le=Kf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`${ct??""}°C`),[()=>($(a()),l(()=>a().t>-50?a().t.toFixed(1):"-"))]),q(be,Le)};I(P,be=>{$(a()),l(()=>a().t>-50)&&be(R)});var Y=v(P,2),H=c(Y);u(Y),u(b);var T=v(b,2),O=c(T);{let be=Ce(()=>(e(s),e(d),$(a()),l(()=>e(s).booting?e(d).header?.booting??"Booting":a().v>2?a().v.toFixed(2)+"V":"ESP"))),Le=Ce(()=>($(Pa),e(s),$(a()),l(()=>Pa(e(s).booting?2:a().em))));mn(O,{title:"ESP",get text(){return e(be)},get color(){return e(Le)}})}var C=v(O,2);{let be=Ce(()=>($(Pa),e(s),$(a()),l(()=>Pa(e(s).booting?9:a().hm))));mn(C,{title:"HAN",text:"HAN",get color(){return e(be)}})}var B=v(C,2);{let be=Ce(()=>($(a()),l(()=>a().r?a().r.toFixed(0)+"dBm":"WiFi"))),Le=Ce(()=>($(Pa),e(s),$(a()),l(()=>Pa(e(s).booting?9:a().wm))));mn(B,{title:"WiFi",get text(){return e(be)},get color(){return e(Le)}})}var J=v(B,2),te=c(J);{let be=Ce(()=>(e(d),l(()=>e(d).header?.services??"Services"))),Le=Ce(()=>(e(d),l(()=>e(d).header?.services??"Services"))),Ve=Ce(()=>($(Pa),e(s),$(a()),l(()=>Pa(e(s).booting?9:a().sa))));mn(te,{get title(){return e(be)},get text(){return e(Le)},get color(){return e(Ve)}})}u(J),u(T);var se=v(T,2),le=be=>{var Le=Xo(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),l(()=>(e(d).header?.han??"HAN")+": "+(e(d).errors?.han?.[a().he]??a().he))))),q(be,Le)};I(se,be=>{$(a()),l(()=>a().he<0||a().he>0)&&be(le)});var qe=v(se,2),G=be=>{var Le=Xo(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),l(()=>(e(d).header?.mqtt??"MQTT")+": "+(e(d).errors?.mqtt?.[a().me]??a().me))))),q(be,Le)};I(qe,be=>{$(a()),l(()=>a().me<0)&&be(G)});var x=v(qe,2),_=be=>{var Le=Xo(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),l(()=>(e(d).header?.price??"PS")+": "+(e(d).errors?.price?.[a().ee]??a().ee))))),q(be,Le)};I(x,be=>{$(a()),l(()=>a().ee>0||a().ee<0)&&be(_)});var w=v(x,2),y=c(w),M=c(y),N=c(M);u(M),u(y);var z=v(y,2),Z=c(z);{let be=Ce(()=>($(a()),l(()=>a().c?new Date(a().c*1e3):new Date(0))));mu(Z,{get timestamp(){return e(be)},get offset(){return e(s),l(()=>e(s).clock_offset)},fullTimeColor:"text-red-500"})}u(z);var ge=v(z,2),We=be=>{var Le=Vf(),Ve=pe(Le),ct=c(Ve);Uf(c(ct),{}),u(ct),u(Ve);var Ge=v(Ve,2),ht=c(Ge);zf(c(ht),{}),u(ht),u(Ge),j(()=>{Q(Ve,"title",(e(d),l(()=>e(d).header?.config??""))),Q(Ge,"title",(e(d),l(()=>e(d).header?.status??"")))}),q(be,Le)};I(ge,be=>{e(s),l(()=>e(s).vndcfg&&e(s).usrcfg)&&be(We)});var Oe=v(ge,2),Ue=c(Oe);Gf(c(Ue),{}),u(Ue),u(Oe);var pt=v(Oe,2),Ze=be=>{var Le=Xf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`Upgrading to ${e(s),l(()=>e(s).upgrade.t)??""}, ${ct??""}%`),[()=>(e(i),l(()=>e(i).toFixed(1)))]),q(be,Le)},qt=be=>{var Le=Jf(),Ve=c(Le),ct=ht=>{var lt=Qf(),mt=c(lt),_r=c(mt);u(mt),u(lt),j(()=>h(_r,`${e(d),l(()=>e(d).header?.new_version??"New version")??""}: ${e(s),l(()=>e(s).upgrade.n)??""}`)),Be("click",lt,f),q(ht,lt)},Ge=ht=>{var lt=Zf(),mt=c(lt);u(lt),j(()=>h(mt,`${e(d),l(()=>e(d).header?.new_version??"New version")??""}: ${e(s),l(()=>e(s).upgrade.n)??""}`)),q(ht,lt)};I(Ve,ht=>{e(s),$(a()),l(()=>e(s).security==0||a().a)?ht(ct):ht(Ge,-1)}),u(Le),j(()=>Q(Le,"title",(e(d),e(s),l(()=>(e(d).header?.new_version??"New version")+": "+e(s).upgrade.n)))),q(be,Le)};I(pt,be=>{e(s),l(()=>e(s).upgrading)?be(Ze):(e(s),l(()=>e(s).fwconsent===1&&e(s).upgrade.n)&&be(qt,1))}),u(w),u(p),u(g),j((be,Le,Ve)=>{Q(o,"href",r()),h(k,(e(s),l(()=>e(s).version))),h(H,`${e(d),l(()=>e(d).header?.mem??"Free")??""}: ${be??""}kb`),Q(J,"title",(e(d),l(()=>e(d).header?.services??"Services"))),Q(N,"src",Le),Q(Oe,"title",(e(d),l(()=>e(d).header?.doc??""))),Q(Ue,"href",Ve)},[()=>($(a()),l(()=>a().m?(a().m/1e3).toFixed(1):"-")),()=>($(r()),l(()=>(r()+"/logo.svg").replace("//","/"))),()=>($(zt),l(()=>zt("")))]),q(t,g),xt()}var rd=ea('');function ad(t,n){bt(n,!1);let r=fe(n,"pct",8,0),a=fe(n,"color",8,"red");function s(p,S,o,m){var k=(m-90)*Math.PI/180;return{x:p+o*Math.cos(k),y:S+o*Math.sin(k)}}function f(p,S,o,m,k){var b=s(p,S,o,k),A=s(p,S,o,m),P=k-m<=180?"0":"1";return["M",b.x,b.y,"A",o,o,0,P,0,A.x,A.y].join(" ")}St();var i=rd(),d=c(i),g=v(d);u(i),j((p,S)=>{Q(d,"d",p),Q(g,"d",S),Q(g,"stroke",a())},[()=>l(()=>f(150,150,115,210,510)),()=>($(r()),l(()=>f(150,150,115,210,210+300*r()/100)))]),q(t,i),xt()}var nd=F('
',1),id=F('

');function Ul(t,n){bt(n,!1);let r=fe(n,"val",8),a=fe(n,"max",8),s=fe(n,"unit",8),f=fe(n,"label",8),i=fe(n,"sub",24,()=>["",""]),d=fe(n,"colorFn",8),g=W(),p=W(0);or(()=>($(r()),$(s()),$(a())),()=>{E(g,Mr(r(),s())),E(p,Math.min(r(),a())/a()*100)}),dr(),St();var S=id(),o=c(S);{let O=Ce(()=>($(d()),e(p),l(()=>d()(e(p),document.documentElement.classList.contains("dark")))));ad(o,{get pct(){return e(p)},get color(){return e(O)}})}var m=v(o,2),k=c(m),b=c(k,!0);u(k);var A=v(k,4),P=c(A,!0);u(A);var R=v(A,2),Y=c(R,!0);u(R);var H=v(R,2),T=O=>{var C=nd(),B=v(pe(C),2),J=c(B,!0);u(B);var te=v(B,2),se=c(te);u(te),j(()=>{h(J,($(i()),l(()=>i()[0]))),h(se,`${$(i()),l(()=>i()[1])??""}/kWh`)}),q(O,C)};I(H,O=>{i()&&O(T)}),u(m),u(S),j(()=>{h(b,f()),h(P,(e(g),l(()=>e(g)[0]))),h(Y,(e(g),l(()=>e(g)[1])))}),q(t,S),xt()}var od=F('
');function sd(t,n){let r=fe(n,"title",8),a=fe(n,"x",8),s=fe(n,"y",8),f=W(),i=W();var d=od(),g=c(d,!0);u(d),j(()=>{lf(d,`top: ${s()-e(i)-10}px; left: ${a()-e(f)/2}px;`),h(g,r())}),$n(d,"clientHeight",p=>E(i,p)),$n(d,"clientWidth",p=>E(f,p)),q(t,d)}var ld=500;function Hl(t){let n,r,a,s;function f(){r&&(tu(r),r=null)}function i(){if(clearTimeout(s),clearTimeout(a),f(),n=t.dataset.title||t.getAttribute("title"),!!n){var p=t.getBoundingClientRect();r=Po(sd,{target:document.body,props:{title:n,x:p.left+window.scrollX+p.width/2,y:p.top+window.scrollY}})}}function d(){clearTimeout(s),s=setTimeout(i,ld)}function g(){clearTimeout(s),r&&(a=setTimeout(f,500))}return t.addEventListener("click",i),t.addEventListener("mouseenter",d),t.addEventListener("mouseleave",g),{destroy(){clearTimeout(s),clearTimeout(a),f(),t.removeEventListener("click",i),t.removeEventListener("mouseenter",d),t.removeEventListener("mouseleave",g)}}}var vd=F('
'),zl=F(" "),ud=F('
'),cd=F('
'),fd=ea(' '),dd=ea(' '),_d=ea(''),Yl=ea(' '),Gl=ea("",1),pd=ea("",1),hd=ea('',1),md=F('
');function Cn(t,n){bt(n,!1);let r=fe(n,"config",8),a=W(),s=W(),f=W(),i=W(),d=W(),g=W(),p=W(),S=30,o=W(0);function m(T,O){let C;function B(J){cancelAnimationFrame(C),T.style.fontSize="",J&&(C=requestAnimationFrame(()=>{try{const te=T.getBBox();if(te.width>0&&te.width>J){const se=parseFloat(getComputedStyle(T).fontSize)||12;T.style.fontSize=se*J/te.width+"px"}}catch{}}))}return B(O),{update:B,destroy(){cancelAnimationFrame(C)}}}function k(T,O,C,B){return B?T>O-C?T-C:Math.min(T+10,O-C):O-T>=C?T+C/2:T-C/2}function b(T,O,C,B){return B?T>O-C:O-T=C?T-C/2:T+C/2}function P(T,O,C,B){return B?T(e(g),e(s),e(o),e(a),$(r()),e(f)),()=>{E(g,e(s)-e(o));let T=e(a)-(r().padding.left+r().padding.right);E(f,T/r().points.length),E(p,e(f)r().y.max?B=r().padding.bottom:Ce(g)||B<0?0:B})}),dr(),St();var R=md(),Y=c(R),H=T=>{var O=hd(),C=pe(O),B=qe=>{var G=cd(),x=c(G),_=M=>{var N=vd(),z=c(N,!0);u(N),j(()=>h(z,($(r()),l(()=>r().title)))),$n(N,"clientHeight",Z=>E(o,Z)),q(M,N)};I(x,M=>{$(r()),l(()=>r().title)&&M(_)});var w=v(x,2),y=M=>{var N=ud(),z=c(N),Z=We=>{var Oe=zl(),Ue=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),l(()=>"#"+r().link.url))),h(Ue,($(r()),l(()=>r().link.text)))}),q(We,Oe)},ge=We=>{var Oe=zl(),Ue=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),l(()=>r().link.url))),Q(Oe,"target",($(r()),l(()=>r().link.target))),h(Ue,($(r()),l(()=>r().link.text)))}),q(We,Oe)};I(z,We=>{$(r()),l(()=>r().link.route)?We(Z):We(ge,-1)}),u(N),q(M,N)};I(w,M=>{$(r()),l(()=>r().link)&&M(y)}),u(G),q(qe,G)};I(C,qe=>{$(r()),l(()=>r().title||r().link)&&qe(B)});var J=v(C),te=c(J);jt(te,5,()=>($(r()),l(()=>r().y.ticks)),Rt,(qe,G)=>{var x=gr(),_=pe(x),w=M=>{var N=fd(),z=v(c(N)),Z=c(z,!0);u(z),u(N),j(ge=>{Qr(N,0,`tick tick-${e(G),l(()=>e(G).value)??""} tick-${e(G),l(()=>e(G).color)??""}`),Q(N,"transform",`translate(0, ${ge??""})`),Q(z,"x",(e(G),l(()=>e(G).align=="right"?"90%":""))),h(Z,(e(G),l(()=>e(G).label)))},[()=>(e(d),e(G),l(()=>e(d)(e(G).value)))]),q(M,N)},y=Yt(()=>(e(d),e(G),l(()=>!isNaN(e(d)(e(G).value)))));I(_,M=>{e(y)&&M(w)}),q(qe,x)}),u(te);var se=v(te);jt(se,5,()=>($(r()),l(()=>r().x.ticks)),Rt,(qe,G,x)=>{var _=gr(),w=pe(_),y=N=>{var z=_d(),Z=c(z),ge=We=>{var Oe=dd(),Ue=c(Oe,!0);u(Oe),vi(Oe,(pt,Ze)=>m?.(pt,Ze),()=>e(f)*.85),j(()=>{Q(Oe,"x",e(f)/2),h(Ue,(e(G),l(()=>e(G).label)))}),q(We,Oe)};I(Z,We=>{e(f),$(r()),l(()=>e(f)>20||x%2==0||!r().x.ticks[x-1].label)&&We(ge)}),u(z),j(We=>Q(z,"transform",`translate(${We??""},${e(g)??""})`),[()=>(e(i),l(()=>e(i)(x)))]),q(N,z)},M=Yt(()=>(e(i),l(()=>!isNaN(e(i)(x)))));I(w,N=>{e(M)&&N(y)}),q(qe,_)}),u(se);var le=v(se);jt(le,5,()=>($(r()),l(()=>r().points)),Rt,(qe,G,x)=>{var _=gr(),w=pe(_),y=N=>{var z=pd(),Z=pe(z),ge=c(Z),We=Ze=>{var qt=Gl(),be=pe(qt),Le=v(be),Ve=ct=>{var Ge=Yl(),ht=c(Ge,!0);u(Ge),vi(Ge,(lt,mt)=>m?.(lt,mt),()=>!e(G).labelAngle&&e(f)>=S?e(f)*.95:null),j((lt,mt,_r)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"text-anchor",(e(f),e(G),l(()=>e(f)e(G).labelAngle?e(G).labelAngle:e(f)e(G).label)))},[()=>(e(d),e(G),e(p),e(f),$(r()),l(()=>b(e(d)(e(G).value),e(d)(0),e(p),!!e(G).labelAngle||e(f)(e(i),e(f),l(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(G),e(p),e(f),l(()=>k(e(d)(e(G).value),e(d)(0),e(p),!!e(G).labelAngle||e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(G),l(()=>e(G).color)))},[()=>(e(i),l(()=>e(i)(x)+2)),()=>(e(d),e(G),l(()=>e(d)(e(G).value))),()=>(e(d),$(r()),e(G),l(()=>e(d)(r().y.min)-e(d)(Math.min(r().y.min,0)+e(G).value)))]),q(Ze,qt)};I(ge,Ze=>{e(G),l(()=>e(G).value!==void 0)&&Ze(We)}),u(Z),vi(Z,Ze=>Hl?.(Ze));var Oe=v(Z),Ue=c(Oe),pt=Ze=>{var qt=Gl(),be=pe(qt),Le=v(be),Ve=ct=>{var Ge=Yl();Q(Ge,"text-anchor","middle");var ht=c(Ge,!0);u(Ge),vi(Ge,(lt,mt)=>m?.(lt,mt),()=>e(f)>=S?e(f)*.95:null),j((lt,mt,_r)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"fill",lt),Q(Ge,"transform",`translate(${mt??""} ${_r??""}) rotate(${e(f)e(G).label2)))},[()=>(e(d),e(G),e(p),e(f),$(r()),l(()=>P(e(d)(-e(G).value2),e(d)(0),e(p),e(f)(e(i),e(f),l(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(G),e(p),e(f),l(()=>A(e(d)(-e(G).value2),e(d)(0),e(p),e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(G),l(()=>e(G).color2?e(G).color2:e(G).color)))},[()=>(e(i),l(()=>e(i)(x)+2)),()=>(e(d),l(()=>e(d)(0))),()=>(e(d),$(r()),e(G),l(()=>e(d)(r().y.min)-e(d)(r().y.min+e(G).value2)))]),q(Ze,qt)};I(Ue,Ze=>{e(G),l(()=>e(G).value2>1e-4)&&Ze(pt)}),u(Oe),vi(Oe,Ze=>Hl?.(Ze)),j(()=>{Q(Z,"data-title",(e(G),l(()=>e(G).title))),Q(Oe,"data-title",(e(G),l(()=>e(G).title2)))}),q(N,z)},M=Yt(()=>(e(i),e(d),e(G),l(()=>!isNaN(e(i)(x))&&!isNaN(e(d)(e(G).value)))));I(w,N=>{e(M)&&N(y)}),q(qe,_)}),u(le),u(J),j(()=>Q(J,"viewBox",`0 0 ${e(a)??""} ${e(g)??""}`)),q(T,O)};I(Y,T=>{$(r()),e(g),l(()=>r().x.ticks&&r().points&&e(g))&&T(H)}),u(R),$n(R,"clientWidth",T=>E(a,T)),$n(R,"clientHeight",T=>E(s,T)),q(t,R),xt()}function gd(t,n){bt(n,!1);let r=fe(n,"title",8),a=fe(n,"u1",8),s=fe(n,"u2",8),f=fe(n,"u3",8),i=fe(n,"ds",8),d=W({});function g(p){return{label:Nt(p)+"V",title:p.toFixed(1)+" V",value:isNaN(p)?0:p,color:Af(p||0,document.documentElement.classList.contains("dark"))}}or(()=>($(a()),$(i()),$(s()),$(f()),$(r())),()=>{let p=[],S=[];a()>0&&(p.push({label:i()===1?"L1-L2":"L1"}),S.push(g(a()))),s()>0&&(p.push({label:i()===1?"L1-L3":"L2"}),S.push(g(s()))),f()>0&&(p.push({label:i()===1?"L2-L3":"L3"}),S.push(g(f()))),E(d,{title:r(),padding:{top:20,right:15,bottom:20,left:35},y:{min:200,max:260,ticks:[{value:207,label:"-10%"},{value:230,label:"230V"},{value:253,label:"+10%"}]},x:{ticks:p},points:S})}),dr(),St(),Cn(t,{get config(){return e(d)}}),xt()}var bd=F('
');function xd(t,n){bt(n,!1);let r=fe(n,"importInstant",8),a=fe(n,"exportInstant",8),s=fe(n,"importTotal",8),f=fe(n,"exportTotal",8),i=fe(n,"translations",24,()=>({})),d=W(),g=W(),p=W(),S=W();or(()=>($(r()),$(a()),$(s()),$(f())),()=>{E(d,Mr(r(),"VAr")),E(g,Mr(a(),"VAr")),E(p,Mr(s()*1e3,"VArh")),E(S,Mr(f()*1e3,"VArh"))}),dr(),St();var o=bd(),m=c(o),k=c(m,!0);u(m);var b=v(m,2),A=c(b),P=c(A,!0);u(A);var R=v(A,2),Y=c(R);u(R);var H=v(R,2),T=c(H,!0);u(H);var O=v(H,2),C=c(O);u(O),u(b);var B=v(b,2),J=c(B),te=c(J,!0);u(J);var se=v(J,2),le=c(se);u(se);var qe=v(se,2),G=c(qe,!0);u(qe);var x=v(qe,2),_=c(x);u(x),u(B),u(o),j(()=>{h(k,($(i()),l(()=>i().reactive?.title??"Reactive"))),h(P,($(i()),l(()=>i().reactive?.instant_in??"Instant in"))),h(Y,`${e(d),l(()=>e(d)[0])??""} ${e(d),l(()=>e(d)[1])??""}`),h(T,($(i()),l(()=>i().reactive?.instant_out??"Instant out"))),h(C,`${e(g),l(()=>e(g)[0])??""} ${e(g),l(()=>e(g)[1])??""}`),h(te,($(i()),l(()=>i().reactive?.total_in??"Total in"))),h(le,`${e(p),l(()=>e(p)[0])??""} ${e(p),l(()=>e(p)[1])??""}`),h(G,($(i()),l(()=>i().reactive?.total_out??"Total out"))),h(_,`${e(S),l(()=>e(S)[0])??""} ${e(S),l(()=>e(S)[1])??""}`)}),q(t,o),xt()}var Xa=F('
'),yd=F('
',1),wd=F('
',1),kd=F('
',1),$d=F('


');function Sd(t,n){bt(n,!1);let r=fe(n,"sysinfo",8),a=fe(n,"data",8),s=fe(n,"currency",8),f=fe(n,"hasExport",8),i=fe(n,"translations",24,()=>({})),d=W(),g=W(),p=W(),S=W(),o=W(),m=W(),k=W(),b=W(),A=W(!1),P=W(3);or(()=>(e(A),$(a()),$(r())),()=>{E(A,a()&&a().h&&(Math.abs(a().h.c)>.01||Math.abs(a().d.c)>.01||Math.abs(a().m.c)>.01||Math.abs(a().h.i)>.01||Math.abs(a().d.i)>.01||Math.abs(a().m.i)>.01)),E(P,e(A)?3:2),E(d,Mr(a()?.h?.u*1e3,"Wh")),E(g,Mr(a()?.d?.u*1e3,"Wh")),E(p,Mr(a()?.m?.u*1e3,"Wh")),E(S,Mr(r()?.last_month?.u*1e3,"Wh")),E(o,Mr(a()?.h?.p*1e3,"Wh")),E(m,Mr(a()?.d?.p*1e3,"Wh")),E(k,Mr(a()?.m?.p*1e3,"Wh")),E(b,Mr(r()?.last_month?.p*1e3,"Wh"))}),dr(),St();var R=$d(),Y=c(R),H=c(Y,!0);u(Y);var T=v(Y,5),O=C=>{var B=gr(),J=pe(B),te=le=>{var qe=yd(),G=pe(qe),x=c(G,!0);u(G);var _=v(G,2),w=c(_),y=c(w,!0);u(w);var M=v(w,2),N=c(M);u(M);var z=v(M,2),Z=ae=>{var _e=Xa(),he=c(_e);u(_e),j(me=>h(he,`${me??""} ${s()??""}`),[()=>($(Nt),$(a()),l(()=>Nt(a().h.c,2)))]),q(ae,_e)};I(z,ae=>{e(A)&&ae(Z)});var ge=v(z,2),We=c(ge,!0);u(ge);var Oe=v(ge,2),Ue=c(Oe);u(Oe);var pt=v(Oe,2),Ze=ae=>{var _e=Xa(),he=c(_e);u(_e),j(me=>h(he,`${me??""} ${s()??""}`),[()=>($(Nt),$(a()),l(()=>Nt(a().d.c,1)))]),q(ae,_e)};I(pt,ae=>{e(A)&&ae(Ze)});var qt=v(pt,2),be=c(qt,!0);u(qt);var Le=v(qt,2),Ve=c(Le);u(Le);var ct=v(Le,2),Ge=ae=>{var _e=Xa(),he=c(_e);u(_e),j(me=>h(he,`${me??""} ${s()??""}`),[()=>($(Nt),$(a()),l(()=>Nt(a().m.c)))]),q(ae,_e)};I(ct,ae=>{e(A)&&ae(Ge)});var ht=v(ct,2),lt=c(ht,!0);u(ht);var mt=v(ht,2),_r=c(mt);u(mt);var Ir=v(mt,2),yr=ae=>{var _e=Xa(),he=c(_e);u(_e),j(me=>h(he,`${me??""} ${s()??""}`),[()=>($(Nt),$(r()),l(()=>Nt(r().last_month?.c)))]),q(ae,_e)};I(Ir,ae=>{e(A)&&ae(yr)}),u(_);var ke=v(_,2),Fe=c(ke,!0);u(ke);var He=v(ke,2),tt=c(He),Dt=c(tt,!0);u(tt);var ft=v(tt,2),Ct=c(ft);u(ft);var Ft=v(ft,2),Pr=ae=>{var _e=Xa(),he=c(_e);u(_e),j(me=>h(he,`${me??""} ${s()??""}`),[()=>($(Nt),$(a()),l(()=>Nt(a().h.i,2)))]),q(ae,_e)};I(Ft,ae=>{e(A)&&ae(Pr)});var sr=v(Ft,2),de=c(sr,!0);u(sr);var U=v(sr,2),X=c(U);u(U);var xe=v(U,2),ve=ae=>{var _e=Xa(),he=c(_e);u(_e),j(me=>h(he,`${me??""} ${s()??""}`),[()=>($(Nt),$(a()),l(()=>Nt(a().d.i,1)))]),q(ae,_e)};I(xe,ae=>{e(A)&&ae(ve)});var $e=v(xe,2),D=c($e,!0);u($e);var V=v($e,2),ne=c(V);u(V);var Me=v(V,2),ue=ae=>{var _e=Xa(),he=c(_e);u(_e),j(me=>h(he,`${me??""} ${s()??""}`),[()=>($(Nt),$(a()),l(()=>Nt(a().m.i)))]),q(ae,_e)};I(Me,ae=>{e(A)&&ae(ue)});var ye=v(Me,2),we=c(ye,!0);u(ye);var Pe=v(ye,2),Ee=c(Pe);u(Pe);var Ne=v(Pe,2),Ie=ae=>{var _e=Xa(),he=c(_e);u(_e),j(me=>h(he,`${me??""} ${s()??""}`),[()=>($(Nt),$(r()),l(()=>Nt(r().last_month?.i)))]),q(ae,_e)};I(Ne,ae=>{e(A)&&ae(Ie)}),u(He),j((ae,_e,he,me,oe,Te)=>{h(x,($(i()),l(()=>i().common?.import??"Import"))),Qr(_,1,`grid grid-cols-${e(P)??""} mb-3`),h(y,ae),h(N,`${e(d),l(()=>e(d)[0])??""} ${e(d),l(()=>e(d)[1])??""}`),h(We,_e),h(Ue,`${e(g),l(()=>e(g)[0])??""} ${e(g),l(()=>e(g)[1])??""}`),h(be,he),h(Ve,`${e(p),l(()=>e(p)[0])??""} ${e(p),l(()=>e(p)[1])??""}`),h(lt,($(i()),l(()=>i().realtime?.last_mo??"Last mo."))),h(_r,`${e(S),l(()=>e(S)[0])??""} ${e(S),l(()=>e(S)[1])??""}`),h(Fe,($(i()),l(()=>i().common?.export??"Export"))),Qr(He,1,`grid grid-cols-${e(P)??""}`),h(Dt,me),h(Ct,`${e(o),l(()=>e(o)[0])??""} ${e(o),l(()=>e(o)[1])??""}`),h(de,oe),h(X,`${e(m),l(()=>e(m)[0])??""} ${e(m),l(()=>e(m)[1])??""}`),h(D,Te),h(ne,`${e(k),l(()=>e(k)[0])??""} ${e(k),l(()=>e(k)[1])??""}`),h(we,($(i()),l(()=>i().realtime?.last_mo??"Last mo."))),h(Ee,`${e(b),l(()=>e(b)[0])??""} ${e(b),l(()=>e(b)[1])??""}`)},[()=>($(ar),$(i()),l(()=>ar(i().common?.hour??"Hour"))),()=>($(ar),$(i()),l(()=>ar(i().common?.day??"Day"))),()=>($(ar),$(i()),l(()=>ar(i().common?.month??"Month"))),()=>($(ar),$(i()),l(()=>ar(i().common?.hour??"Hour"))),()=>($(ar),$(i()),l(()=>ar(i().common?.day??"Day"))),()=>($(ar),$(i()),l(()=>ar(i().common?.month??"Month")))]),q(le,qe)},se=le=>{var qe=kd(),G=pe(qe),x=c(G,!0);u(G);var _=v(G,2),w=c(_),y=c(w,!0);u(w);var M=v(w,2),N=c(M);u(M);var z=v(M,2),Z=c(z,!0);u(z);var ge=v(z,2),We=c(ge);u(ge);var Oe=v(ge,2),Ue=c(Oe,!0);u(Oe);var pt=v(Oe,2),Ze=c(pt);u(pt);var qt=v(pt,2),be=c(qt,!0);u(qt);var Le=v(qt,2),Ve=c(Le);u(Le),u(_);var ct=v(_,2),Ge=ht=>{var lt=wd(),mt=pe(lt),_r=c(mt,!0);u(mt);var Ir=v(mt,2),yr=c(Ir),ke=c(yr,!0);u(yr);var Fe=v(yr,2),He=c(Fe);u(Fe);var tt=v(Fe,2),Dt=c(tt,!0);u(tt);var ft=v(tt,2),Ct=c(ft);u(ft);var Ft=v(ft,2),Pr=c(Ft,!0);u(Ft);var sr=v(Ft,2),de=c(sr);u(sr);var U=v(sr,2),X=c(U,!0);u(U);var xe=v(U,2),ve=c(xe);u(xe),u(Ir),j(($e,D,V,ne,Me,ue,ye)=>{h(_r,($(i()),l(()=>i().realtime?.cost??"Cost"))),h(ke,$e),h(He,`${D??""} ${s()??""}`),h(Dt,V),h(Ct,`${ne??""} ${s()??""}`),h(Pr,Me),h(de,`${ue??""} ${s()??""}`),h(X,($(i()),l(()=>i().realtime?.last_month??"Last month"))),h(ve,`${ye??""} ${s()??""}`)},[()=>($(ar),$(i()),l(()=>ar(i().common?.hour??"Hour"))),()=>($(Nt),$(a()),l(()=>Nt(a().h.c,2))),()=>($(ar),$(i()),l(()=>ar(i().common?.day??"Day"))),()=>($(Nt),$(a()),l(()=>Nt(a().d.c,1))),()=>($(ar),$(i()),l(()=>ar(i().common?.month??"Month"))),()=>($(Nt),$(a()),l(()=>Nt(a().m.c))),()=>($(Nt),$(r()),l(()=>Nt(r().last_month?.c)))]),q(ht,lt)};I(ct,ht=>{e(A)&&ht(Ge)}),j((ht,lt,mt)=>{h(x,($(i()),l(()=>i().realtime?.consumption??"Consumption"))),h(y,ht),h(N,`${e(d),l(()=>e(d)[0])??""} ${e(d),l(()=>e(d)[1])??""}`),h(Z,lt),h(We,`${e(g),l(()=>e(g)[0])??""} ${e(g),l(()=>e(g)[1])??""}`),h(Ue,mt),h(Ze,`${e(p),l(()=>e(p)[0])??""} ${e(p),l(()=>e(p)[1])??""}`),h(be,($(i()),l(()=>i().realtime?.last_month??"Last month"))),h(Ve,`${e(S),l(()=>e(S)[0])??""} ${e(S),l(()=>e(S)[1])??""}`)},[()=>($(ar),$(i()),l(()=>ar(i().common?.hour??"Hour"))),()=>($(ar),$(i()),l(()=>ar(i().common?.day??"Day"))),()=>($(ar),$(i()),l(()=>ar(i().common?.month??"Month")))]),q(le,qe)};I(J,le=>{f()?le(te):le(se,-1)}),q(C,B)};I(T,C=>{a()&&C(O)}),u(R),j(()=>h(H,($(i()),l(()=>i().realtime?.title??"Real time calculations")))),q(t,R),xt()}function Qo(t,n){bt(n,!1);let r=fe(n,"title",8),a=fe(n,"json",8),s=fe(n,"sysinfo",8),f=W({}),i=W(),d=W(),g=document.documentElement.classList.contains("dark"),p=W(new Date);Oo(()=>{let k;function b(){E(p,new Date),k=setTimeout(()=>{b()},(15-e(p).getMinutes()%15)*6e4)}return b(),()=>{clearTimeout(k)}}),or(()=>($(a()),e(p),e(d),e(i),$(s()),$(r()),Rl),()=>{if(a()?.prices?.length>0){E(p,new Date);let k=a()?.currency,b=0,A=[],P=[],R=[];E(d,E(i,0)),en(e(p),s().clock_offset-(24+e(p).getHours()-e(p).getUTCHours())%24);let Y=a()?.cursor?a().cursor:0;for(e(p).setMinutes(Math.floor(e(p).getMinutes()/a()?.resolution)*a()?.resolution,0,0);Y0&&a()?.resolution<60&&e(p).getMinutes()!=0?"":Lt(e(p).getHours())}),R.push(b*100),E(d,Math.min(e(d),b*100)),E(i,Math.max(e(i),b*100)),Pf(e(p),a()?.resolution),Y++;let H=mi(Math.max(Math.abs(e(d))/100,Math.abs(e(i))/100),k);if(H&&H[1]&&H[1]!=k)for(k=H[1],E(d,e(d)*100),E(i,e(i)*100),Y=0;Y=0?J.toFixed(te):"",title:J>=0?J.toFixed(2)+" "+k:"",value:b>=0?Math.abs(b):0,label2:J<0?J.toFixed(te):"",title2:J<0?J.toFixed(2)+" "+k:"",value2:b<0?Math.abs(b):0,color:g?"#5c2da5":"#7c3aed"})}let O=Math.max(e(i),Math.abs(e(d)));if(e(d)<0){E(d,Math.min(O/4*-1,e(d)));let J=Math.ceil(Math.abs(e(d))/O*4),te=e(d)/J;for(Y=1;Y{Cn(k,{get config(){return e(f)}})};I(o,k=>{e(f),l(()=>e(f).points&&e(f).points.length>0)&&k(m)}),q(t,S),xt()}function qd(t,n){bt(n,!1);let r=fe(n,"title",8),a=fe(n,"json",8),s=fe(n,"sysinfo",8),f=W({}),i=W(),d=W(),g=document.documentElement.classList.contains("dark");or(()=>(e(d),e(i),$(s()),$(a()),$(r())),()=>{let p=0,S=[],o=[],m=[];E(d,E(i,0));let k=new Date,b=new Date;b.setDate(0),b.setHours(12);let A=(b.getHours()-b.getUTCHours())%24-s().clock_offset,P=k.getUTCHours();for(en(k,-A-24),p=P;p<24;p++){let T=a()["i"+Lt(p)],O=a()["e"+Lt(p)];T===void 0&&(T=0),O===void 0&&(O=0),o.push({label:Lt(k.getHours())}),m.push({label:T.toFixed(1),title:T.toFixed(2)+" kWh",value:T*10,label2:O.toFixed(1),title2:O.toFixed(2)+" kWh",value2:O*10,color:g?"#5c2da5":"#7c3aed",color2:g?"#27728e":"#37829e"}),E(d,Math.max(e(d),O*10)),E(i,Math.max(e(i),T*10)),en(k,1)}for(p=0;p(e(d),e(i),$(s()),$(a()),$(r())),()=>{let p=0,S=[],o=[],m=[];E(d,E(i,0));let k=new Date,b=new Date;b.setDate(0),b.setHours(12);let A=(b.getHours()-b.getUTCHours())%24-s().clock_offset;for(en(k,-A),en(b,-A),p=k.getDate();p<=b.getDate();p++){let H=a()["i"+Lt(p)],T=a()["e"+Lt(p)];H===void 0&&(H=0),T===void 0&&(T=0),o.push({label:Lt(p)}),m.push({label:H.toFixed(H<10?1:0),title:H.toFixed(2)+" kWh",value:H,label2:T.toFixed(T<10?1:0),title2:T.toFixed(2)+" kWh",value2:T,color:g?"#5c2da5":"#7c3aed",color2:g?"#27728e":"#37829e"}),E(d,Math.max(e(d),T)),E(i,Math.max(e(i),H))}for(p=1;p($(a()),e(d),e(i),$(r())),()=>{let g=0,p=0,S=[],o=[],m=[];a().s&&a().s.forEach((A,P)=>{var R=A.n?A.n:A.a;p=A.v,p==-127&&(p=0),o.push({label:R.slice(-4)}),m.push({label:p.toFixed(1),value:p,color:s?"#5c2da5":"#7c3aed"}),E(d,Math.min(e(d),p)),E(i,Math.max(e(i),p))}),E(i,Math.ceil(e(i))),E(d,Math.floor(e(d)));let k=e(i);e(d)<0&&(k+=Math.abs(e(d)));let b=k/4;for(g=0;g<5;g++)p=e(d)+b*g,S.push({value:p,label:p.toFixed(1)});E(f,{title:r()+" (°C)",dark:document.documentElement.classList.contains("dark"),height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:e(d),max:e(i),ticks:S},x:{ticks:o},points:m})}),dr(),St(),Cn(t,{get config(){return e(f)}}),xt()}function Td(t,n){bt(n,!1);let r=fe(n,"title",8),a=fe(n,"translations",24,()=>({})),s=document.documentElement.classList.contains("dark"),f=W({}),i=W(0),d=0,g=fe(n,"tariffData",8),p=fe(n,"realtime",8);or(()=>($(g()),$(p()),$(a()),e(i),$(r())),()=>{let S=0,o=[],m=[],k=[];if(o.push({value:0,label:0}),g()&&!isNaN(p()?.h?.u)&&(k.push({label:p().h.u.toFixed(2),value:p().h.u,title:(a().common?.now??"Now")+": "+p().h.u.toFixed(2)+" kWh",color:eo(p().h.u/g().c*100)}),m.push({label:a().common?.now??"Now"})),g()&&g().p){const b=[...g().p].sort((A,P)=>A.d-P.d);for(S=0;S0&&(R=Lt(A.d)+".",P=Lt(A.d)+"."+(a().months?a().months?.[new Date().getMonth()]:Lt(new Date().getMonth()+1)),b.length<4&&(R=P)),isNaN(A.h)||(P=P+" "+Lt(A.h)+":00"),P=P+": "+A.v.toFixed(2)+" kWh",k.push({label:A.v.toFixed(2),value:A.v,title:P,color:s?"#5c2da5":"#7c3aed"}),m.push({label:R}),E(i,Math.max(e(i),A.v))}}if(g()&&g().t){for(S=0;S=e(i))break;o.push({value:b,label:b})}o.push({label:g().m.toFixed(1),align:"right",color:"green",value:g().m})}g()&&g().c&&(o.push({label:g().c.toFixed(0),color:"orange",value:g().c}),E(i,Math.max(e(i),g().c))),E(i,Math.ceil(e(i))),E(f,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:30,bottom:20,left:20},y:{min:d,max:e(i),ticks:o},x:{ticks:m},points:k})}),dr(),St(),Cn(t,{get config(){return e(f)}}),xt()}var un=0,Ad={data:[]};async function Zs(){let t=await(await la(un<0?"realtime.json":"realtime.json?offset="+un)).json();Js.update(n=>{for(let r=0;r=0&&(un+=t.size,unKn||$s-Kn>300?(Zs(),Zo=0):Js.update(t=>{if(t.lastUpdate)for(;Kn>t.lastUpdate;)t.data.unshift(gu),t.data=t.data.slice(0,t.size),t.lastUpdate+=10,Zo++;else t.lastUpdate=Kn;return t})}function Cd(t){if(gu=t.i-t.e,Kn=t.u,!Kl){Zs(),Kl=!0,$s=Kn;return}Pd()&&Od()}var Nd=ea(' '),Ld=ea(' '),Dd=ea(''),Rd=F(' ',1),jd=F(' '),Fd=F('
');function Id(t,n){bt(n,!1);let r=fe(n,"title",8),a=document.documentElement.classList.contains("dark"),s=W(null);Js.subscribe(B=>{E(s,B)});let f=W(!1),i=W(),d=W(),g=W(),p=W(),S=W(),o=W(),m=W(),k=function(B,J,te){return Math.ceil(e(S)-(B-J)/(te-J)*e(S))-25},b=function(B){return 30+Math.ceil(B/e(s).size*(e(o)-35))},A=W(),P=W(),R=W(),Y=W();or(()=>(e(S),e(p),e(o),e(g),e(R),e(s),e(d),e(i),e(A),e(P),e(m)),()=>{if(E(S,parseInt(e(p))-50),E(o,e(g)-35),E(R,e(o)/e(s).size),E(d,0),E(i,0),e(s).data&&e(S)>10&&e(o)>100&&e(R)>.1){E(f,!0);for(let te in e(s).data){let se=e(s).data[te];isNaN(se)&&(se=0),E(i,Math.max(Math.ceil(se/1e3)*1e3,e(i))),E(d,Math.min(Math.floor(se/1e3)*1e3,e(d)))}let B=e(i)-e(d);E(Y,e(i)>2500?"kW":"W"),E(A,[]);for(let te=e(d);te2500?(te/1e3).toFixed(1):te}),!(e(A).length>6));te+=B/5);E(P,[]);for(let te=0;te12));te+=Math.round(e(s).size/Math.round(e(o)/120)));let J=e(s).size;E(m,b(e(s).size)+","+k(0,e(d),e(i))+" "+b(1)+","+k(0,e(d),e(i)));for(let te in e(s).data){if(J<0)break;let se=e(s).data[te];isNaN(se)&&(se=0),E(m,b(J--)+","+k(se,e(d),e(i))+" "+e(m))}}else E(f,!1)}),dr(),St();var H=Fd(),T=c(H),O=B=>{var J=Rd(),te=pe(J),se=c(te);u(te);var le=v(te,2),qe=G=>{var x=Dd(),_=c(x);jt(_,5,()=>e(A),Rt,(M,N)=>{var z=gr(),Z=pe(z),ge=Oe=>{var Ue=Nd(),pt=v(c(Ue)),Ze=c(pt,!0);u(pt),u(Ue),j(qt=>{Qr(Ue,0,`tick tick-${e(N),l(()=>e(N).value)??""}`),Q(Ue,"transform",`translate(0, ${qt??""})`),h(Ze,(e(N),l(()=>e(N).label)))},[()=>(e(N),e(d),e(i),l(()=>k(e(N).value,e(d),e(i))))]),q(Oe,Ue)},We=Yt(()=>(e(N),e(d),e(i),l(()=>!isNaN(k(e(N).value,e(d),e(i))))));I(Z,Oe=>{e(We)&&Oe(ge)}),q(M,z)}),u(_);var w=v(_);jt(w,5,()=>e(P),Rt,(M,N)=>{var z=gr(),Z=pe(z),ge=Oe=>{var Ue=Ld(),pt=c(Ue),Ze=c(pt,!0);u(pt),u(Ue),j(qt=>{Q(Ue,"transform",`translate(${qt??""},${e(S)??""})`),Q(pt,"x",e(R)/2),h(Ze,(e(N),l(()=>e(N).label)))},[()=>(e(N),l(()=>b(e(N).value)))]),q(Oe,Ue)},We=Yt(()=>(e(N),l(()=>!isNaN(b(e(N).value)))));I(Z,Oe=>{e(We)&&Oe(ge)}),q(M,z)}),u(w);var y=v(w);u(x),j(()=>{Q(x,"viewBox",`0 0 ${e(o)??""} ${e(S)??""}`),Q(y,"fill",a?"#5c2da5":"#7c3aed"),Q(y,"stroke",a?"#5c2da5":"#7c3aed"),Q(y,"points",e(m))}),q(G,x)};I(le,G=>{e(A)&&G(qe)}),j(()=>h(se,`${r()??""} (${e(Y)??""})`)),q(B,J)},C=B=>{var J=jd(),te=c(J);u(J),j(()=>h(te,`${r()??""} not available`)),q(B,J)};I(T,B=>{e(f)?B(O):B(C,-1)}),u(H),$n(H,"clientWidth",B=>E(g,B)),$n(H,"clientHeight",B=>E(p,B)),q(t,H),xt()}function Jo(t,n){bt(n,!1);let r=fe(n,"title",8),a=fe(n,"unit",8,""),s=fe(n,"l1",8,!1),f=fe(n,"l2",8,!1),i=fe(n,"l2x",8,!1),d=fe(n,"l3",8,!1),g=fe(n,"l1i",8,0),p=fe(n,"l2i",8,0),S=fe(n,"l3i",8,0),o=fe(n,"l1e",8,0),m=fe(n,"l2e",8,0),k=fe(n,"l3e",8,0),b=fe(n,"maxImport",8,0),A=fe(n,"maxExport",8,0),P=fe(n,"importColorFn",8),R=fe(n,"exportColorFn",8),Y=W({});function H(T,O){return{label:Nt(T>900?T/1e3:T)+(T>900?"k":"")+a(),title:T.toFixed(2)+" "+a(),value:isNaN(T)?0:T,color:P()(T?T/b()*100:0,document.documentElement.classList.contains("dark")),label2:Nt(O>900?O/1e3:O)+(O>900?"k":"")+a(),title2:O.toFixed(2)+" "+a(),value2:isNaN(O)?0:O,color2:R()(O?O/A()*100:0)}}or(()=>($(s()),$(g()),$(o()),$(f()),$(i()),$(p()),$(m()),$(d()),$(S()),$(k()),$(A()),$(b()),$(r())),()=>{let T=[],O=[];s()&&(T.push({label:"L1"}),O.push(H(g(),o()))),f()&&(i()?(T.push({label:"L2"}),O.push({label:"Not available",labelAngle:-90,title:"L2 current is not reported by your meter",value:0,color:"#7c3aedcc"})):(T.push({label:"L2"}),O.push(H(p(),m())))),d()&&(T.push({label:"L3"}),O.push(H(S(),k())));let C=[];if(A()){let B=A()>b()?4:A()*4/b();C.push({value:-A(),label:"-100%"}),B>=4&&C.push({value:-A()/4*3,label:"-75%"}),B>=2&&C.push({value:-A()/2,label:"-50%"}),B>=4&&C.push({value:-A()/4,label:"-25%"})}if(C.push({value:0,label:"0%"}),b()){let B=b()>A()?4:b()*4/A();C.push({value:b()/4,label:"25%"}),B>=4&&C.push({value:b()/2,label:"50%"}),B>=2&&C.push({value:b()/4*3,label:"75%"}),B>=4&&C.push({value:b(),label:"100%"})}E(Y,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:15,bottom:20,left:35},y:{min:-A(),max:b(),ticks:C},x:{ticks:T},points:O})}),dr(),St(),Cn(t,{get config(){return e(Y)}}),xt()}var Vl=F('
Tariff 1
Tariff 2
',1),Wd=F('
'),Bd=F('
'),jn=F('
'),Ud=F('
'),sn=F('
'),Hd=F('
');function zd(t,n){bt(n,!1);let r=W({}),a=W({}),s=W({}),f=W({}),i=W({}),d=W({}),g=W({}),p=W({}),S=W({});Co.subscribe(U=>E(r,U)),mr.subscribe(U=>E(a,U)),vu.subscribe(U=>E(s,U)),uu.subscribe(U=>E(f,U)),Vs.subscribe(U=>E(i,U)),Xs.subscribe(U=>E(d,U)),fu.subscribe(U=>E(g,U)),Gr.subscribe(U=>E(p,U)),_u.subscribe(U=>E(S,U));let o=W(),m=W(),k=W(),b=W(),A=W(),P=W(),R=W(),Y=W(),H=W(),T=W();or(()=>(e(r),e(Y),e(H),e(T)),()=>{E(o,Mr(e(r)?.ic*1e3,"Wh")),E(m,Mr(e(r)?.ec*1e3,"Wh")),E(k,Mr(e(r)?.ict1*1e3,"Wh")),E(b,Mr(e(r)?.ict2*1e3,"Wh")),E(A,Mr(e(r)?.ect1*1e3,"Wh")),E(P,Mr(e(r)?.ect2*1e3,"Wh")),e(r)?.l1?.u==0&&e(r)?.l2?.u==0&&e(r)?.l3?.u==0?E(Y,E(H,E(T,E(R,!0)))):(E(Y,e(r)?.l1?.u>0||e(r)?.l1?.i>0||e(r)?.l1?.p>0||e(r)?.l1?.q>0),E(H,e(r)?.l2?.u>0||e(r)?.l2?.i>0||e(r)?.l2?.p>0||e(r)?.l2?.q>0),E(T,e(r)?.l3?.u>0||e(r)?.l3?.i>0||e(r)?.l3?.p>0||e(r)?.l3?.q>0),E(R,e(Y)&&e(H)&&e(T)))}),dr(),St();var O=Hd(),C=c(O),B=U=>{var X=Wd(),xe=c(X),ve=c(xe),$e=c(ve);{let we=Ce(()=>(e(r),l(()=>e(r).i?e(r).i:0))),Pe=Ce(()=>(e(r),l(()=>e(r).im?e(r).im:15e3))),Ee=Ce(()=>(e(p),l(()=>e(p).common?.import??"Import"))),Ne=Ce(()=>($(mi),e(r),l(()=>mi(e(r).p,e(r).pc))));Ul($e,{get val(){return e(we)},get max(){return e(Pe)},unit:"W",get label(){return e(Ee)},get sub(){return e(Ne)},get colorFn(){return eo}})}u(ve);var D=v(ve,2),V=c(D,!0);u(D);var ne=v(D,2),Me=c(ne);u(ne);var ue=v(ne,2),ye=we=>{var Pe=Vl(),Ee=v(pe(Pe),2),Ne=c(Ee);u(Ee);var Ie=v(Ee,4),ae=c(Ie);u(Ie),j(()=>{h(Ne,`${e(k),l(()=>e(k)[0])??""} ${e(k),l(()=>e(k)[1])??""}`),h(ae,`${e(b),l(()=>e(b)[0])??""} ${e(b),l(()=>e(b)[1])??""}`)}),q(we,Pe)};I(ue,we=>{e(r),l(()=>e(r)?.ict1>0||e(r)?.ict2>0)&&we(ye)}),u(xe),u(X),j(we=>{h(V,we),h(Me,`${e(o),l(()=>e(o)[0])??""} ${e(o),l(()=>e(o)[1])??""}`)},[()=>(e(r),$(bo),l(()=>e(r).mt?bo(e(r).mt):"-"))]),q(U,X)},J=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.i,e(r).i))));I(C,U=>{e(J)&&U(B)});var te=v(C,2),se=U=>{var X=Bd(),xe=c(X),ve=c(xe),$e=c(ve);{let ue=Ce(()=>(e(r),l(()=>e(r).e?e(r).e:0))),ye=Ce(()=>(e(r),l(()=>e(r).om?e(r).om*1e3:1e4))),we=Ce(()=>(e(p),l(()=>e(p).common?.export??"Export"))),Pe=Ce(()=>($(mi),e(r),l(()=>mi(e(r).px,e(r).pc))));Ul($e,{get val(){return e(ue)},get max(){return e(ye)},unit:"W",get label(){return e(we)},get sub(){return e(Pe)},get colorFn(){return ui}})}u(ve);var D=v(ve,4),V=c(D);u(D);var ne=v(D,2),Me=ue=>{var ye=Vl(),we=v(pe(ye),2),Pe=c(we);u(we);var Ee=v(we,4),Ne=c(Ee);u(Ee),j(()=>{h(Pe,`${e(A),l(()=>e(A)[0])??""} ${e(A),l(()=>e(A)[1])??""}`),h(Ne,`${e(P),l(()=>e(P)[0])??""} ${e(P),l(()=>e(P)[1])??""}`)}),q(ue,ye)};I(ne,ue=>{e(r),l(()=>e(r)?.ect1>0||e(r)?.ect2>0)&&ue(Me)}),u(xe),u(X),j(()=>h(V,`${e(m),l(()=>e(m)[0])??""} ${e(m),l(()=>e(m)[1])??""}`)),q(U,X)},le=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.e,e(r).om||e(r).e>0))));I(te,U=>{e(le)&&U(se)});var qe=v(te,2),G=U=>{var X=jn(),xe=c(X),ve=$e=>{{let D=Ce(()=>(e(p),l(()=>e(p).common?.voltage??"Volt")));gd($e,{get title(){return e(D)},get u1(){return e(r),l(()=>e(r).l1.u)},get u2(){return e(r),l(()=>e(r).l2.u)},get u3(){return e(r),l(()=>e(r).l3.u)},get ds(){return e(r),l(()=>e(r).ds)}})}};I(xe,$e=>{e(r),l(()=>e(r).l1)&&$e(ve)}),u(X),q(U,X)},x=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.v,e(r).l1&&(e(r).l1.u>100||e(r).l2.u>100||e(r).l3.u>100)))));I(qe,U=>{e(x)&&U(G)});var _=v(qe,2),w=U=>{var X=jn(),xe=c(X),ve=$e=>{{let D=Ce(()=>(e(p),l(()=>e(p).common?.amperage??"Amp"))),V=Ce(()=>(e(r),l(()=>Math.max(Math.abs(e(r).l1.i),0)))),ne=Ce(()=>(e(r),l(()=>Math.max(Math.abs(e(r).l2.i),0)))),Me=Ce(()=>(e(r),l(()=>Math.max(Math.abs(e(r).l3.i),0))));Jo($e,{get title(){return e(D)},unit:"A",get importColorFn(){return eo},get exportColorFn(){return ui},get maxImport(){return e(r),l(()=>e(r).mf)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l2x(){return e(r),l(()=>e(r).l2.e)},get l1i(){return e(V)},get l2i(){return e(ne)},get l3i(){return e(Me)}})}};I(xe,$e=>{e(r),l(()=>e(r).l1)&&$e(ve)}),u(X),q(U,X)},y=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.a,e(r).l1&&(e(r).l1.i>.01||e(r).l2.i>.01||e(r).l3.i>.01)))));I(_,U=>{e(y)&&U(w)});var M=v(_,2),N=U=>{var X=jn(),xe=c(X),ve=$e=>{{let D=Ce(()=>(e(p),l(()=>e(p).dashboard?.phase??"Phase"))),V=Ce(()=>(e(r),l(()=>(e(r).mf?e(r).mf:32)*230))),ne=Ce(()=>(e(r),e(R),l(()=>e(r).om?e(R)?e(r).om*1e3/Math.sqrt(3):e(r).om*1e3:0)));Jo($e,{get title(){return e(D)},unit:"W",get importColorFn(){return eo},get exportColorFn(){return ui},get maxImport(){return e(V)},get maxExport(){return e(ne)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),l(()=>e(r).l1.p)},get l2i(){return e(r),l(()=>e(r).l2.p)},get l3i(){return e(r),l(()=>e(r).l3.p)},get l1e(){return e(r),l(()=>e(r).l1.q)},get l2e(){return e(r),l(()=>e(r).l2.q)},get l3e(){return e(r),l(()=>e(r).l3.q)}})}};I(xe,$e=>{e(r),l(()=>e(r).l1)&&$e(ve)}),u(X),q(U,X)},z=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.h,e(r).l1&&(e(r).l1.p>.01||e(r).l2.p>.01||e(r).l3.p>.01||e(r).l1.q>.01||e(r).l2.q>.01||e(r).l3.q>.01)))));I(M,U=>{e(z)&&U(N)});var Z=v(M,2),ge=U=>{var X=jn(),xe=c(X),ve=$e=>{{let D=Ce(()=>(e(p),l(()=>e(p).dashboard?.pf??"Pf")));Jo($e,{get title(){return e(D)},get importColorFn(){return ui},get exportColorFn(){return ui},maxImport:1,get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),l(()=>e(r).l1.f)},get l2i(){return e(r),l(()=>e(r).l2.f)},get l3i(){return e(r),l(()=>e(r).l3.f)}})}};I(xe,$e=>{e(r),l(()=>e(r).l1)&&$e(ve)}),u(X),q(U,X)},We=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.f,e(r).l1&&(e(r).l1.f>.01||e(r).l2.f>.01||e(r).l3.f>.01)))));I(Z,U=>{e(We)&&U(ge)});var Oe=v(Z,2),Ue=U=>{var X=jn();xd(c(X),{get importInstant(){return e(r),l(()=>e(r).ri)},get exportInstant(){return e(r),l(()=>e(r).re)},get importTotal(){return e(r),l(()=>e(r).ric)},get exportTotal(){return e(r),l(()=>e(r).rec)},get translations(){return e(p)}}),u(X),q(U,X)},pt=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.r,e(r).ri>0||e(r).re>0||e(r).ric>0||e(r).rec>0))));I(Oe,U=>{e(pt)&&U(Ue)});var Ze=v(Oe,2),qt=U=>{var X=jn(),xe=c(X);{let ve=Ce(()=>(e(r),l(()=>e(r).om>0||e(r).e>0)));Sd(xe,{get sysinfo(){return e(a)},get data(){return e(r),l(()=>e(r).ea)},get currency(){return e(r),l(()=>e(r).pc)},get hasExport(){return e(ve)},get translations(){return e(p)}})}u(X),q(U,X)},be=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.c,e(r).ea))));I(Ze,U=>{e(be)&&U(qt)});var Le=v(Ze,2),Ve=U=>{var X=Ud(),xe=c(X);{let ve=Ce(()=>(e(p),l(()=>e(p).dashboard?.tariffpeak??"Tariff peaks")));Td(xe,{get title(){return e(ve)},get tariffData(){return e(S)},get realtime(){return e(r),l(()=>e(r).ea)},get translations(){return e(p)}})}u(X),q(U,X)},ct=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.t,e(r).pr&&(e(r).pr.startsWith("NO")||e(r).pr.startsWith("10YNO")||e(r).pr.startsWith("10Y1001A1001A4"))))));I(Le,U=>{e(ct)&&U(Ve)});var Ge=v(Le,2),ht=U=>{var X=sn(),xe=c(X);{let ve=Ce(()=>(e(p),l(()=>e(p).dashboard?.realtime??"Real time")));Id(xe,{get title(){return e(ve)}})}u(X),q(U,X)},lt=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.l,e(r).hm==1))));I(Ge,U=>{e(lt)&&U(ht)});var mt=v(Ge,2),_r=U=>{var X=gr(),xe=pe(X),ve=D=>{var V=sn(),ne=c(V);{let Me=Ce(()=>(e(p),l(()=>e(p).dashboard?.price_import??"Price import")));Qo(ne,{get title(){return e(Me)},get json(){return e(s)},get sysinfo(){return e(a)}})}u(V),q(D,V)},$e=D=>{var V=sn(),ne=c(V);{let Me=Ce(()=>(e(p),l(()=>e(p).dashboard?.price??"Price")));Qo(ne,{get title(){return e(Me)},get json(){return e(s)},get sysinfo(){return e(a)}})}u(V),q(D,V)};I(xe,D=>{e(s),e(r),l(()=>e(s)?.importExportPriceDifferent&&(e(r).om||e(r).e>0))?D(ve):D($e,-1)}),q(U,X)},Ir=Yt(()=>($(Ot),e(a),e(r),l(()=>Ot(e(a).ui.p,e(r).p&&!Number.isNaN(e(r).p)))));I(mt,U=>{e(Ir)&&U(_r)});var yr=v(mt,2),ke=U=>{var X=sn(),xe=c(X);{let ve=Ce(()=>(e(p),l(()=>e(p).dashboard?.price_export??"Price export")));Qo(xe,{get title(){return e(ve)},get json(){return e(f)},get sysinfo(){return e(a)}})}u(X),q(U,X)},Fe=Yt(()=>(e(s),e(r),$(Ot),e(a),l(()=>e(s)?.importExportPriceDifferent&&(e(r).om||e(r).e>0)&&Ot(e(a).ui.p,e(r).pe&&!Number.isNaN(e(r).pe)))));I(yr,U=>{e(Fe)&&U(ke)});var He=v(yr,2),tt=U=>{var X=sn(),xe=c(X);{let ve=Ce(()=>(e(p),l(()=>e(p).dashboard?.day??"24 hours")));qd(xe,{get title(){return e(ve)},get json(){return e(i)},get sysinfo(){return e(a)}})}u(X),q(U,X)},Dt=Yt(()=>($(Ot),e(a),e(i),l(()=>Ot(e(a).ui.d,e(i)))));I(He,U=>{e(Dt)&&U(tt)});var ft=v(He,2),Ct=U=>{var X=sn(),xe=c(X);{let ve=Ce(()=>(e(p),l(()=>e(p).dashboard?.month??"{0} days")));Md(xe,{get title(){return e(ve)},get json(){return e(d)},get sysinfo(){return e(a)}})}u(X),q(U,X)},Ft=Yt(()=>($(Ot),e(a),e(d),l(()=>Ot(e(a).ui.m,e(d)))));I(ft,U=>{e(Ft)&&U(Ct)});var Pr=v(ft,2),sr=U=>{var X=sn(),xe=c(X);{let ve=Ce(()=>(e(p),l(()=>e(p).dashboard?.temperature??"Temperature")));Ed(xe,{get title(){return e(ve)},get json(){return e(g)}})}u(X),q(U,X)},de=Yt(()=>($(Ot),e(a),e(r),e(g),l(()=>Ot(e(a).ui.s,e(r).t&&e(r).t!=-127&&e(g).c>1))));I(Pr,U=>{e(de)&&U(sr)}),u(O),q(t,O),xt()}var Ss={},gi=Jr(Ss);async function Yd(){Ss=await(await fetch("configuration.json")).json(),gi.set(Ss)}var qs={},bu=Jr(qs);async function Gd(){qs=await(await fetch("priceconfig.json")).json(),bu.set(qs)}var Kd=F(" ",1),Vd=F(""),Xd=F(" ",1);function Ms(t,n){bt(n,!1);let r=fe(n,"chip",8),a=W(39);or(()=>$(r()),()=>{switch(r()){case"esp8266":E(a,16);break;case"esp32s2":E(a,44);break;case"esp32s3":E(a,46);break;case"esp32c3":E(a,21);break}}),dr();var s=Xd(),f=pe(s);f.value=f.__value=-1;var i=v(f,2),d=p=>{var S=Kd(),o=pe(S);o.value=o.__value=3;var m=v(o,2);m.value=m.__value=113,q(p,S)};I(i,p=>{r()=="esp8266"&&p(d)});var g=v(i,2);jt(g,1,()=>({length:e(a)+1}),Rt,(p,S,o)=>{var m=gr(),k=pe(m),b=A=>{var P=Vd();P.textContent=`GPIO${o}`,P.value=P.__value=o,q(A,P)};I(k,A=>{o>1&&!(r()=="esp8266"&&(o==3||o==113))&&A(b)}),q(p,m)}),q(t,s),xt()}var Qd=F('
'),Zd=F('
');function jr(t,n){let r=fe(n,"active",8),a=fe(n,"message",8);var s=gr(),f=pe(s),i=d=>{var g=Zd(),p=c(g),S=c(p),o=m=>{var k=Qd(),b=c(k,!0);u(k),j(()=>h(b,a())),q(m,k)};I(S,m=>{a()&&m(o)}),u(p),u(g),q(d,g)};I(f,d=>{r()&&d(i)}),q(t,s)}var Jd=F(""),e_=F(" ",1);function t_(t){let n=["Amsterdam","Athens","Belfast","Berlin","Bratislava","Brussels","Bucharest","Budapest","Copenhagen","Dublin","Helsinki","Lisbon","Ljubljana","London","Luxembourg","Madrid","Malta","Nicosia","Oslo","Paris","Prague","Riga","Rome","Sofia","Stockholm","Tallinn","Vienna","Vilnius","Warsaw","Zagreb","Zurich"];var r=e_(),a=v(pe(r),2);jt(a,1,()=>n,Rt,(s,f)=>{var i=Jd(),d=c(i);u(i),j(()=>h(d,`Europe/${e(f)??""}`)),q(s,i)}),q(t,r)}var r_=F(' ',1);function xu(t){var n=r_(),r=pe(n),a=c(r);a.value=a.__value="255.255.255.0",u(r);var s=v(r,2),f=c(s);f.value=f.__value="255.255.255.128";var i=v(f,2);i.value=i.__value="255.255.255.192";var d=v(i,2);d.value=d.__value="255.255.255.224";var g=v(d,2);g.value=g.__value="255.255.255.240";var p=v(g,2);p.value=p.__value="255.255.255.248",u(s);var S=v(s,2),o=c(S);o.value=o.__value="255.255.254.0";var m=v(o,2);m.value=m.__value="255.255.252.0";var k=v(m,2);k.value=k.__value="255.255.0.0",u(S),q(t,n)}var a_=F('

');function n_(t,n){bt(n,!1);let r=fe(n,"cfg",12),a=fe(n,"item",8),s=fe(n,"translations",24,()=>({}));St();var f=a_(),i=c(f,!0),d=v(i,3),g=c(d),p=c(g,!0);u(g),g.value=g.__value=0;var S=v(g),o=c(S,!0);u(S),S.value=S.__value=1;var m=v(S),k=c(m,!0);u(m),m.value=m.__value=2,u(d),u(f),j(()=>{h(i,($(s()),$(a()),l(()=>s().conf?.ui?.[a().key]??a().name))),Q(d,"name",`u${$(a()),l(()=>a().key)??""}`),h(p,($(s()),l(()=>s().conf?.ui?.disabled??"Disabled"))),h(o,($(s()),l(()=>s().conf?.ui?.enabled??"Enabled"))),h(k,($(s()),l(()=>s().conf?.ui?.auto??"Auto")))}),Tt(d,()=>r()[a().key],b=>(r(r()[a().key]=b,!0),K(()=>{a(),s()}))),q(t,f),xt()}var i_=Pu(((t,n)=>{(function(r,a){typeof t=="object"&&typeof n<"u"?n.exports=a():typeof define=="function"&&define.amd?define(a):r.QRious=a()})(t,(function(){"use strict";var r=function(){},a=Object.prototype.hasOwnProperty,s=Array.prototype.slice;function f(x,_){var w;return typeof Object.create=="function"?w=Object.create(x):(r.prototype=x,w=new r,r.prototype=null),_&&d(!0,w,_),w}function i(x,_,w,y){var M=this;return typeof x!="string"&&(y=w,w=_,_=x,x=null),typeof _!="function"&&(y=w,w=_,_=function(){return M.apply(this,arguments)}),d(!1,_,M,y),_.prototype=f(M.prototype,w),_.prototype.constructor=_,_.class_=x||M.class_,_.super_=M,_}function d(x,_,w){w=s.call(arguments,2);for(var y,M,N=0,z=w.length;N>1&1,y=0;y0;_--)y[_]=y[_]?y[_-1]^A.EXPONENT[R._modN(A.LOG[y[_]]+x)]:y[_-1];y[0]=A.EXPONENT[R._modN(A.LOG[y[0]]+x)]}for(x=0;x<=w;x++)y[x]=A.LOG[y[x]]},_checkBadness:function(){var x,_,w,y,M,N=0,z=this._badness,Z=this.buffer,ge=this.width;for(M=0;Mge*ge;)Ue-=ge*ge,Oe++;for(N+=Oe*R.N4,y=0;y=z-2&&(x=z-2,M>9&&x--);var Z=x;if(M>9){for(N[Z+2]=0,N[Z+3]=0;Z--;)_=N[Z],N[Z+3]|=255&_<<4,N[Z+2]=_>>4;N[2]|=255&x<<4,N[1]=x>>4,N[0]=64|x>>12}else{for(N[Z+1]=0,N[Z+2]=0;Z--;)_=N[Z],N[Z+2]|=255&_<<4,N[Z+1]=_>>4;N[1]|=255&x<<4,N[0]=64|x>>4}for(Z=x+3-(M<10);Z=5&&(w+=R.N1+y[_]-5);for(_=3;_x||y[_-3]*3>=y[_]*4||y[_+3]*3>=y[_]*4)&&(w+=R.N3);return w},_finish:function(){this._stringBuffer=this.buffer.slice();var x,_,w=0,y=3e4;for(_=0;_<8&&(this._applyMask(_),x=this._checkBadness(),x>=1)y&1&&(M[N-1-_+N*8]=1,_<6?M[8+N*_]=1:M[8+N*(_+1)]=1);for(_=0;_<7;_++,y>>=1)y&1&&(M[8+N*(N-7+_)]=1,_?M[6-_+N*8]=1:M[7+N*8]=1)},_interleaveBlocks:function(){var x,_,w=this._dataBlock,y=this._ecc,M=this._eccBlock,N=0,z=this._calculateMaxLength(),Z=this._neccBlock1,ge=this._neccBlock2,We=this._stringBuffer;for(x=0;x1)for(x=k.BLOCK[y],w=M-7;;){for(_=M-7;_>x-3&&(this._addAlignment(_,w),!(_6)for(x=P.BLOCK[N-7],_=17,w=0;w<6;w++)for(y=0;y<3;y++,_--)1&(_>11?N>>_-12:x>>_)?(M[5-w+z*(2-y+z-11)]=1,M[2-y+z-11+z*(5-w)]=1):(this._setMask(5-w,2-y+z-11),this._setMask(2-y+z-11,5-w))},_isMasked:function(x,_){var w=R._getMaskBit(x,_);return this._mask[w]===1},_pack:function(){var x,_,w,y=1,M=1,N=this.width,z=N-1,Z=N-1,ge=(this._dataBlock+this._eccBlock)*(this._neccBlock1+this._neccBlock2)+this._neccBlock2;for(_=0;__&&(w=x,x=_,_=w),w=_,w+=_*_,w>>=1,w+=x,w},_modN:function(x){for(;x>=255;)x-=255,x=(x>>8)+(x&255);return x},N1:3,N2:3,N3:40,N4:10}),Y=R,H=o.extend({draw:function(){this.element.src=this.qrious.toDataURL()},reset:function(){this.element.src=""},resize:function(){var x=this.element;x.width=x.height=this.qrious.size}}),T=S.extend(function(x,_,w,y){this.name=x,this.modifiable=!!_,this.defaultValue=w,this._valueTransformer=y},{transform:function(x){var _=this._valueTransformer;return typeof _=="function"?_(x,this):x}}),O=S.extend(null,{abs:function(x){return x!=null?Math.abs(x):null},hasOwn:function(x,_){return Object.prototype.hasOwnProperty.call(x,_)},noop:function(){},toUpperCase:function(x){return x!=null?x.toUpperCase():null}}),C=S.extend(function(x){this.options={},x.forEach(function(_){this.options[_.name]=_},this)},{exists:function(x){return this.options[x]!=null},get:function(x,_){return C._get(this.options[x],_)},getAll:function(x){var _,w=this.options,y={};for(_ in w)O.hasOwn(w,_)&&(y[_]=C._get(w[_],x));return y},init:function(x,_,w){typeof w!="function"&&(w=O.noop);var y,M;for(y in this.options)O.hasOwn(this.options,y)&&(M=this.options[y],C._set(M,M.defaultValue,_),C._createAccessor(M,_,w));this._setAll(x,_,!0)},set:function(x,_,w){return this._set(x,_,w)},setAll:function(x,_){return this._setAll(x,_)},_set:function(x,_,w,y){var M=this.options[x];if(!M)throw new Error("Invalid option: "+x);if(!M.modifiable&&!y)throw new Error("Option cannot be modified: "+x);return C._set(M,_,w)},_setAll:function(x,_,w){if(!x)return!1;var y,M=!1;for(y in x)O.hasOwn(x,y)&&this._set(y,x[y],_,w)&&(M=!0);return M}},{_createAccessor:function(x,_,w){var y={get:function(){return C._get(x,_)}};x.modifiable&&(y.set=function(M){C._set(x,M,_)&&w(M,x)}),Object.defineProperty(_,x.name,y)},_get:function(x,_){return _["_"+x.name]},_set:function(x,_,w){var y="_"+x.name,M=w[y],N=x.transform(_??x.defaultValue);return w[y]=N,N!==M}}),B=C,J=S.extend(function(){this._services={}},{getService:function(x){var _=this._services[x];if(!_)throw new Error("Service is not being managed with name: "+x);return _},setService:function(x,_){if(this._services[x])throw new Error("Service is already managed with name: "+x);_&&(this._services[x]=_)}}),te=new B([new T("background",!0,"white"),new T("backgroundAlpha",!0,1,O.abs),new T("element"),new T("foreground",!0,"black"),new T("foregroundAlpha",!0,1,O.abs),new T("level",!0,"L",O.toUpperCase),new T("mime",!0,"image/png"),new T("padding",!0,null,O.abs),new T("size",!0,100,O.abs),new T("value",!0,"")]),se=new J,le=S.extend(function(x){te.init(x,this,this.update.bind(this));var _=te.get("element",this),w=se.getService("element"),y=_&&w.isCanvas(_)?_:w.createCanvas(),M=_&&w.isImage(_)?_:w.createImage();this._canvasRenderer=new m(this,y,!0),this._imageRenderer=new H(this,M,M===_),this.update()},{get:function(){return te.getAll(this)},set:function(x){te.setAll(x,this)&&this.update()},toDataURL:function(x){return this.canvas.toDataURL(x||this.mime)},update:function(){var x=new Y({level:this.level,value:this.value});this._canvasRenderer.render(x),this._imageRenderer.render(x)}},{use:function(x){se.setService(x.getName(),x)}});Object.defineProperties(le.prototype,{canvas:{get:function(){return this._canvasRenderer.getElement()}},image:{get:function(){return this._imageRenderer.getElement()}}});var qe=le,G=S.extend({getName:function(){}}).extend({createCanvas:function(){},createImage:function(){},getName:function(){return"element"},isCanvas:function(x){},isImage:function(x){}}).extend({createCanvas:function(){return document.createElement("canvas")},createImage:function(){return document.createElement("img")},isCanvas:function(x){return x instanceof HTMLCanvasElement},isImage:function(x){return x instanceof HTMLImageElement}});return qe.use(new G),qe}))})),o_=Cu(i_()),s_=F("");function l_(t,n){bt(n,!1);let r=fe(n,"errorCorrection",8,"L"),a=fe(n,"background",8,"#fff"),s=fe(n,"color",8,"#000"),f=fe(n,"size",8,"200"),i=fe(n,"value",8,""),d=fe(n,"padding",8,0),g=fe(n,"className",8,"qrcode"),p=W(""),S=W();function o(){e(S).set({background:a(),foreground:s(),level:r(),padding:d(),size:f(),value:i()}),E(p,e(S).toDataURL("image/jpeg"))}function m(){return e(p)}Oo(()=>{E(S,new o_.default),i()&&o()}),or(()=>($(i()),e(S)),()=>{i()&&e(S)&&o()}),dr();var k={getImage:m};St();var b=s_();return j(()=>{Q(b,"src",e(p)),Q(b,"alt",i()),Qr(b,1,vn(g()))}),q(t,b),hf(n,"getImage",m),xt(k)}var Vi=F("",1),v_=F(" ",1),Fn=F(""),u_=F('
',1),c_=F('


👁️
',1),f_=F('







'),d_=F(""),__=F('
'),p_=F('
'),h_=F('
',1),m_=F('

'),g_=F('




'),b_=F('




'),x_=F(''),y_=F(''),w_=F(''),k_=F('


👁️


dBm
',1),$_=F('
'),S_=F('


',1),q_=F('


'),M_=F(''),E_=F(' 🗑',1),T_=F(''),A_=F(' 🗑',1),P_=F(''),O_=F(' 🗑',1),C_=F(''),N_=F('
'),L_=F('



👁️




'),D_=F('


'),R_=F('



'),j_=F(''),F_=F(''),I_=F('
',1),W_=F('
'),B_=F('
'),U_=F('
',1),H_=F('
'),z_=F('
',1),Y_=F('
'),G_=F(''),K_=F('
'),V_=F('
'),X_=F('

'),Q_=F('

'),Z_=F('







',1),J_=F('
'),ep=F('Power saving: ',1),tp=F('

'),rp=F('


',1),ap=F('
'),np=F('
'),ip=F('
',1),op=F('
'),sp=F('
',1),lp=F('
'),vp=F('
',1);function up(t,n){bt(n,!1);let r="/",a=W({}),s=W();mr.subscribe(D=>E(a,D)),Co.subscribe(D=>E(s,D));let f=W(),i=W({});Gr.subscribe(D=>{E(i,D)});let d=[{name:"Import gauge",key:"i"},{name:"Export gauge",key:"e"},{name:"Voltage",key:"v"},{name:"Amperage",key:"a"},{name:"Per phase",key:"h"},{name:"Power factor",key:"f"},{name:"Reactive",key:"r"},{name:"Realtime",key:"c"},{name:"Peaks",key:"t"},{name:"Realtime plot",key:"l"},{name:"Price",key:"p"},{name:"Day plot",key:"d"},{name:"Month plot",key:"m"},{name:"Temperature plot",key:"s"},{name:"Dark mode",key:"k"}],g=W(!0),p=W(!1),S=W(!1),o=W(),m=W([]);gi.subscribe(D=>{D.version&&(E(S,D?.c?.e),E(o,D),E(g,!1),E(m,[{code:"en",name:"English"}]),e(o)?.u?.lang&&e(o).u.lang!="en"&&e(m).push({code:e(o).u.lang,name:e(i).language?.name??"Unknown"}),e(m).push({code:"hub",name:"Load from server"}))}),Yd();let k=W(!0),b=W({});Qs.subscribe(D=>{E(k,!0);for(let V=0;V(ue.hostname=V.get("gh"),ue.usrcfg=Me.success,ue.booting=Me.reboot,V.get("nm")=="static"&&(ue.net.ip=V.get("ni"),ue.net.mask=V.get("nu"),ue.net.gw=V.get("ng"),ue.net.dns1=V.get("nd")),ue.ui=e(o).u,ue)),E(p,!1),Ja(r)}async function H(){await(await fetch("reboot",{method:"POST"})).json()}const T=function(){confirm("Reboot?")&&(mr.update(D=>(D.booting=!0,D)),H())};async function O(){confirm("Are you sure you want to delete CA?")&&(await(await fetch("mqtt-ca",{method:"POST"})).text(),gi.update(D=>(D.q.s.c=!1,D)))}async function C(){confirm("Are you sure you want to delete cert?")&&(await(await fetch("mqtt-cert",{method:"POST"})).text(),gi.update(D=>(D.q.s.r=!1,D)))}async function B(){confirm("Are you sure you want to delete key?")&&(await(await fetch("mqtt-key",{method:"POST"})).text(),gi.update(D=>(D.q.s.k=!1,D)))}const J=function(){e(o).q.s.e?e(o).q.p==1883&&(ee(o,e(o).q.p=8883),K(()=>{e(i),e(a),e(b),e(m)})):e(o).q.p==8883&&(ee(o,e(o).q.p=1883),K(()=>{e(i),e(a),e(b),e(m)}))};async function te(){if(e(o).u.lang=="hub"){const D=await la("http://hub.amsleser.no/hub/language/list.json");E(m,await D.json()),ee(o,e(o).u.lang=e(i).language.code),K(()=>{e(i),e(a),e(b),e(m)})}}async function se(){ee(o,e(o).p.e=!0),K(()=>{e(i),e(a),e(b),e(m)})}let le=W(44);async function qe(){const D=await la("cloudkey.json");if(D.status==200){let V=await D.json();window.open("https://www.amsleser.cloud/device/"+V.seed)}else alert("Not able to bind to cloud")}const G=window||global;G.bindToCloud=function(){console.log("BIND CALLED")};async function x(){const D=e(f).querySelector('input[name="wp"]');y.call(this,D)}async function _(){const D=e(f).querySelector('input[name="qa"]');y.call(this,D)}async function w(){const D=e(f).querySelector('input[name="gp"]');y.call(this,D)}async function y(D){D.type==="password"?(D.type="text",this.textContent="🙈"):(D.type="password",this.textContent="👁️")}or(()=>e(a),()=>{E(le,e(a).chip=="esp8266"?16:e(a).chip=="esp32s2"?44:39)}),dr(),St();var M=vp(),N=pe(M),z=c(N),Z=c(z),ge=D=>{var V=f_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=v(ye,2),Pe=c(we),Ee=c(Pe),Ne=c(Ee,!0),Ie=v(Ne,3);ce(Ie),u(Ee);var ae=v(Ee,2),_e=c(ae,!0),he=v(_e,3);_n(he,()=>{var $t=c(he),Sr=Vi();t_(pe(Sr),{}),q($t,Sr)}),u(ae),u(Pe),u(we);var me=v(we,2),oe=v(me,2),Te=c(oe),re=c(Te),ie=c(re,!0),Se=v(ie,3),Re=c(Se),De=c(Re),vt=$t=>{var Sr=v_(),ur=pe(Sr);ur.value=ur.__value="NO1S";var va=v(ur,2);va.value=va.__value="NO2S";var na=v(va,2);na.value=na.__value="NO3S";var Dn=v(na,2);Dn.value=Dn.__value="NO4S";var ii=v(Dn,2);ii.value=ii.__value="NO5S",q($t,Sr)};I(De,$t=>{e(o),l(()=>!e(o).p.t)&&$t(vt)});var dt=v(De,2);dt.value=dt.__value="10YNO-1--------2";var at=v(dt,2);at.value=at.__value="10YNO-2--------T";var nt=v(at,2);nt.value=nt.__value="10YNO-3--------J";var Xe=v(nt,2);Xe.value=Xe.__value="10YNO-4--------9";var gt=v(Xe,2);gt.value=gt.__value="10Y1001A1001A48H",u(Re);var kt=v(Re),It=c(kt);It.value=It.__value="10Y1001A1001A44P";var Gt=v(It,2);Gt.value=Gt.__value="10Y1001A1001A45N";var Vt=v(Gt,2);Vt.value=Vt.__value="10Y1001A1001A46L";var st=v(Vt,2);st.value=st.__value="10Y1001A1001A47J",u(kt);var Xt=v(kt),Mt=c(Xt);Mt.value=Mt.__value="10YDK-1--------W";var Kt=v(Mt,2);Kt.value=Kt.__value="10YDK-2--------M",u(Xt);var Wt=v(Xt),Wr=c(Wt);Wr.value=Wr.__value="10Y1001A1001A73I";var er=v(Wr,2);er.value=er.__value="10Y1001A1001A70O";var Hr=v(er,2);Hr.value=Hr.__value="10Y1001A1001A71M";var tr=v(Hr,2);tr.value=tr.__value="10Y1001A1001A788";var Er=v(tr,2);Er.value=Er.__value="10Y1001C--00096J";var ir=v(Er,2);ir.value=ir.__value="10Y1001A1001A75E";var lr=v(ir,2);lr.value=lr.__value="10Y1001A1001A74G",u(Wt);var Kr=v(Wt);Kr.value=Kr.__value="10YAL-KESH-----5";var Vr=v(Kr);Vr.value=Vr.__value="10YAT-APG------L";var Or=v(Vr);Or.value=Or.__value="10YBE----------2";var Ye=v(Or);Ye.value=Ye.__value="10YCA-BULGARIA-R";var ut=v(Ye);ut.value=ut.__value="10YHR-HEP------M";var At=v(ut);At.value=At.__value="10YCZ-CEPS-----N";var rt=v(At);rt.value=rt.__value="10Y1001A1001A39I";var Et=v(rt);Et.value=Et.__value="10YFI-1--------U";var Qt=v(Et);Qt.value=Qt.__value="10YFR-RTE------C";var Tr=v(Qt);Tr.value=Tr.__value="10Y1001A1001A82H";var pr=v(Tr);pr.value=pr.__value="10YGR-HTSO-----Y";var wr=v(pr);wr.value=wr.__value="10YHU-MAVIR----U";var Bt=v(wr);Bt.value=Bt.__value="10Y1001A1001A59C";var Zt=v(Bt);Zt.value=Zt.__value="10Y1001C--00100H";var kr=v(Zt);kr.value=kr.__value="10YLV-1001A00074";var Cr=v(kr);Cr.value=Cr.__value="10YLT-1001A0008Q";var Ut=v(Cr);Ut.value=Ut.__value="10YCS-CG-TSO---S";var Ht=v(Ut);Ht.value=Ht.__value="10YNL----------L";var ta=v(Ht);ta.value=ta.__value="10YMK-MEPSO----8";var ze=v(ta);ze.value=ze.__value="10YPL-AREA-----S";var Jt=v(ze);Jt.value=Jt.__value="10YPT-REN------W";var Nr=v(Jt);Nr.value=Nr.__value="10YRO-TEL------P";var Br=v(Nr);Br.value=Br.__value="10YCS-SERBIATSOV";var $r=v(Br);$r.value=$r.__value="10YSK-SEPS-----K";var br=v($r);br.value=br.__value="10YSI-ELES-----O";var Lr=v(br);Lr.value=Lr.__value="10YES-REE------0";var Ea=v(Lr);Ea.value=Ea.__value="10YCH-SWISSGRIDZ",u(Se),u(re);var Je=v(re,2),ra=c(Je,!0),aa=v(ra,3);jt(aa,4,()=>[15,60],Rt,($t,Sr)=>{var ur=Fn(),va=c(ur);u(ur);var na={};j(()=>{h(va,`${Sr??""}M`),na!==(na=Sr)&&(ur.value=(ur.__value=Sr)??"")}),q($t,ur)}),u(aa),u(Je);var Nn=v(Je,2),Ni=c(Nn,!0),ri=v(Ni,3);jt(ri,4,()=>["NOK","SEK","DKK","EUR","CHF"],Rt,($t,Sr)=>{var ur=Fn(),va=c(ur,!0);u(ur);var na={};j(()=>{h(va,Sr),na!==(na=Sr)&&(ur.value=(ur.__value=Sr)??"")}),q($t,ur)}),u(ri),u(Nn),u(Te),u(oe);var rn=v(oe,2),Li=c(rn),No=c(Li,!0);u(Li),u(rn);var ai=v(rn,2),Ln=c(ai),an=c(Ln);ce(an),an.value=an.__value="true";var Lo=v(an);u(Ln);var Do=v(Ln,2),vr=$t=>{var Sr=u_(),ur=pe(Sr);ce(ur),Rr(3),Ae(ur,()=>e(o).p.t,va=>(ee(o,e(o).p.t=va),K(()=>{e(i),e(a),e(b),e(m)}))),q($t,Sr)};I(Do,$t=>{e(o),e(a),l(()=>e(o).p.e&&e(a).chip!="esp8266"&&e(o).p.t)&&$t(vr)}),u(ai);var rr=v(ai,2),xr=c(rr,!0),Ar=v(xr,3),Dr=c(Ar),Ta=c(Dr,!0);u(Dr),Dr.value=Dr.__value=0;var ni=v(Dr),wu=c(ni,!0);u(ni),ni.value=ni.__value=1;var Di=v(ni),ku=c(Di,!0);u(Di),Di.value=Di.__value=2,u(Ar),u(rr);var el=v(rr,2),$u=$t=>{var Sr=c_(),ur=pe(Sr),va=c(ur,!0),na=v(va,3);ce(na),u(ur);var Dn=v(ur,2),ii=c(Dn,!0),al=v(ii,3),ji=c(al);ce(ji);var Su=v(ji,2);u(al),u(Dn),j(()=>{h(va,(e(i),l(()=>e(i).conf?.general?.security?.username??"Username"))),Q(na,"pattern",Fa),h(ii,(e(i),l(()=>e(i).conf?.general?.security?.password??"Password"))),Q(ji,"pattern",Fa)}),Ae(na,()=>e(o).g.u,Ro=>(ee(o,e(o).g.u=Ro),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(ji,()=>e(o).g.p,Ro=>(ee(o,e(o).g.p=Ro),K(()=>{e(i),e(a),e(b),e(m)}))),Be("click",Su,w),q($t,Sr)};I(el,$t=>{e(o),l(()=>e(o).g.s>0)&&$t($u)});var tl=v(el,2),rl=c(tl,!0),Ri=v(rl,3);ce(Ri),u(tl),u(V),j($t=>{h(Me,(e(i),l(()=>e(i).conf?.general?.title??"General"))),Q(ue,"href",$t),h(Ne,(e(i),l(()=>e(i).conf?.general?.hostname??"Hostname"))),Q(Ie,"pattern",to),h(_e,(e(i),l(()=>e(i).conf?.general?.timezone??"Time zone"))),h(ie,(e(i),l(()=>e(i).conf?.price?.region??"Price region"))),h(ra,(e(i),l(()=>e(i).conf?.price?.resolution??"Resolution"))),h(Ni,(e(i),l(()=>e(i).conf?.price?.currency??"Currency"))),h(No,(e(i),l(()=>e(i).conf?.price?.conf??"Configure"))),h(Lo,` ${e(i),l(()=>e(i).conf?.price?.enabled??"Enabled")??""}`),h(xr,(e(i),l(()=>e(i).conf?.general?.security?.title??"Security"))),h(Ta,(e(i),l(()=>e(i).conf?.general?.security?.none??"None"))),h(wu,(e(i),l(()=>e(i).conf?.general?.security?.conf??"Conf"))),h(ku,(e(i),l(()=>e(i).conf?.general?.security?.all??"All"))),h(rl,(e(i),l(()=>e(i).conf?.general?.context??"Context"))),Q(Ri,"pattern",to),Q(Ri,"placeholder",(e(i),l(()=>e(i).conf?.general?.context_placeholder??"/")))},[()=>($(zt),l(()=>zt("general")))]),Ae(Ie,()=>e(o).g.h,$t=>(ee(o,e(o).g.h=$t),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(he,()=>e(o).g.t,$t=>(ee(o,e(o).g.t=$t),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(Se,()=>e(o).p.r,$t=>(ee(o,e(o).p.r=$t),K(()=>{e(i),e(a),e(b),e(m)}))),Be("change",Se,se),Tt(aa,()=>e(o).p.m,$t=>(ee(o,e(o).p.m=$t),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(ri,()=>e(o).p.c,$t=>(ee(o,e(o).p.c=$t),K(()=>{e(i),e(a),e(b),e(m)}))),cr(an,()=>e(o).p.e,$t=>(ee(o,e(o).p.e=$t),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(Ar,()=>e(o).g.s,$t=>(ee(o,e(o).g.s=$t),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Ri,()=>e(o).g.c,$t=>(ee(o,e(o).g.c=$t),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)};I(Z,D=>{e(o),l(()=>e(o)?.g)&&D(ge)});var We=v(Z,2),Oe=D=>{var V=b_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=v(ye,2),Pe=v(we,2),Ee=c(Pe,!0),Ne=v(Ee,3),Ie=c(Ne),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=0;var _e=v(Ie),he=c(_e,!0);u(_e),_e.value=_e.__value=2;var me=v(_e),oe=Ye=>{var ut=d_();ut.value=ut.__value=9,q(Ye,ut)},Te=Yt(()=>(e(a),l(()=>e(a)?.features?.includes("kmp"))));I(me,Ye=>{e(Te)&&Ye(oe)}),u(Ne),u(Pe);var re=v(Pe,2),ie=Ye=>{var ut=__(),At=c(ut),rt=c(At,!0);u(At);var Et=v(At,2);ce(Et),Q(Et,"min",1),Q(Et,"max",3600),u(ut),j(()=>h(rt,(e(i),l(()=>e(i).conf?.meter?.pulses??"Pulses per kWh")))),Ae(Et,()=>e(o).m.b,Qt=>(ee(o,e(o).m.b=Qt),K(()=>{e(i),e(a),e(b),e(m)}))),q(Ye,ut)},Se=Ye=>{var ut=p_(),At=c(ut),rt=c(At,!0);u(At);var Et=v(At,2),Qt=c(Et,!0);u(Et);var Tr=v(Et,2),pr=c(Tr);ce(pr),pr.value=pr.__value="true";var wr=v(pr);u(Tr);var Bt=v(Tr,2),Zt=c(Bt),kr=c(Zt);kr.value=kr.__value=0;var Cr=v(kr);jt(Cr,0,()=>[3,12,24,48,96,192,384,576,1152],Rt,(br,Lr)=>{var Ea=Fn(),Je=c(Ea,!0);u(Ea);var ra={};j(()=>{h(Je,Lr*100),ra!==(ra=Lr*100)&&(Ea.value=Ea.__value=Lr*100)}),q(br,Ea)}),u(Zt);var Ut=v(Zt,2),Ht=c(Ut);Ht.value=Ht.__value=0;var ta=v(Ht);ta.value=ta.__value=2;var ze=v(ta);ze.value=ze.__value=3;var Jt=v(ze);Jt.value=Jt.__value=7;var Nr=v(Jt);Nr.value=Nr.__value=10;var Br=v(Nr);Br.value=Br.__value=11,u(Ut);var $r=v(Ut,2);ce($r),Q($r,"min",64),Q($r,"step",64),u(Bt),u(ut),j(()=>{h(rt,(e(i),l(()=>e(i).conf?.meter?.buffer??"Buffer size"))),h(Qt,(e(i),l(()=>e(i).conf?.meter?.serial??"Serial conf."))),h(wr,` ${e(i),l(()=>e(i).conf?.meter?.inverted??"inverted")??""}`),kr.disabled=(e(o),l(()=>e(o).m.b!=0)),Ut.disabled=(e(o),l(()=>e(o).m.b==0)),Ht.disabled=(e(o),l(()=>e(o).m.b!=0)),Q($r,"max",(e(a),e(o),l(()=>e(a).chip=="esp8266"?e(o).i.h.p==3||e(o).i.h.p==113?512:256:4096)))}),cr(pr,()=>e(o).m.i,br=>(ee(o,e(o).m.i=br),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(Zt,()=>e(o).m.b,br=>(ee(o,e(o).m.b=br),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(Ut,()=>e(o).m.p,br=>(ee(o,e(o).m.p=br),K(()=>{e(i),e(a),e(b),e(m)}))),Ae($r,()=>e(o).m.s,br=>(ee(o,e(o).m.s=br),K(()=>{e(i),e(a),e(b),e(m)}))),q(Ye,ut)};I(re,Ye=>{e(o),l(()=>e(o).m.a===2)?Ye(ie):Ye(Se,-1)});var Re=v(re,2),De=c(Re,!0),vt=v(De,3),dt=c(vt);dt.value=dt.__value=2;var at=v(dt);at.value=at.__value=1,u(vt),u(Re);var nt=v(Re,2),Xe=c(nt),gt=c(Xe,!0),kt=v(gt,3),It=c(kt);ce(It),Rr(2),u(kt),u(Xe);var Gt=v(Xe,2),Vt=c(Gt,!0),st=v(Vt,3),Xt=c(st);ce(Xt),Rr(2),u(st),u(Gt),u(nt);var Mt=v(nt,4),Kt=c(Mt),Wt=c(Kt);ce(Wt),Wt.value=Wt.__value="true";var Wr=v(Wt);u(Kt);var er=v(Kt,2),Hr=Ye=>{var ut=h_(),At=v(pe(ut));ce(At),j(()=>Q(At,"pattern",Fl)),Ae(At,()=>e(o).m.e.k,rt=>(ee(o,e(o).m.e.k=rt),K(()=>{e(i),e(a),e(b),e(m)}))),q(Ye,ut)};I(er,Ye=>{e(o),l(()=>e(o).m.e.e)&&Ye(Hr)}),u(Mt);var tr=v(Mt,2),Er=Ye=>{var ut=m_(),At=c(ut,!0),rt=v(At,3);ce(rt),u(ut),j(()=>{h(At,(e(i),l(()=>e(i).conf?.meter?.authkey??"Authentication key"))),Q(rt,"pattern",Fl)}),Ae(rt,()=>e(o).m.e.a,Et=>(ee(o,e(o).m.e.a=Et),K(()=>{e(i),e(a),e(b),e(m)}))),q(Ye,ut)};I(tr,Ye=>{e(o),l(()=>e(o).m.e.e)&&Ye(Er)});var ir=v(tr,2),lr=c(ir);ce(lr),lr.value=lr.__value="true";var Kr=v(lr);u(ir);var Vr=v(ir,2),Or=Ye=>{var ut=g_(),At=c(ut),rt=c(At,!0),Et=v(rt,3);ce(Et),u(At);var Qt=v(At,2),Tr=c(Qt,!0),pr=v(Tr,3);ce(pr),u(Qt);var wr=v(Qt,2),Bt=c(wr,!0),Zt=v(Bt,3);ce(Zt),u(wr);var kr=v(wr,2),Cr=c(kr,!0),Ut=v(Cr,3);ce(Ut),u(kr),u(ut),j(()=>{h(rt,(e(i),l(()=>e(i).conf?.meter?.multipliers?.watt??"Watt"))),h(Tr,(e(i),l(()=>e(i).conf?.meter?.multipliers?.volt??"Volt"))),h(Bt,(e(i),l(()=>e(i).conf?.meter?.multipliers?.amp??"Amp"))),h(Cr,(e(i),l(()=>e(i).conf?.meter?.multipliers?.kwh??"kWh")))}),Ae(Et,()=>e(o).m.m.w,Ht=>(ee(o,e(o).m.m.w=Ht),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(pr,()=>e(o).m.m.v,Ht=>(ee(o,e(o).m.m.v=Ht),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Zt,()=>e(o).m.m.a,Ht=>(ee(o,e(o).m.m.a=Ht),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Ut,()=>e(o).m.m.c,Ht=>(ee(o,e(o).m.m.c=Ht),K(()=>{e(i),e(a),e(b),e(m)}))),q(Ye,ut)};I(Vr,Ye=>{e(o),l(()=>e(o).m.m.e)&&Ye(Or)}),u(V),j(Ye=>{h(Me,(e(i),l(()=>e(i).conf?.meter?.title??"Meter"))),Q(ue,"href",Ye),h(Ee,(e(i),l(()=>e(i).conf?.meter?.comm?.title??"Communication"))),h(ae,(e(i),l(()=>e(i).conf?.meter?.comm?.passive??"Passive"))),h(he,(e(i),l(()=>e(i).conf?.meter?.comm?.pulse??"Pulse"))),h(De,(e(i),l(()=>e(i).common?.voltage??"Voltage"))),h(gt,(e(i),l(()=>e(i).conf?.meter?.fuse??"Main fuse"))),h(Vt,(e(i),l(()=>e(i).conf?.meter?.prod??"Production"))),h(Wr,` ${e(i),l(()=>e(i).conf?.meter?.encrypted??"Encrypted")??""}`),h(Kr,` ${e(i),l(()=>e(i).conf?.meter?.multipliers?.title??"Multipliers")??""}`)},[()=>($(zt),l(()=>zt("meter")))]),Tt(Ne,()=>e(o).m.a,Ye=>(ee(o,e(o).m.a=Ye),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(vt,()=>e(o).m.d,Ye=>(ee(o,e(o).m.d=Ye),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(It,()=>e(o).m.f,Ye=>(ee(o,e(o).m.f=Ye),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Xt,()=>e(o).m.r,Ye=>(ee(o,e(o).m.r=Ye),K(()=>{e(i),e(a),e(b),e(m)}))),cr(Wt,()=>e(o).m.e.e,Ye=>(ee(o,e(o).m.e.e=Ye),K(()=>{e(i),e(a),e(b),e(m)}))),cr(lr,()=>e(o).m.m.e,Ye=>(ee(o,e(o).m.m.e=Ye),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)};I(We,D=>{e(o),l(()=>e(o)?.m)&&D(Oe)});var Ue=v(We,2),pt=D=>{var V=$_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=v(ye,2),Pe=c(we),Ee=c(Pe),Ne=c(Ee,!0);u(Ee),Ee.value=Ee.__value=1;var Ie=v(Ee),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=2;var _e=v(Ie),he=Te=>{var re=Fn(),ie=c(re,!0);u(re),re.value=re.__value=3,j(()=>h(ie,(e(i),l(()=>e(i).conf?.connection?.eth??"Ethernet")))),q(Te,re)};I(_e,Te=>{e(a),l(()=>e(a).if&&e(a).if.eth)&&Te(he)}),u(Pe),u(we);var me=v(we,2),oe=Te=>{var re=k_(),ie=pe(re),Se=c(ie),Re=v(Se),De=c(Re);ce(De),De.value=De.__value="true",Rr(),u(Re);var vt=v(Re,4),dt=rt=>{var Et=x_();ce(Et),j(()=>{Q(Et,"pattern",Gn),Et.required=(e(o),l(()=>e(o).n.c==1||e(o).n.c==2))}),Ae(Et,()=>e(o).w.s,Qt=>(ee(o,e(o).w.s=Qt),K(()=>{e(i),e(a),e(b),e(m)}))),q(rt,Et)},at=rt=>{var Et=w_(),Qt=c(Et),Tr=Bt=>{var Zt=y_();Zt.value=Zt.__value="",q(Bt,Zt)};I(Qt,Bt=>{e(b),l(()=>e(b)?.c==-1)&&Bt(Tr)});var pr=v(Qt),wr=Bt=>{var Zt=gr(),kr=pe(Zt);jt(kr,1,()=>(e(b),l(()=>e(b)?.n)),Rt,(Cr,Ut)=>{var Ht=Fn(),ta=c(Ht);u(Ht);var ze={};j(()=>{h(ta,`${e(Ut),l(()=>e(Ut).s)??""} (${e(Ut),l(()=>e(Ut).e)??""}, RSSI: ${e(Ut),l(()=>e(Ut).r)??""})`),ze!==(ze=(e(Ut),l(()=>e(Ut).s)))&&(Ht.value=(Ht.__value=(e(Ut),l(()=>e(Ut).s)))??"")}),q(Cr,Ht)}),q(Bt,Zt)};I(pr,Bt=>{e(b),l(()=>e(b)?.n)&&Bt(wr)}),u(Et),j(()=>Et.required=(e(o),l(()=>e(o).n.c==1||e(o).n.c==2))),Tt(Et,()=>e(o).w.s,Bt=>(ee(o,e(o).w.s=Bt),K(()=>{e(i),e(a),e(b),e(m)}))),q(rt,Et)};I(vt,rt=>{e(k)?rt(dt):rt(at,-1)}),u(ie);var nt=v(ie,2),Xe=c(nt,!0),gt=v(Xe,3),kt=c(gt);ce(kt);var It=v(kt,2);u(gt),u(nt);var Gt=v(nt,2),Vt=c(Gt),st=c(Vt,!0),Xt=v(st,3),Mt=c(Xt),Kt=c(Mt,!0);u(Mt),Mt.value=Mt.__value=255;var Wt=v(Mt),Wr=c(Wt,!0);u(Wt),Wt.value=Wt.__value=0;var er=v(Wt),Hr=c(er,!0);u(er),er.value=er.__value=1;var tr=v(er),Er=c(tr,!0);u(tr),tr.value=tr.__value=2,u(Xt),u(Vt);var ir=v(Vt,2),lr=c(ir,!0),Kr=v(lr,3),Vr=c(Kr);ce(Vr),Rr(2),u(Kr),u(ir),u(Gt);var Or=v(Gt,2),Ye=c(Or),ut=c(Ye);ce(ut),ut.value=ut.__value="true";var At=v(ut);u(Ye),u(Or),j(()=>{h(Se,`${e(i),l(()=>e(i).conf?.connection?.ssid??"SSID")??""} `),h(Xe,(e(i),l(()=>e(i).conf?.connection?.psk??"Password"))),Q(kt,"pattern",Gn),h(st,(e(i),l(()=>e(i).conf?.connection?.ps?.title??"Power saving"))),h(Kt,(e(i),l(()=>e(i).conf?.connection?.ps?.default??"Default"))),h(Wr,(e(i),l(()=>e(i).conf?.connection?.ps?.off??"Off"))),h(Hr,(e(i),l(()=>e(i).conf?.connection?.ps?.min??"Min"))),h(Er,(e(i),l(()=>e(i).conf?.connection?.ps?.max??"Max"))),h(lr,(e(i),l(()=>e(i).conf?.connection?.pwr??"Power"))),h(At,` ${e(i),l(()=>e(i).conf?.connection?.tick_11b??"802.11b")??""}`)}),cr(De,()=>e(k),rt=>E(k,rt)),Ae(kt,()=>e(o).w.p,rt=>(ee(o,e(o).w.p=rt),K(()=>{e(i),e(a),e(b),e(m)}))),Be("click",It,x),Tt(Xt,()=>e(o).w.z,rt=>(ee(o,e(o).w.z=rt),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Vr,()=>e(o).w.w,rt=>(ee(o,e(o).w.w=rt),K(()=>{e(i),e(a),e(b),e(m)}))),cr(ut,()=>e(o).w.b,rt=>(ee(o,e(o).w.b=rt),K(()=>{e(i),e(a),e(b),e(m)}))),q(Te,re)};I(me,Te=>{e(o),l(()=>e(o).n.c==1||e(o).n.c==2)&&Te(oe)}),u(V),j(Te=>{h(Me,(e(i),l(()=>e(i).conf?.connection?.title??"Connection"))),Q(ue,"href",Te),h(Ne,(e(i),l(()=>e(i).conf?.connection?.wifi??"WiFi"))),h(ae,(e(i),l(()=>e(i).conf?.connection?.ap??"AP")))},[()=>($(zt),l(()=>zt("connection")))]),Tt(Pe,()=>e(o).n.c,Te=>(ee(o,e(o).n.c=Te),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)};I(Ue,D=>{e(o),l(()=>e(o)?.w)&&D(pt)});var Ze=v(Ue,2),qt=D=>{var V=q_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=c(ye,!0),Pe=v(we,3),Ee=c(Pe),Ne=c(Ee),Ie=c(Ne,!0);u(Ne),Ne.value=Ne.__value="dhcp";var ae=v(Ne),_e=c(ae,!0);u(ae),ae.value=ae.__value="static",u(Ee);var he=v(Ee,2);ce(he);var me=v(he,2);_n(me,()=>{var st=c(me),Xt=Vi();xu(pe(Xt),{}),q(st,Xt)}),u(Pe),u(ye);var oe=v(ye,2),Te=st=>{var Xt=S_(),Mt=pe(Xt),Kt=c(Mt,!0),Wt=v(Kt,3);ce(Wt),u(Mt);var Wr=v(Mt,2),er=c(Wr,!0),Hr=v(er,3),tr=c(Hr);ce(tr);var Er=v(tr,2);ce(Er),u(Hr),u(Wr),j(()=>{h(Kt,(e(i),l(()=>e(i).conf?.network?.gw??"Gateway"))),Q(Wt,"pattern",pn),h(er,(e(i),l(()=>e(i).conf?.network?.dns??"DNS"))),Q(tr,"pattern",pn),Q(Er,"pattern",pn)}),Ae(Wt,()=>e(o).n.g,ir=>(ee(o,e(o).n.g=ir),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(tr,()=>e(o).n.d1,ir=>(ee(o,e(o).n.d1=ir),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Er,()=>e(o).n.d2,ir=>(ee(o,e(o).n.d2=ir),K(()=>{e(i),e(a),e(b),e(m)}))),q(st,Xt)};I(oe,st=>{e(o),l(()=>e(o).n.m=="static")&&st(Te)});var re=v(oe,2),ie=c(re),Se=c(ie);ce(Se),Se.value=Se.__value="true",Rr(),u(ie),u(re);var Re=v(re,2),De=c(Re),vt=c(De);ce(vt),vt.value=vt.__value="true";var dt=v(vt);u(De),u(Re);var at=v(Re,2),nt=v(at,2),Xe=c(nt),gt=v(Xe),kt=c(gt);ce(kt),kt.value=kt.__value="true";var It=v(kt);u(gt);var Gt=v(gt,3),Vt=c(Gt);ce(Vt),u(Gt),u(nt),u(V),j(st=>{h(Me,(e(i),l(()=>e(i).conf?.network?.title??"Network"))),Q(ue,"href",st),h(we,(e(i),l(()=>e(i).conf?.network?.ip??"IP"))),h(Ie,(e(i),l(()=>e(i).conf?.network?.dhcp??"DHCP"))),h(_e,(e(i),l(()=>e(i).conf?.network?.static??"Static"))),he.disabled=(e(o),l(()=>e(o).n.m=="dhcp")),he.required=(e(o),l(()=>e(o).n.m=="static")),Q(he,"pattern",pn),me.disabled=(e(o),l(()=>e(o).n.m=="dhcp")),me.required=(e(o),l(()=>e(o).n.m=="static")),h(dt,` ${e(i),l(()=>e(i).conf?.network?.tick_mdns??"mDNS")??""}`),h(Xe,`${e(i),l(()=>e(i).conf?.network?.ntp??"NTP")??""} `),h(It,` ${e(i),l(()=>e(i).conf?.network?.tick_ntp_dhcp??"from DHCP")??""}`),Q(Vt,"pattern",Fa)},[()=>($(zt),l(()=>zt("network")))]),Tt(Ee,()=>e(o).n.m,st=>(ee(o,e(o).n.m=st),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(he,()=>e(o).n.i,st=>(ee(o,e(o).n.i=st),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(me,()=>e(o).n.s,st=>(ee(o,e(o).n.s=st),K(()=>{e(i),e(a),e(b),e(m)}))),cr(Se,()=>e(o).n.x,st=>(ee(o,e(o).n.x=st),K(()=>{e(i),e(a),e(b),e(m)}))),cr(vt,()=>e(o).n.d,st=>(ee(o,e(o).n.d=st),K(()=>{e(i),e(a),e(b),e(m)}))),cr(kt,()=>e(o).n.h,st=>(ee(o,e(o).n.h=st),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Vt,()=>e(o).n.n1,st=>(ee(o,e(o).n.n1=st),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)};I(Ze,D=>{e(o),l(()=>e(o)?.n)&&D(qt)});var be=v(Ze,2),Le=D=>{var V=L_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=v(ye,2),Pe=c(we),Ee=v(Pe),Ne=Je=>{var ra=M_(),aa=c(ra);ce(aa),aa.value=aa.__value="true",Rr(),u(ra),cr(aa,()=>e(o).q.s.e,Nn=>(ee(o,e(o).q.s.e=Nn),K(()=>{e(i),e(a),e(b),e(m)}))),Be("change",aa,J),q(Je,ra)};I(Ee,Je=>{e(a),l(()=>e(a).chip!="esp8266")&&Je(Ne)});var Ie=v(Ee,4),ae=c(Ie);ce(ae);var _e=v(ae,2);ce(_e),u(Ie),u(we);var he=v(we,2),me=Je=>{var ra=N_(),aa=c(ra),Nn=c(aa),Ni=vr=>{var rr=E_(),xr=pe(rr),Ar=c(xr),Dr=c(Ar,!0);u(Ar),u(xr);var Ta=v(xr,2);j(()=>h(Dr,(e(i),l(()=>e(i).conf?.mqtt?.ca_ok??"CA OK")))),Be("click",Ta,O),Be("keypress",Ta,O),q(vr,rr)},ri=vr=>{var rr=T_(),xr=c(rr);{let Ar=Ce(()=>(e(i),l(()=>e(i).conf?.mqtt?.btn_ca_upload??"Upload CA"))),Dr=Ce(()=>(e(i),l(()=>e(i).conf?.mqtt?.title_ca??"")));mn(xr,{color:"blue",get text(){return e(Ar)},get title(){return e(Dr)}})}u(rr),q(vr,rr)};I(Nn,vr=>{e(o),l(()=>e(o).q.s.c)?vr(Ni):vr(ri,-1)}),u(aa);var rn=v(aa,2),Li=c(rn),No=vr=>{var rr=A_(),xr=pe(rr),Ar=c(xr),Dr=c(Ar,!0);u(Ar),u(xr);var Ta=v(xr,2);j(()=>h(Dr,(e(i),l(()=>e(i).conf?.mqtt?.crt_ok??"Cert OK")))),Be("click",Ta,C),Be("keypress",Ta,C),q(vr,rr)},ai=vr=>{var rr=P_(),xr=c(rr);{let Ar=Ce(()=>(e(i),l(()=>e(i).conf?.mqtt?.btn_crt_upload??"Upload cert"))),Dr=Ce(()=>(e(i),l(()=>e(i).conf?.mqtt?.title_crt??"")));mn(xr,{color:"blue",get text(){return e(Ar)},get title(){return e(Dr)}})}u(rr),q(vr,rr)};I(Li,vr=>{e(o),l(()=>e(o).q.s.r)?vr(No):vr(ai,-1)}),u(rn);var Ln=v(rn,2),an=c(Ln),Lo=vr=>{var rr=O_(),xr=pe(rr),Ar=c(xr),Dr=c(Ar,!0);u(Ar),u(xr);var Ta=v(xr,2);j(()=>h(Dr,(e(i),l(()=>e(i).conf?.mqtt?.key_ok??"Key OK")))),Be("click",Ta,B),Be("keypress",Ta,B),q(vr,rr)},Do=vr=>{var rr=C_(),xr=c(rr);{let Ar=Ce(()=>(e(i),l(()=>e(i).conf?.mqtt?.btn_key_upload??"Upload key"))),Dr=Ce(()=>(e(i),l(()=>e(i).conf?.mqtt?.title_key??"")));mn(xr,{color:"blue",get text(){return e(Ar)},get title(){return e(Dr)}})}u(rr),q(vr,rr)};I(an,vr=>{e(o),l(()=>e(o).q.s.k)?vr(Lo):vr(Do,-1)}),u(Ln),u(ra),q(Je,ra)};I(he,Je=>{e(o),l(()=>e(o).q.s.e)&&Je(me)});var oe=v(he,2),Te=c(oe,!0),re=v(Te,3);ce(re),u(oe);var ie=v(oe,2),Se=c(ie,!0),Re=v(Se,3),De=c(Re);ce(De);var vt=v(De,2);u(Re),u(ie);var dt=v(ie,2),at=c(dt),nt=c(at,!0),Xe=v(nt,3);ce(Xe),u(at);var gt=v(at,2),kt=c(gt,!0),It=v(kt,3),Gt=c(It);Gt.value=Gt.__value=1;var Vt=v(Gt);Vt.value=Vt.__value=2;var st=v(Vt);st.value=st.__value=3;var Xt=v(st);Xt.value=Xt.__value=4;var Mt=v(Xt);Mt.value=Mt.__value=0;var Kt=v(Mt);Kt.value=Kt.__value=5;var Wt=v(Kt);Wt.value=Wt.__value=6;var Wr=v(Wt);Wr.value=Wr.__value=255,u(It),u(gt),u(dt);var er=v(dt,2),Hr=c(er,!0),tr=v(Hr,3);ce(tr),u(er);var Er=v(er,2),ir=c(Er,!0),lr=v(ir,3);ce(lr),u(Er);var Kr=v(Er,2),Vr=c(Kr),Or=v(Vr),Ye=c(Or,!0);u(Or);var ut=v(Or,2),At=c(ut),rt=c(At),Et=c(rt,!0);u(rt),rt.value=rt.__value=0;var Qt=v(rt),Tr=c(Qt,!0);u(Qt),Qt.value=Qt.__value=1,u(At);var pr=v(At,2);ce(pr),u(ut),u(Kr);var wr=v(Kr,2),Bt=c(wr),Zt=c(Bt),kr=c(Zt,!0);u(Zt);var Cr=v(Zt,2),Ut=c(Cr,!0);u(Cr);var Ht=v(Cr,2),ta=c(Ht,!0);u(Ht),u(Bt);var ze=v(Bt,2),Jt=c(ze);ce(Jt);var Nr=v(Jt,2);ce(Nr);var Br=v(Nr,2);ce(Br),u(ze),u(wr);var $r=v(wr,2),br=c($r),Lr=c(br);ce(Lr),Lr.value=Lr.__value="true";var Ea=v(Lr);u(br),u($r),u(V),j(Je=>{h(Me,(e(i),l(()=>e(i).conf?.mqtt?.title??"MQTT"))),Q(ue,"href",Je),h(Pe,`${e(i),l(()=>e(i).conf?.mqtt?.server??"Server")??""} `),Q(ae,"pattern",Fa),h(Te,(e(i),l(()=>e(i).conf?.mqtt?.user??"Username"))),Q(re,"pattern",Gn),h(Se,(e(i),l(()=>e(i).conf?.mqtt?.pass??"Password"))),Q(De,"pattern",Gn),h(nt,(e(i),l(()=>e(i).conf?.mqtt?.id??"Client ID"))),Xe.required=(e(o),l(()=>e(o).q.h)),Q(Xe,"pattern",to),h(kt,(e(i),l(()=>e(i).conf?.mqtt?.payload??"Payload"))),h(Hr,(e(i),l(()=>e(i).conf?.mqtt?.publish??"Publish topic"))),Q(tr,"pattern",Fa),h(ir,(e(i),l(()=>e(i).conf?.mqtt?.subscribe??"Subscribe topic"))),Q(lr,"pattern",Fa),Q(lr,"placeholder",`${e(o),l(()=>e(o).q.b)??""}/command`),h(Vr,`${e(i),l(()=>e(i).conf?.mqtt?.update??"Update method")??""} `),h(Ye,(e(i),l(()=>e(i).conf?.mqtt?.interval??"Interval"))),h(Et,(e(i),l(()=>e(i).conf?.mqtt?.realtime??"Real time"))),h(Tr,(e(i),l(()=>e(i).conf?.mqtt?.interval??"Interval"))),pr.disabled=(e(o),l(()=>e(o)?.q?.t!=1)),h(kr,(e(i),l(()=>e(i).conf?.mqtt?.timeout??"Timeout"))),h(Ut,(e(i),l(()=>e(i).conf?.mqtt?.keepalive??"Keep-alive"))),h(ta,(e(i),l(()=>e(i).conf?.mqtt?.autoreboot??"Auto-reboot"))),h(Ea,` ${e(i),l(()=>e(i).conf?.mqtt?.allowdestructive??"Allow destructive commands")??""}`)},[()=>($(zt),l(()=>zt("mqtt")))]),Ae(ae,()=>e(o).q.h,Je=>(ee(o,e(o).q.h=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(_e,()=>e(o).q.p,Je=>(ee(o,e(o).q.p=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(re,()=>e(o).q.u,Je=>(ee(o,e(o).q.u=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(De,()=>e(o).q.a,Je=>(ee(o,e(o).q.a=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Be("click",vt,_),Ae(Xe,()=>e(o).q.c,Je=>(ee(o,e(o).q.c=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(It,()=>e(o).q.m,Je=>(ee(o,e(o).q.m=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(tr,()=>e(o).q.b,Je=>(ee(o,e(o).q.b=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(lr,()=>e(o).q.r,Je=>(ee(o,e(o).q.r=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(At,()=>e(o).q.t,Je=>(ee(o,e(o).q.t=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(pr,()=>e(o).q.d,Je=>(ee(o,e(o).q.d=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Jt,()=>e(o).q.i,Je=>(ee(o,e(o).q.i=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Nr,()=>e(o).q.k,Je=>(ee(o,e(o).q.k=Je),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Br,()=>e(o).q.e,Je=>(ee(o,e(o).q.e=Je),K(()=>{e(i),e(a),e(b),e(m)}))),cr(Lr,()=>e(o).q.dc,Je=>(ee(o,e(o).q.dc=Je),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)};I(be,D=>{e(o),l(()=>e(o)?.q)&&D(Le)});var Ve=v(be,2),ct=D=>{var V=D_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=v(ye,2),Pe=c(we),Ee=c(Pe,!0),Ne=v(Ee,3);ce(Ne),u(Pe);var Ie=v(Pe,2),ae=c(Ie,!0),_e=v(ae,3);ce(_e),u(Ie),u(we);var he=v(we,2),me=c(he),oe=v(me),Te=c(oe);ce(Te);var re=v(Te,2);ce(re);var ie=v(re,2);ce(ie),u(oe),u(he),u(V),j(Se=>{h(Me,(e(i),l(()=>e(i).conf?.mqtt?.domoticz?.title??"Domoticz"))),Q(ue,"href",Se),h(Ee,(e(i),l(()=>e(i).conf?.mqtt?.domoticz?.eidx??"Electricity IDX"))),Q(Ne,"pattern",ci),h(ae,(e(i),l(()=>e(i).conf?.mqtt?.domoticz?.cidx??"Current IDX"))),Q(_e,"pattern",ci),h(me,`${e(i),l(()=>e(i).conf?.mqtt?.domoticz?.vidx??"Voltage IDX")??""}: L1, L2 & L3 `),Q(Te,"pattern",ci),Q(re,"pattern",ci),Q(ie,"pattern",ci)},[()=>($(zt),l(()=>zt("MQTT-configuration#domoticz")))]),Ae(Ne,()=>e(o).o.e,Se=>(ee(o,e(o).o.e=Se),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(_e,()=>e(o).o.c,Se=>(ee(o,e(o).o.c=Se),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Te,()=>e(o).o.u1,Se=>(ee(o,e(o).o.u1=Se),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(re,()=>e(o).o.u2,Se=>(ee(o,e(o).o.u2=Se),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(ie,()=>e(o).o.u3,Se=>(ee(o,e(o).o.u3=Se),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)};I(Ve,D=>{e(o),l(()=>e(o)?.q?.m==3)&&D(ct)});var Ge=v(Ve,2),ht=D=>{var V=R_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=v(ye,2),Pe=c(we,!0),Ee=v(Pe,3);ce(Ee),u(we);var Ne=v(we,2),Ie=c(Ne,!0),ae=v(Ie,3);ce(ae),u(Ne);var _e=v(Ne,2),he=c(_e,!0),me=v(he,3);ce(me),u(_e),u(V),j(oe=>{h(Me,(e(i),l(()=>e(i).conf?.mqtt?.ha?.title??"Home-Assistant"))),Q(ue,"href",oe),h(Pe,(e(i),l(()=>e(i).conf?.mqtt?.ha?.discovery??"Discovery topic prefix"))),Q(Ee,"pattern",Fa),h(Ie,(e(i),l(()=>e(i).conf?.mqtt?.ha?.hostname??"Hostname for URL"))),Q(ae,"placeholder",`${e(o),l(()=>e(o).g.h)??""}.local`),Q(ae,"pattern",Fa),h(he,(e(i),l(()=>e(i).conf?.mqtt?.ha?.tag??"Name tag"))),Q(me,"pattern",Fa)},[()=>($(zt),l(()=>zt("MQTT-configuration#home-assistant")))]),Ae(Ee,()=>e(o).h.t,oe=>(ee(o,e(o).h.t=oe),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(ae,()=>e(o).h.h,oe=>(ee(o,e(o).h.h=oe),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(me,()=>e(o).h.n,oe=>(ee(o,e(o).h.n=oe),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)};I(Ge,D=>{e(o),l(()=>e(o)?.q?.m==4)&&D(ht)});var lt=v(Ge,2),mt=D=>{var V=Y_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=v(ye,2),Pe=re=>{var ie=W_(),Se=c(ie),Re=c(Se);ce(Re),Re.value=Re.__value="true";var De=v(Re);u(Se);var vt=v(Se,2),dt=at=>{var nt=I_(),Xe=pe(nt),gt=v(c(Xe),2),kt=c(gt),It=Mt=>{var Kt=j_();Kt.value=Kt.__value=0,q(Mt,Kt)};I(kt,Mt=>{e(o),l(()=>e(o).c.p==0)&&Mt(It)});var Gt=v(kt);Gt.value=Gt.__value=1;var Vt=v(Gt);Vt.value=Vt.__value=2,u(gt),u(Xe);var st=v(Xe,2),Xt=Mt=>{var Kt=F_();Be("click",Kt,qe),q(Mt,Kt)};I(st,Mt=>{e(S)&&Mt(Xt)}),Tt(gt,()=>e(o).c.p,Mt=>(ee(o,e(o).c.p=Mt),K(()=>{e(i),e(a),e(b),e(m)}))),q(at,nt)};I(vt,at=>{e(o),l(()=>e(o).c.e)&&at(dt)}),u(ie),j(()=>h(De,` ${e(i),l(()=>e(i).conf?.cloud?.ams??"AMS reader cloud")??""}`)),cr(Re,()=>e(o).c.e,at=>(ee(o,e(o).c.e=at),K(()=>{e(i),e(a),e(b),e(m)}))),q(re,ie)},Ee=Yt(()=>(e(a),l(()=>e(a)?.features?.includes("cloud"))));I(we,re=>{e(Ee)&&re(Pe)});var Ne=v(we,2),Ie=c(Ne),ae=c(Ie);ce(ae),ae.value=ae.__value="true";var _e=v(ae,2),he=re=>{var ie=U_(),Se=pe(ie),Re=c(Se);u(Se);var De=v(Se,2),vt=c(De);u(De);var dt=v(De,2),at=nt=>{var Xe=B_(),gt=c(Xe);{let kt=Ce(()=>(e(a),l(()=>e(a).mac))),It=Ce(()=>(e(a),l(()=>e(a).meter.id)));l_(gt,{get value(){return`{"mac":"${e(kt)??""}","meter":"${e(It)??""}"}`}})}u(Xe),q(nt,Xe)};I(dt,nt=>{e(a),l(()=>e(a).mac&&e(a).meter.id)&&nt(at)}),j(()=>{h(Re,`MAC: ${e(a),l(()=>e(a).mac)??""}`),h(vt,`Meter ID: ${e(a),l(()=>e(a).meter.id?e(a).meter.id:"missing, required")??""}`)}),q(re,ie)};I(_e,re=>{e(o),l(()=>e(o)?.c?.es)&&re(he)}),u(Ie),u(Ne);var me=v(Ne,2),oe=re=>{var ie=z_(),Se=pe(ie),Re=c(Se),De=c(Re);ce(De),De.value=De.__value="true",Rr(),u(Re),u(Se);var vt=v(Se,2),dt=at=>{var nt=H_(),Xe=c(nt);ce(Xe),u(nt),Ae(Xe,()=>e(o).c.zt,gt=>(ee(o,e(o).c.zt=gt),K(()=>{e(i),e(a),e(b),e(m)}))),q(at,nt)};I(vt,at=>{e(o),l(()=>e(o).c.ze)&&at(dt)}),cr(De,()=>e(o).c.ze,at=>(ee(o,e(o).c.ze=at),K(()=>{e(i),e(a),e(b),e(m)}))),q(re,ie)},Te=Yt(()=>(e(a),l(()=>e(a)?.features?.includes("zc"))));I(me,re=>{e(Te)&&re(oe)}),u(V),j(re=>{h(Me,(e(i),l(()=>e(i).conf?.cloud?.title??"Cloud connections"))),Q(ue,"href",re)},[()=>($(zt),l(()=>zt("cloud-connections")))]),cr(ae,()=>e(o).c.es,re=>(ee(o,e(o).c.es=re),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)};I(lt,D=>{e(o),l(()=>e(o)?.c)&&D(mt)});var _r=v(lt,2),Ir=D=>{var V=K_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=v(ye,2);jt(we,4,()=>({length:9}),Rt,(he,me,oe)=>{var Te=G_(),re=c(Te);re.textContent=oe+1;var ie=v(re,2);ce(ie),Q(ie,"name",`t${oe}`),Rr(2),u(Te),Ae(ie,()=>e(o).t.t[oe],Se=>(ee(o,e(o).t.t[oe]=Se),K(()=>{e(i),e(a),e(b),e(m)}))),q(he,Te)}),u(we);var Pe=v(we,2),Ee=c(Pe),Ne=c(Ee,!0);u(Ee);var Ie=v(Ee,2);ce(Ie);var ae=v(Ie,2),_e=c(ae,!0);u(ae),u(Pe),u(V),j(he=>{h(Me,(e(i),l(()=>e(i).conf?.thresholds?.title??"Thresholds"))),Q(ue,"href",he),h(Ne,(e(i),l(()=>e(i).conf?.thresholds?.avg??"Average of"))),h(_e,(e(i),l(()=>e(i).common?.hours??"hours")))},[()=>($(zt),l(()=>zt("tariff-thresholds")))]),Ae(Ie,()=>e(o).t.h,he=>(ee(o,e(o).t.h=he),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)},yr=Yt(()=>(e(o),l(()=>e(o)?.p?.r?.startsWith("NO")||e(o)?.p?.r?.startsWith("10YNO")||e(o)?.p?.r?.startsWith("10Y1001A1001A4"))));I(_r,D=>{e(yr)&&D(Ir)});var ke=v(_r,2),Fe=D=>{var V=V_(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=v(ye,2),Pe=c(we);jt(Pe,1,()=>d,Rt,(ae,_e)=>{n_(ae,{get cfg(){return e(o),l(()=>e(o).u)},get item(){return e(_e)},get translations(){return e(i)}})});var Ee=v(Pe,2),Ne=c(Ee),Ie=v(Ne);jt(Ie,5,()=>e(m),Rt,(ae,_e)=>{var he=Fn(),me=c(he,!0);u(he);var oe={};j(()=>{h(me,(e(_e),l(()=>e(_e).name))),oe!==(oe=(e(_e),l(()=>e(_e).code)))&&(he.value=(he.__value=(e(_e),l(()=>e(_e).code)))??"")}),q(ae,he)}),u(Ie),u(Ee),u(we),u(V),j(ae=>{h(Me,(e(i),l(()=>e(i).conf?.ui?.title??"User interface"))),Q(ue,"href",ae),h(Ne,`${e(i),l(()=>e(i).conf?.ui?.lang??"Language")??""} `)},[()=>($(zt),l(()=>zt("user-interface")))]),Tt(Ie,()=>e(o).u.lang,ae=>(ee(o,e(o).u.lang=ae),K(()=>{e(i),e(a),e(b),e(m)}))),Be("change",Ie,te),q(D,V)};I(ke,D=>{e(o),l(()=>e(o)?.u)&&D(Fe)});var He=v(ke,2),tt=D=>{var V=ap(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,2),ye=v(ue,2),we=me=>{var oe=Z_(),Te=pe(oe),re=v(Te,2),ie=c(re),Se=c(ie,!0),Re=v(Se,3);_n(Re,()=>{var ze=c(Re),Jt=Vi();Ms(pe(Jt),{get chip(){return e(a),l(()=>e(a).chip)}}),q(ze,Jt)}),u(ie);var De=v(ie,2),vt=c(De,!0),dt=v(vt,3);_n(dt,()=>{var ze=c(dt),Jt=Vi();Ms(pe(Jt),{get chip(){return e(a),l(()=>e(a).chip)}}),q(ze,Jt)}),u(De);var at=v(De,2),nt=c(at),Xe=c(nt);ce(Xe),Xe.value=Xe.__value="true";var gt=v(Xe);u(nt),u(at),u(re);var kt=v(re,2),It=c(kt),Gt=c(It,!0),Vt=v(Gt,3);ce(Vt),u(It);var st=v(It,2),Xt=c(st,!0),Mt=v(Xt,3),Kt=c(Mt);ce(Kt),u(Mt),u(st);var Wt=v(st,2),Wr=c(Wt),er=c(Wr);ce(er),er.value=er.__value="true";var Hr=v(er);u(Wr),u(Wt);var tr=v(Wt,2),Er=c(tr,!0),ir=v(Er),lr=c(ir);ce(lr),lr.value=lr.__value="true";var Kr=v(lr);u(ir);var Vr=v(ir,3),Or=c(Vr);ce(Or);var Ye=v(Or,2);ce(Ye);var ut=v(Ye,2);ce(ut),u(Vr),u(tr);var At=v(tr,2),rt=c(At),Et=c(rt),Qt=v(Et);ce(Qt),u(rt),u(At);var Tr=v(At,2),pr=c(Tr,!0),wr=v(pr,3);ce(wr),u(Tr);var Bt=v(Tr,2),Zt=c(Bt,!0),kr=v(Zt,3);ce(kr),u(Bt);var Cr=v(Bt,2),Ut=ze=>{var Jt=X_(),Nr=c(Jt,!0),Br=v(Nr,3);ce(Br),u(Jt),j(()=>{h(Nr,(e(i),l(()=>e(i).conf?.hw?.vcc?.title??"Vcc"))),Q(Br,"max",e(le))}),Ae(Br,()=>e(o).i.v.p,$r=>(ee(o,e(o).i.v.p=$r),K(()=>{e(i),e(a),e(b),e(m)}))),q(ze,Jt)};I(Cr,ze=>{e(a),l(()=>e(a).chip!="esp8266")&&ze(Ut)});var Ht=v(Cr,2),ta=ze=>{var Jt=Q_(),Nr=c(Jt,!0),Br=v(Nr,3),$r=c(Br);ce($r);var br=v($r,2);ce(br),u(Br),u(Jt),j(()=>{h(Nr,(e(i),l(()=>e(i).conf?.hw?.vcc?.divider??"Voltage divider"))),Q($r,"placeholder",(e(i),l(()=>e(i).conf?.hw?.vcc?.div_vcc??"VCC"))),Q(br,"placeholder",(e(i),l(()=>e(i).conf?.hw?.vcc?.div_gnd??"GND")))}),Ae($r,()=>e(o).i.v.d.v,Lr=>(ee(o,e(o).i.v.d.v=Lr),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(br,()=>e(o).i.v.d.g,Lr=>(ee(o,e(o).i.v.d.g=Lr),K(()=>{e(i),e(a),e(b),e(m)}))),q(ze,Jt)};I(Ht,ze=>{e(o),l(()=>e(o)?.i?.v?.p>0)&&ze(ta)}),u(kt),j(()=>{h(Se,(e(i),l(()=>e(i).conf?.hw?.han?.rx??"HAN RX"))),h(vt,(e(i),l(()=>e(i).conf?.hw?.han?.tx??"HAN TX"))),h(gt,` ${e(i),l(()=>e(i).conf?.hw?.han?.pullup??"pullup")??""}`),h(Gt,(e(i),l(()=>e(i).conf?.hw?.ap_btn??"AP button"))),Q(Vt,"max",e(le)),h(Xt,(e(i),l(()=>e(i).conf?.hw?.led?.title??"LED"))),Q(Kt,"max",e(le)),h(Hr,` ${e(i),l(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),h(Er,(e(i),l(()=>e(i).conf?.hw?.led?.rgb??"RGB"))),h(Kr,` ${e(i),l(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),Q(Or,"max",e(le)),Q(Ye,"max",e(le)),Q(ut,"max",e(le)),h(Et,`${e(i),l(()=>e(i).conf?.hw?.led?.disable??"LED dis. GPIO")??""} `),Q(Qt,"max",e(le)),h(pr,(e(i),l(()=>e(i).conf?.hw?.temp??"Temperature"))),Q(wr,"max",e(le)),h(Zt,(e(i),l(()=>e(i).conf?.hw?.temp_analog??"Analog temp"))),Q(kr,"max",e(le))}),Tt(Re,()=>e(o).i.h.p,ze=>(ee(o,e(o).i.h.p=ze),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(dt,()=>e(o).i.h.t,ze=>(ee(o,e(o).i.h.t=ze),K(()=>{e(i),e(a),e(b),e(m)}))),cr(Xe,()=>e(o).i.h.u,ze=>(ee(o,e(o).i.h.u=ze),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Vt,()=>e(o).i.a,ze=>(ee(o,e(o).i.a=ze),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Kt,()=>e(o).i.l.p,ze=>(ee(o,e(o).i.l.p=ze),K(()=>{e(i),e(a),e(b),e(m)}))),cr(er,()=>e(o).i.l.i,ze=>(ee(o,e(o).i.l.i=ze),K(()=>{e(i),e(a),e(b),e(m)}))),cr(lr,()=>e(o).i.r.i,ze=>(ee(o,e(o).i.r.i=ze),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Or,()=>e(o).i.r.r,ze=>(ee(o,e(o).i.r.r=ze),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Ye,()=>e(o).i.r.g,ze=>(ee(o,e(o).i.r.g=ze),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(ut,()=>e(o).i.r.b,ze=>(ee(o,e(o).i.r.b=ze),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(Qt,()=>e(o).i.d.d,ze=>(ee(o,e(o).i.d.d=ze),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(wr,()=>e(o).i.t.d,ze=>(ee(o,e(o).i.t.d=ze),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(kr,()=>e(o).i.t.a,ze=>(ee(o,e(o).i.t.a=ze),K(()=>{e(i),e(a),e(b),e(m)}))),q(me,oe)};I(ye,me=>{e(a),l(()=>e(a).board>20)&&me(we)});var Pe=v(ye,2),Ee=me=>{var oe=J_(),Te=c(oe),re=v(Te),ie=c(re),Se=c(ie,!0);u(ie),ie.value=ie.__value=0;var Re=v(ie),De=c(Re,!0);u(Re),Re.value=Re.__value=1,u(re),u(oe),j(()=>{h(Te,`${e(i),l(()=>e(i).conf?.hw?.led?.behaviour?.title??"LED behaviour")??""} `),h(Se,(e(i),l(()=>e(i).conf?.hw?.led?.behaviour?.enabled??"Enabled"))),h(De,(e(i),l(()=>e(i).conf?.hw?.led?.behaviour?.disabled??"Disabled")))}),Tt(re,()=>e(o).i.d.b,vt=>(ee(o,e(o).i.d.b=vt),K(()=>{e(i),e(a),e(b),e(m)}))),q(me,oe)};I(Pe,me=>{e(o),l(()=>e(o)?.i?.d?.d>0)&&me(Ee)});var Ne=v(Pe,2),Ie=me=>{var oe=ep(),Te=v(pe(oe)),re=c(Te),ie=c(re,!0);u(re),re.value=re.__value=0;var Se=v(re),Re=c(Se,!0);u(Se),Se.value=Se.__value=3,u(Te),j(()=>{h(ie,(e(i),l(()=>e(i).conf?.hw?.powersaving?.[0]??"Normal"))),h(Re,(e(i),l(()=>e(i).conf?.hw?.powersaving?.[3]??"Extreme (Experimental)")))}),Tt(Te,()=>e(o).i.p,De=>(ee(o,e(o).i.p=De),K(()=>{e(i),e(a),e(b),e(m)}))),q(me,oe)},ae=Yt(()=>($(Sn),e(a),l(()=>Sn(e(a).board))));I(Ne,me=>{e(ae)&&me(Ie)});var _e=v(Ne,2),he=me=>{var oe=rp(),Te=pe(oe),re=v(Te,2),ie=c(re),Se=c(ie,!0),Re=v(Se,3);ce(Re),u(ie);var De=v(ie,2),vt=c(De,!0),dt=v(vt,3);ce(dt),u(De);var at=v(De,2),nt=Xe=>{var gt=tp(),kt=c(gt,!0),It=v(kt,3);ce(It),u(gt),j(()=>h(kt,(e(i),l(()=>e(i).conf?.hw?.vcc?.boot??"Boot limit")))),Ae(It,()=>e(o).i.v.b,Gt=>(ee(o,e(o).i.v.b=Gt),K(()=>{e(i),e(a),e(b),e(m)}))),q(Xe,gt)};I(at,Xe=>{e(a),l(()=>e(a).board==2||e(a).board==100)&&Xe(nt)}),u(re),j(()=>{h(Se,(e(i),l(()=>e(i).conf?.hw?.vcc?.offset??"Vcc offset"))),h(vt,(e(i),l(()=>e(i).conf?.hw?.vcc?.multiplier??"Multiplier")))}),Ae(Re,()=>e(o).i.v.o,Xe=>(ee(o,e(o).i.v.o=Xe),K(()=>{e(i),e(a),e(b),e(m)}))),Ae(dt,()=>e(o).i.v.m,Xe=>(ee(o,e(o).i.v.m=Xe),K(()=>{e(i),e(a),e(b),e(m)}))),q(me,oe)};I(_e,me=>{e(a),l(()=>e(a).chip=="esp8266")&&me(he)}),u(V),j(me=>{h(Me,(e(i),l(()=>e(i).conf?.hw?.title??"Hardware"))),Q(ue,"href",me)},[()=>($(zt),l(()=>zt("hardware")))]),q(D,V)};I(He,D=>{e(o),e(a),l(()=>e(o)?.i?.h&&(e(a)?.board>20||e(a)?.chip=="esp8266"||e(o)?.i?.d?.d>0))&&D(tt)});var Dt=v(He,2),ft=D=>{var V=op(),ne=c(V),Me=c(ne,!0);u(ne);var ue=v(ne,4),ye=v(ue,2),we=c(ye),Pe=c(we);ce(Pe),Pe.value=Pe.__value="true";var Ee=v(Pe);u(we),u(ye);var Ne=v(ye,2),Ie=ae=>{var _e=ip(),he=pe(_e),me=c(he,!0);u(he);var oe=v(he,2),Te=c(oe),re=c(Te);ce(re),re.value=re.__value="true";var ie=v(re);u(Te),u(oe);var Se=v(oe,2),Re=gt=>{var kt=np(),It=c(kt,!0);u(kt),j(()=>h(It,(e(i),l(()=>e(i).conf?.debug?.telnet_danger??"Disable when done")))),q(gt,kt)};I(Se,gt=>{e(o),l(()=>e(o).d.t)&>(Re)});var De=v(Se,2),vt=c(De),dt=c(vt);dt.value=dt.__value=1;var at=v(dt);at.value=at.__value=2;var nt=v(at);nt.value=nt.__value=3;var Xe=v(nt);Xe.value=Xe.__value=4,u(vt),u(De),j(()=>{h(me,(e(i),l(()=>e(i).conf?.debug?.danger??"Disable when done"))),h(ie,` ${e(i),l(()=>e(i).conf?.debug?.telnet??"Enable telnet")??""}`)}),cr(re,()=>e(o).d.t,gt=>(ee(o,e(o).d.t=gt),K(()=>{e(i),e(a),e(b),e(m)}))),Tt(vt,()=>e(o).d.l,gt=>(ee(o,e(o).d.l=gt),K(()=>{e(i),e(a),e(b),e(m)}))),q(ae,_e)};I(Ne,ae=>{e(o),l(()=>e(o)?.d?.s)&&ae(Ie)}),u(V),j(()=>{h(Me,(e(i),l(()=>e(i).conf?.debug?.title??"Debugging"))),h(Ee,` ${e(i),l(()=>e(i).conf?.debug?.enable??"Enable debugging")??""}`)}),cr(Pe,()=>e(o).d.s,ae=>(ee(o,e(o).d.s=ae),K(()=>{e(i),e(a),e(b),e(m)}))),q(D,V)},Ct=Yt(()=>(e(o),e(a),l(()=>e(o)?.d&&e(a)?.features?.includes("rdebug"))));I(Dt,D=>{e(Ct)&&D(ft)}),u(z);var Ft=v(z,2),Pr=c(Ft),sr=D=>{var V=sp(),ne=pe(V),Me=c(ne),ue=c(Me,!0);u(Me),u(ne);var ye=v(ne,2),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>{h(ue,(e(i),l(()=>e(i).conf?.btn_reset??"Factory reset"))),h(Pe,(e(i),l(()=>e(i).btn?.reboot??"Reboot")))}),Be("click",Me,R),Be("click",we,T),q(D,V)};I(Pr,D=>{e(s),l(()=>e(s)?.a)&&D(sr)});var de=v(Pr,2),U=D=>{var V=lp(),ne=c(V),Me=c(ne,!0);u(ne),u(V),j(()=>h(Me,(e(i),l(()=>e(i).btn?.save??"Save")))),q(D,V)};I(de,D=>{e(o)&&D(U)}),u(Ft),u(N),go(N,D=>E(f,D),()=>e(f));var X=v(N,2);{let D=Ce(()=>(e(i),l(()=>e(i).conf?.mask?.loading??"Loading")));jr(X,{get active(){return e(g)},get message(){return e(D)}})}var xe=v(X,2);{let D=Ce(()=>(e(i),l(()=>e(i).conf?.mask?.saving??"Saving")));jr(xe,{get active(){return e(p)},get message(){return e(D)}})}var ve=v(xe,2);{let D=Ce(()=>(e(i),l(()=>e(i).conf?.mask?.reset??"Factory reset")));jr(ve,{get active(){return e(A)},get message(){return e(D)}})}var $e=v(ve,2);{let D=Ce(()=>(e(i),l(()=>e(i).conf?.mask?.reset_done??"Done")));jr($e,{get active(){return e(P)},get message(){return e(D)}})}Be("submit",N,On(Y)),q(t,M),xt()}var cp=F('
'),fp=F(' '),dp=F(' '),_p=F('
 
'),pp=F('
');function hp(t,n){bt(n,!1);let r=fe(n,"services",24,()=>[]),a=fe(n,"translations",24,()=>({}));const s={mqtt:"MQTT",mqtt_c:"MQTT (custom)",mqtt_es:"Flexpartner.Energy",price:"Price service",ntp:"NTP",cloud:"Cloud",zc:"ZmartCharge"};function f(A){return A.n??a().status?.services?.[A.k]??a().header?.[A.k]??s[A.k]??A.k}function i(A){return a().status?.services?.state?.[A]??{0:"Disabled",1:"OK",2:"Connecting",3:"Error"}[A]??A}const d={mqtt:"mqtt",mqtt_c:"mqtt",mqtt_es:"mqtt",price:"price",cloud:"http",zc:"http"};function g(A){if(!A.e)return"";const P=d[A.k];return a().errors?.[P]?.[A.e]??A.e}St();var p=pp(),S=c(p),o=c(S,!0);u(S);var m=v(S,2),k=A=>{var P=cp(),R=c(P,!0);u(P),j(()=>h(R,($(a()),l(()=>a().status?.services?.none??"No services configured")))),q(A,P)},b=A=>{var P=gr(),R=pe(P);jt(R,1,r,Rt,(Y,H)=>{var T=_p(),O=c(T),C=v(O,2),B=c(C),J=c(B,!0);u(B);var te=v(B,2),se=_=>{var w=fp(),y=c(w,!0);u(w),j(()=>{Q(w,"title",(e(H),l(()=>e(H).d))),h(y,(e(H),l(()=>e(H).d)))}),q(_,w)};I(te,_=>{e(H),l(()=>e(H).d)&&_(se)}),u(C);var le=v(C,2),qe=c(le,!0);u(le);var G=v(le,2),x=_=>{var w=dp(),y=c(w,!0);u(w),j(M=>{Q(w,"title",(e(H),l(()=>e(H).e))),h(y,M)},[()=>(e(H),l(()=>g(e(H))))]),q(_,w)};I(G,_=>{e(H),l(()=>e(H).e)&&_(x)}),u(T),j((_,w,y)=>{Qr(O,1,`bd-${_??""} mr-2 flex-none`),h(J,w),h(qe,y)},[()=>($(Pa),e(H),l(()=>Pa(e(H).s))),()=>(e(H),l(()=>f(e(H)))),()=>(e(H),l(()=>i(e(H).s)))]),q(Y,T)}),q(A,P)};I(m,A=>{$(r()),l(()=>!r()||r().length===0)?A(k):A(b,-1)}),u(p),j(()=>h(o,($(a()),l(()=>a().status?.services?.title??"Services")))),q(t,p),xt()}var mp=F('
',1),gp=F(''),bp=F('
'),Xl=F('DNSv6: ',1),xp=F('
IPv6:
',1),yp=F('
'),wp=F('
Channel:
'),Ql=F('
'),kp=F('
'),$p=F(' ',1),Sp=F('
'),qp=F(''),Mp=F(' ',1),Ep=F('
'),Tp=F(''),Ap=F(''),Pp=F(''),Op=F(' ',1),Cp=F('
'),Np=F(' ',1);function Lp(t,n){bt(n,!1);let r=W(),a=W();Co.subscribe(de=>E(r,de)),mr.subscribe(de=>E(a,de));const s=de=>{if(!de)return de;const U=de.toLowerCase().split(":").map(D=>D.replace(/^0+/,"")||"0");let X=-1,xe=0,ve=-1,$e=0;for(let D=0;Dxe&&(X=ve,xe=$e),ve=-1,$e=0);if($e>xe&&(X=ve,xe=$e),xe>1){const D=U.slice(0,X),V=U.slice(X+xe);return D.length===0&&V.length===0?"::":D.length===0?"::"+V.join(":"):V.length===0?D.join(":")+"::":D.join(":")+"::"+V.join(":")}return U.join(":")};let f=[{name:"WiFi",key:"iw"},{name:"MQTT",key:"im"},{name:"Web",key:"ie"},{name:"Meter",key:"it"},{name:"Thresholds",key:"ih"},{name:"GPIO",key:"ig"},{name:"NTP",key:"in"},{name:"Price",key:"is"}],i=W({});Gr.subscribe(de=>{E(i,de)});let d;Oo(()=>{d=setInterval(hn,1e4)}),ou(()=>{d&&clearInterval(d)});let g=W();function p(){confirm((e(i).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(a).upgrade.n))&&(hu(e(a).upgrade.n),mr.update(de=>(de.upgrade.t=e(a).upgrade.n,de.upgrade.p=0,de.upgrading=!0,de)))}async function S(){await(await fetch("reboot",{method:"POST"})).json()}const o=function(){confirm(e(i).device?.reboot_confirm??"Reboot?")&&(mr.update(de=>(de.booting=!0,de)),S())};let m=W(),k=W(null),b=W(!1),A=W(),P=W(null),R=W(!1);hn();let Y=W({hostname:"",ip:""});function H(de){E(R,!0);const U=new FormData;U.append("file",e(P)[0]),fetch("configfile",{method:"POST",body:U}).then(X=>X.json()).then(X=>{mr.update(xe=>(e(Y)&&e(Y).hostname&&(xe.hostname=e(Y).hostname),xe.booting=X.reboot,e(Y)&&e(Y).ip&&(xe.net.ip=e(Y).ip),setTimeout(Ti,5e3,e(a)),xe))}).catch(X=>{console.error("Error:",X),setTimeout(Ti,5e3,e(a))})}function T(){const de=new FormData;de.append("channel",e(a).upgrade.c),fetch("fwchannel",{method:"POST",body:de})}or(()=>(e(r),e(g),hn),()=>{e(r)&&e(r).sa!==void 0&&e(r).sa!==e(g)&&(e(g)!==void 0&&hn(),E(g,e(r).sa))}),or(()=>e(P),()=>{if(e(P)&&e(P).length==1){let de=e(P)[0],U=new FileReader,X=xe=>{let ve=xe.target.result.split(` -`);for(let $e in ve){let D=ve[$e];D.startsWith("hostname ")?ee(Y,e(Y).hostname=D.split(" ")[1]):D.startsWith("ip ")&&ee(Y,e(Y).ip=D.split(" ")[1])}};U.onload=X,U.readAsText(de)}}),dr(),St();var O=Np(),C=pe(O),B=c(C),J=c(B),te=c(J,!0);u(J);var se=v(J,2),le=c(se),qe=v(le),G=de=>{var U=da();j(()=>h(U,`(${e(a),l(()=>e(a).cpu)??""}MHz)`)),q(de,U)};I(qe,de=>{e(a),l(()=>e(a).cpu)&&de(G)}),u(se);var x=v(se,2),_=c(x),w=v(_),y=c(w,!0);u(w),u(x);var M=v(x,2),N=c(M);u(M);var z=v(M,2),Z=de=>{var U=mp(),X=pe(U),xe=c(X);u(X);var ve=v(X,2),$e=c(ve),D=v($e),V=ye=>{{let we=Ce(()=>(e(r),l(()=>new Date(new Date().getTime()-e(r).u*1e3))));mu(ye,{get timestamp(){return e(we)},fullTimeColor:"",get offset(){return e(a),l(()=>e(a).clock_offset)}})}},ne=ye=>{var we=da("-");q(ye,we)};I(D,ye=>{e(r),l(()=>e(r).u>0)?ye(V):ye(ne,-1)}),u(ve);var Me=v(ve,2),ue=c(Me);u(Me),j(ye=>{h(xe,`${e(i),l(()=>e(i).status?.device?.apmac??"AP MAC")??""}: ${e(a),l(()=>e(a).apmac)??""}`),h($e,`${e(i),l(()=>e(i).status?.device?.last_boot??"Last boot")??""}: `),h(ue,`${e(i),l(()=>e(i).status?.device?.reason??"Reason")??""}: ${ye??""} (${e(a),l(()=>e(a).boot_reason)??""}/${e(a),l(()=>e(a).ex_cause)??""})`)},[()=>(e(i),$(jl),e(a),l(()=>e(i)[jl(e(a).chip)]?.reason?.[e(a).boot_reason]??e(a).boot_reason))]),q(de,U)};I(z,de=>{e(a),l(()=>e(a).apmac&&e(a).apmac!=e(a).mac)&&de(Z)});var ge=v(z,2),We=de=>{var U=gp(),X=c(U),xe=c(X),ve=c(xe,!0);u(xe),u(X);var $e=v(X,2),D=c($e,!0);u($e),u(U),j(()=>{h(ve,(e(i),l(()=>e(i).status?.device?.btn_consents??"Consents"))),h(D,(e(i),l(()=>e(i).btn?.reboot??"Reboot")))}),Be("click",$e,o),q(de,U)};I(ge,de=>{e(r),l(()=>e(r)?.a)&&de(We)}),u(B);var Oe=v(B,2),Ue=de=>{var U=bp(),X=c(U),xe=c(X,!0);u(X);var ve=v(X,2),$e=c(ve);u(ve);var D=v(ve,2),V=c(D);u(D);var ne=v(D,2),Me=c(ne);u(ne),u(U),j(ue=>{h(xe,(e(i),l(()=>e(i).status?.meter?.title??"Meter"))),h($e,`${e(i),l(()=>e(i).status?.meter?.manufacturer??"Manufacturer")??""}: ${ue??""}`),h(V,`${e(i),l(()=>e(i).status?.meter?.model??"Model")??""}: ${e(a),l(()=>e(a).meter.model?e(a).meter.model:"unknown")??""}`),h(Me,`${e(i),l(()=>e(i).status?.meter?.id??"ID")??""}: ${e(a),l(()=>e(a).meter.id?e(a).meter.id:"unknown")??""}`)},[()=>($(bo),e(a),l(()=>bo(e(a).meter.mfg)))]),q(de,U)};I(Oe,de=>{e(a),l(()=>e(a).meter)&&de(Ue)});var pt=v(Oe,2);hp(pt,{get services(){return e(a),l(()=>e(a).services)},get translations(){return e(i)}});var Ze=v(pt,2),qt=de=>{var U=yp(),X=c(U),xe=c(X,!0);u(X);var ve=v(X,2),$e=c(ve);u(ve);var D=v(ve,2),V=c(D);u(D);var ne=v(D,2),Me=c(ne);u(ne);var ue=v(ne,2),ye=c(ue),we=ae=>{var _e=da();j(()=>h(_e,`${e(i),l(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),l(()=>e(a).net.dns1)??""}`)),q(ae,_e)};I(ye,ae=>{e(a),l(()=>e(a).net.dns1)&&ae(we)});var Pe=v(ye,2),Ee=ae=>{var _e=da();j(()=>h(_e,`${e(i),l(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),l(()=>e(a).net.dns2)??""}`)),q(ae,_e)};I(Pe,ae=>{e(a),l(()=>e(a).net.dns2)&&ae(Ee)}),u(ue);var Ne=v(ue,2),Ie=ae=>{var _e=xp(),he=pe(_e),me=v(c(he)),oe=c(me,!0);u(me),u(he);var Te=v(he,2),re=c(Te),ie=De=>{var vt=Xl(),dt=v(pe(vt)),at=c(dt,!0);u(dt),j(nt=>h(at,nt),[()=>(e(a),l(()=>s(e(a).net.dns1v6)))]),q(De,vt)};I(re,De=>{e(a),l(()=>e(a).net.dns1v6)&&De(ie)});var Se=v(re,2),Re=De=>{var vt=Xl(),dt=v(pe(vt)),at=c(dt,!0);u(dt),j(nt=>h(at,nt),[()=>(e(a),l(()=>s(e(a).net.dns2v6)))]),q(De,vt)};I(Se,De=>{e(a),l(()=>e(a).net.dns2v6)&&De(Re)}),u(Te),j(De=>h(oe,De),[()=>(e(a),l(()=>s(e(a).net.ipv6)))]),q(ae,_e)};I(Ne,ae=>{e(a),l(()=>e(a).net.ipv6)&&ae(Ie)}),u(U),j(()=>{h(xe,(e(i),l(()=>e(i).status?.network?.title??"Network"))),h($e,`${e(i),l(()=>e(i).conf?.network?.ip??"IP")??""}: ${e(a),l(()=>e(a).net.ip)??""}`),h(V,`${e(i),l(()=>e(i).conf?.network?.mask??"Mask")??""}: ${e(a),l(()=>e(a).net.mask)??""}`),h(Me,`${e(i),l(()=>e(i).conf?.network?.gw??"Gateway")??""}: ${e(a),l(()=>e(a).net.gw)??""}`)}),q(de,U)};I(Ze,de=>{e(a),l(()=>e(a).net)&&de(qt)});var be=v(Ze,2),Le=c(be),Ve=c(Le,!0);u(Le);var ct=v(Le,2),Ge=v(ct,2),ht=de=>{var U=wp(),X=v(c(U)),xe=c(X);xe.value=xe.__value=0;var ve=v(xe);ve.value=ve.__value=1;var $e=v(ve);$e.value=$e.__value=2;var D=v($e);D.value=D.__value=3,u(X),u(U),Tt(X,()=>e(a).upgrade.c,V=>(ee(a,e(a).upgrade.c=V),K(()=>{}))),Be("change",X,T),q(de,U)};I(Ge,de=>{e(a),l(()=>e(a).fwconsent===1)&&de(ht)});var lt=v(Ge,2),mt=c(lt);u(lt);var _r=v(lt,2),Ir=de=>{var U=Ql(),X=c(U),xe=c(X);u(X),u(U),j(ve=>h(xe,`${ve??""} - ${e(i),e(a),l(()=>e(i).errors?.upgrade?.[e(a).upgrade.e]??e(a).upgrade.e)??""}`),[()=>(e(i),e(a),l(()=>(e(i).status?.firmware?.failed??"Upgrade from {0} to {1} failed").replace("{0}",e(a).upgrade.f).replace("{1}",e(a).upgrade.t)))]),q(de,U)};I(_r,de=>{e(a),l(()=>e(a).upgrade.t&&e(a).upgrade.t!=e(a).version&&e(a).upgrade.e!=0&&e(a).upgrade.e!=123)&&de(Ir)});var yr=v(_r,2),ke=de=>{var U=$p(),X=pe(U),xe=c(X),ve=v(xe),$e=c(ve,!0);u(ve);var D=v(ve,2),V=ue=>{var ye=kp(),we=c(ye);u(ye),j(()=>Q(ye,"title",(e(i),l(()=>e(i).status?.firmware?.install??"Install")))),Be("click",we,p),q(ue,ye)};I(D,ue=>{e(a),e(r),l(()=>(e(a).security==0||e(r).a)&&e(a).fwconsent===1&&e(a).upgrade.n&&e(a).upgrade.n!=e(a).version)&&ue(V)}),u(X);var ne=v(X,2),Me=ue=>{var ye=Ql(),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>h(Pe,(e(i),l(()=>e(i).status?.firmware?.no_one_click??"One-click upgrade disabled")))),q(ue,ye)};I(ne,ue=>{e(a),l(()=>e(a).fwconsent===2)&&ue(Me)}),j(()=>{h(xe,`${e(i),l(()=>e(i).status?.firmware?.latest??"Latest")??""}: `),Q(ve,"href",(e(a),l(()=>"https://github.com/UtilitechAS/amsreader-firmware/releases/tag/"+e(a).upgrade.n))),h($e,(e(a),l(()=>e(a).upgrade.n)))}),q(de,U)};I(yr,de=>{e(a),l(()=>e(a).upgrade.n)&&de(ke)});var Fe=v(yr,2),He=de=>{var U=Sp(),X=c(U,!0);u(U),j(xe=>h(X,xe),[()=>($(Bl),$(je),e(a),l(()=>Bl(je(e(a).chip,e(a).board))))]),q(de,U)},tt=Yt(()=>(e(a),e(r),$(Sn),l(()=>(e(a).security==0||e(r).a)&&Sn(e(a).board))));I(Fe,de=>{e(tt)&&de(He)});var Dt=v(Fe,2),ft=de=>{var U=Ep(),X=c(U),xe=c(X);go(xe,V=>E(m,V),()=>e(m));var ve=v(xe,2),$e=V=>{var ne=qp(),Me=c(ne,!0);u(ne),j(()=>h(Me,(e(i),l(()=>e(i).status?.firmware?.btn_select_file??"Select file")))),Be("click",ne,()=>{e(m).click()}),q(V,ne)},D=V=>{var ne=Mp(),Me=pe(ne),ue=v(Me),ye=c(ue,!0);u(ue),j(()=>{h(Me,`${e(k),l(()=>e(k)[0].name)??""} `),h(ye,(e(i),l(()=>e(i).btn?.upload??"Upload")))}),q(V,ne)};I(ve,V=>{e(k),l(()=>!e(k)||e(k).length==0)?V($e):V(D,-1)}),u(X),u(U),El(xe,()=>e(k),V=>E(k,V)),Be("submit",X,()=>E(b,!0)),q(de,U)};I(Dt,de=>{e(a),e(r),l(()=>e(a).security==0||e(r).a)&&de(ft)}),u(be);var Ct=v(be,2),Ft=de=>{var U=Cp(),X=c(U),xe=c(X,!0);u(X);var ve=v(X,2),$e=c(ve),D=c($e);jt(D,1,()=>f,Rt,(he,me)=>{var oe=Tp(),Te=c(oe);ce(Te);var re=v(Te);u(oe),j(()=>{Q(Te,"name",(e(me),l(()=>e(me).key))),h(re,` ${e(i),e(me),l(()=>e(i).status?.backup?.[e(me).key]??e(me).name)??""}`)}),q(he,oe)});var V=v(D,2),ne=c(V),Me=v(ne),ue=v(Me,2),ye=c(ue,!0);u(ue),u(V),u($e);var we=v($e,2),Pe=he=>{var me=Ap(),oe=c(me,!0);u(me),j(()=>h(oe,(e(i),l(()=>e(i).status?.backup?.btn_download??"Download")))),q(he,me)};I(we,he=>{e(P),l(()=>!e(P)||e(P).length==0)&&he(Pe)}),u(ve);var Ee=v(ve,2),Ne=c(Ee);go(Ne,he=>E(A,he),()=>e(A));var Ie=v(Ne,2),ae=he=>{var me=Pp(),oe=c(me,!0);u(me),j(()=>h(oe,(e(i),l(()=>e(i).status?.backup?.btn_select_file??"Select file")))),Be("click",me,()=>{e(A).click()}),q(he,me)},_e=he=>{var me=Op(),oe=pe(me),Te=v(oe),re=c(Te,!0);u(Te),j(()=>{h(oe,`${e(P),l(()=>e(P)[0].name)??""} `),h(re,(e(i),l(()=>e(i).btn?.upload??"Upload")))}),q(he,me)};I(Ie,he=>{e(P),l(()=>!e(P)||e(P).length==0)?he(ae):he(_e,-1)}),u(Ee),u(U),j(()=>{h(xe,(e(i),l(()=>e(i).status?.backup?.title??"Backup"))),h(Me,` ${e(i),l(()=>e(i).status?.backup?.secrets??"Include secrets")??""}`),h(ye,(e(i),l(()=>e(i).status?.backup?.secrets_desc??"")))}),El(Ne,()=>e(P),he=>E(P,he)),Be("submit",Ee,On(H)),q(de,U)};I(Ct,de=>{e(a),e(r),l(()=>e(a).security==0||e(r).a)&&de(Ft)}),u(C);var Pr=v(C,2);{let de=Ce(()=>(e(i),l(()=>e(i).status?.mask?.firmware??"Uploading")));jr(Pr,{get active(){return e(b)},get message(){return e(de)}})}var sr=v(Pr,2);{let de=Ce(()=>(e(i),l(()=>e(i).status?.mask?.config??"Uploading")));jr(sr,{get active(){return e(R)},get message(){return e(de)}})}j((de,U)=>{h(te,(e(i),l(()=>e(i).status?.device.title??"Device"))),h(le,`${e(i),l(()=>e(i).status?.device?.chip??"Chip")??""}: ${e(a),l(()=>e(a).chip)??""} `),h(_,`${e(i),l(()=>e(i).status?.device?.device??"Device")??""}: `),h(y,de),h(N,`${e(i),l(()=>e(i).status?.device?.mac??"MAC")??""}: ${e(a),l(()=>e(a).mac)??""}`),h(Ve,(e(i),l(()=>e(i).status?.firmware?.title??"Firmware"))),Q(ct,"href",U),h(mt,`${e(i),l(()=>e(i).status?.firmware?.installed??"Installed")??""}: ${e(a),l(()=>e(a).version)??""}`)},[()=>($(je),e(a),l(()=>je(e(a).chip,e(a).board))),()=>($(zt),l(()=>zt("statusinformation-screen")))]),q(t,O),xt()}var Xi=F(" "),Zl=F(""),Jl=F(""),Dp=F('
🗑

',1),Rp=F('

',1);function jp(t,n){bt(n,!1);let r=W({});Gr.subscribe(y=>{E(r,y)});let a=["mo","tu","we","th","fr","sa","su"],s=W({}),f=W(!0),i=W(!1);bu.subscribe(y=>{y.o&&(E(s,y),E(f,!1))}),Gd();async function d(y){E(i,!0);const M=new URLSearchParams;M.append("r","true"),M.append("rc",e(s).o.length),e(s).o.forEach(function(N,z){M.append("rt"+z,N.t),M.append("rn"+z,N.n),M.append("rd"+z,N.d),M.append("ra"+z,N.a),M.append("rh"+z,N.h),M.append("rv"+z,N.v),M.append("rsm"+z,N.s.m),M.append("rsd"+z,N.s.d),M.append("rem"+z,N.e.m),M.append("red"+z,N.e.d)}),await(await fetch("save",{method:"POST",body:M})).json(),E(i,!1),Ja("/configuration")}let g=function(y,M){return y.includes(M)?y=y.filter(function(N){return N!==M}):y.push(M),y},p=function(){let y=e(s).o;y.push({t:1,n:"",d:3,a:[0,1,2,3,4,5,6,7],h:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],v:.001,s:{m:0,d:0},e:{m:0,d:0}}),ee(s,e(s).o=y)},S=function(y){let M=e(s).o;M.splice(y,1),ee(s,e(s).o=M)},o=function(y){if(y<=0)return;let M=e(s).o;var N=M[y];M[y]=M[y-1],M[y-1]=N,ee(s,e(s).o=M)};function m(y){return y===0?31:new Date(2024,y,0).getDate()}function k(y,M){const N=m(M);y.d>N&&(y.d=N)}let b=function(y){let M=e(s).o;if(!(y>=M.length-1)){var N=M[y];M[y]=M[y+1],M[y+1]=N,ee(s,e(s).o=M)}};St();var A=Rp(),P=pe(A),R=c(P),Y=c(R,!0);u(R);var H=v(R,2),T=v(H,4),O=c(T),C=v(O,2),B=y=>{var M=gr(),N=pe(M);jt(N,1,()=>e(s).o,Rt,(z,Z,ge)=>{var We=Dp(),Oe=pe(We),Ue=c(Oe),pt=c(Ue);ce(pt),u(Ue);var Ze=v(Ue,2),qt=c(Ze),be=c(qt),Le=c(be,!0);u(be),be.value=be.__value=1;var Ve=v(be),ct=c(Ve,!0);u(Ve),Ve.value=Ve.__value=2;var Ge=v(Ve),ht=c(Ge,!0);u(Ge),Ge.value=Ge.__value=3,u(qt);var lt=v(qt,2),mt=c(lt),_r=c(mt,!0);u(mt),mt.value=mt.__value=0;var Ir=v(mt);Ir.value=Ir.__value=1;var yr=v(Ir);yr.value=yr.__value=3;var ke=v(yr);ke.value=ke.__value=2,u(lt);var Fe=v(lt,2);ce(Fe),u(Ze);var He=v(Ze,2),tt=c(He),Dt=c(tt);u(tt);var ft=v(tt,2);jt(ft,4,()=>({length:7}),Rt,(oe,Te,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j(Re=>{Qr(ie,1,Re),h(Se,a[re])},[()=>vn(e(Z).a.includes(re)?"bd-on":"bd-off")]),Be("click",ie,()=>(e(Z).a=g(e(Z).a,re),K(()=>e(s)),K(()=>{e(r)}))),q(oe,ie)}),u(ft),u(He);var Ct=v(He,2),Ft=c(Ct),Pr=c(Ft);u(Ft);var sr=v(Ft,2),de=c(sr);jt(de,4,()=>({length:8}),Rt,(oe,Te,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Re,De)=>{Qr(ie,1,Re),h(Se,De)},[()=>vn(e(Z).h.includes(re)?"bd-on":"bd-off"),()=>re.toString().padStart(2,"0")]),Be("click",ie,()=>(e(Z).h=g(e(Z).h,re),K(()=>e(s)),K(()=>{e(r)}))),q(oe,ie)}),u(de);var U=v(de,2);jt(U,4,()=>({length:8}),Rt,(oe,Te,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Re,De)=>{Qr(ie,1,Re),h(Se,De)},[()=>vn(e(Z).h.includes(re+8)?"bd-on":"bd-off"),()=>(re+8).toString().padStart(2,"0")]),Be("click",ie,()=>(e(Z).h=g(e(Z).h,re+8),K(()=>e(s)),K(()=>{e(r)}))),q(oe,ie)}),u(U);var X=v(U,2);jt(X,4,()=>({length:8}),Rt,(oe,Te,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Re,De)=>{Qr(ie,1,Re),h(Se,De)},[()=>vn(e(Z).h.includes(re+16)?"bd-on":"bd-off"),()=>(re+16).toString().padStart(2,"0")]),Be("click",ie,()=>(e(Z).h=g(e(Z).h,re+16),K(()=>e(s)),K(()=>{e(r)}))),q(oe,ie)}),u(X),u(sr),u(Ct);var xe=v(Ct,2),ve=c(xe),$e=c(ve);$e.value=$e.__value=0;var D=v($e);jt(D,1,()=>({length:m(e(Z).s.m)}),Rt,(oe,Te,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(oe,ie)}),u(ve);var V=v(ve,2),ne=c(V);ne.value=ne.__value=0;var Me=v(ne);jt(Me,0,()=>({length:12}),Rt,(oe,Te,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Re=>h(Se,Re),[()=>e(r).months?e(r).months?.[re]:Lt(re+1)]),q(oe,ie)}),u(V);var ue=v(V,2),ye=v(ue,2),we=c(ye);we.value=we.__value=0;var Pe=v(we);jt(Pe,1,()=>({length:m(e(Z).e.m)}),Rt,(oe,Te,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(oe,ie)}),u(ye);var Ee=v(ye,2),Ne=c(Ee);Ne.value=Ne.__value=0;var Ie=v(Ne);jt(Ie,0,()=>({length:12}),Rt,(oe,Te,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Re=>h(Se,Re),[()=>e(r).months?e(r).months?.[re]:Lt(re+1)]),q(oe,ie)}),u(Ee),u(xe);var ae=v(xe,2),_e=c(ae);Qr(_e,1,vn(ge>0?"text-green-600":"text-gray-300"));var he=v(_e,2),me=v(he,2);u(ae),u(Oe),Rr(2),j(()=>{h(Le,e(r).conf?.common?.import??"Import"),h(ct,e(r).conf?.common?.export??"Export"),h(ht,e(r).conf?.price?.both??"Both"),h(_r,e(r).conf?.price?.fixed??"Fixed"),h(Dt,`${e(r).common?.days??"Days"??""}:`),h(Pr,`${e(r).common?.hours??"Hours"??""}:`),Qr(he,1,vn(gee(Z).n,oe=>(e(Z).n=oe,K(()=>e(s)),K(()=>{e(r)}))),Tt(qt,()=>e(Z).d,oe=>(e(Z).d=oe,K(()=>e(s)),K(()=>{e(r)}))),Tt(lt,()=>e(Z).t,oe=>(e(Z).t=oe,K(()=>e(s)),K(()=>{e(r)}))),Ae(Fe,()=>e(Z).v,oe=>(e(Z).v=oe,K(()=>e(s)),K(()=>{e(r)}))),Tt(ve,()=>e(Z).s.d,oe=>(e(Z).s.d=oe,K(()=>e(s)),K(()=>{e(r)}))),Tt(V,()=>e(Z).s.m,oe=>(e(Z).s.m=oe,K(()=>e(s)),K(()=>{e(r)}))),Be("change",V,()=>k(e(Z).s,e(Z).s.m)),Tt(ye,()=>e(Z).e.d,oe=>(e(Z).e.d=oe,K(()=>e(s)),K(()=>{e(r)}))),Tt(Ee,()=>e(Z).e.m,oe=>(e(Z).e.m=oe,K(()=>e(s)),K(()=>{e(r)}))),Be("change",Ee,()=>k(e(Z).e,e(Z).e.m)),Be("click",_e,()=>o(ge)),Be("keypress",_e,()=>o(ge)),Be("click",he,()=>b(ge)),Be("keypress",he,()=>b(ge)),Be("click",me,()=>S(ge)),Be("keypress",me,()=>S(ge)),q(z,We)}),q(y,M)};I(C,y=>{e(s).o&&y(B)});var J=v(C,2),te=c(J),se=c(te),le=c(se,!0);u(se),u(te);var qe=v(te,4),G=c(qe),x=c(G,!0);u(G),u(qe),u(J),u(T),u(P);var _=v(P,2);{let y=Ce(()=>e(r).conf?.price?.mask_loading??"Loading");jr(_,{get active(){return e(f)},get message(){return e(y)}})}var w=v(_,2);{let y=Ce(()=>e(r).conf?.price?.mask_saving??"Saving");jr(w,{get active(){return e(i)},get message(){return e(y)}})}j(y=>{h(Y,e(r).conf?.price?.title??"Price"),Q(H,"href",y),h(le,e(r).conf?.price?.btn_add??"Add"),h(x,e(r).btn?.save??"Save")},[()=>zt("configure-price-price-modifiers")]),Be("click",se,p),Be("submit",T,On(d)),q(t,A),xt()}var Fp=F('

',1);function Ip(t,n){bt(n,!1);let r=W({});Gr.subscribe(P=>{E(r,P)});let a=W(!1);St();var s=Fp(),f=pe(s),i=c(f),d=c(i),g=c(d);u(d);var p=v(d,2),S=c(p,!0);u(p);var o=v(p,2),m=v(c(o),2),k=c(m),b=c(k,!0);u(k),u(m),u(o),u(i),u(f);var A=v(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");jr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(g,`${e(r).upload?.title??"Upload"??""} CA`),h(S,e(r).upload?.desc??""),h(b,e(r).btn?.upload??"Upload")}),Be("submit",o,()=>E(a,!0)),q(t,s),xt()}var Wp=F('

',1);function Bp(t,n){bt(n,!1);let r=W({});Gr.subscribe(P=>{E(r,P)});let a=W(!1);St();var s=Wp(),f=pe(s),i=c(f),d=c(i),g=c(d);u(d);var p=v(d,2),S=c(p,!0);u(p);var o=v(p,2),m=v(c(o),2),k=c(m),b=c(k,!0);u(k),u(m),u(o),u(i),u(f);var A=v(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");jr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(g,`${e(r).upload?.title??"Upload"??""} certificate`),h(S,e(r).upload?.desc??""),h(b,e(r).btn?.upload??"Upload")}),Be("submit",o,()=>E(a,!0)),q(t,s),xt()}var Up=F('

',1);function Hp(t,n){bt(n,!1);let r=W({});Gr.subscribe(P=>{E(r,P)});let a=W(!1);St();var s=Up(),f=pe(s),i=c(f),d=c(i),g=c(d);u(d);var p=v(d,2),S=c(p,!0);u(p);var o=v(p,2),m=v(c(o),2),k=c(m),b=c(k,!0);u(k),u(m),u(o),u(i),u(f);var A=v(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");jr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(g,`${e(r).upload?.title??"Upload"??""} private key`),h(S,e(r).upload?.desc??""),h(b,e(r).btn?.upload??"Upload")}),Be("submit",o,()=>E(a,!0)),q(t,s),xt()}var zp=F(' ',1);function Yp(t,n){bt(n,!1);let r="/",a=W({}),s=W({});Gr.subscribe(le=>{E(s,le)}),mr.subscribe(le=>E(a,le));let f=W(!1);async function i(le){E(f,!0);const qe=new FormData(le.target),G=new URLSearchParams;for(let _ of qe){const[w,y]=_;G.append(w,y)}let x=await(await fetch("save",{method:"POST",body:G})).json();E(f,!1),mr.update(_=>(_.fwconsent=qe.sf===!0?1:qe.sf===!1?2:0,_.booting=x.reboot,_)),Ja(r)}St();var d=zp(),g=pe(d),p=c(g),S=c(p),o=c(S),m=c(o,!0);u(o);var k=v(o,4),b=c(k,!0),A=v(b,3),P=c(A,!0);u(A);var R=v(A,3),Y=c(R);ce(Y),Sl(Y,1);var H=v(Y);u(R);var T=v(R,2),O=c(T);ce(O),Sl(O,2);var C=v(O);u(T),Rr(),u(k);var B=v(k,2),J=c(B),te=c(J,!0);u(J),u(B),u(S),u(p),u(g);var se=v(g,2);{let le=Ce(()=>e(s).consent?.mask_saving??"Saving");jr(se,{get active(){return e(f)},get message(){return e(le)}})}j(()=>{h(m,e(s).consent?.title??"Consents"),h(b,e(s).consent?.one_click??"One-click"),h(P,e(s).consent?.read_more??"Read more"),ql(Y,e(a).fwconsent===1),h(H,` ${e(s).consent?.yes??"Yes"??""}`),ql(O,e(a).fwconsent===2),h(C,` ${e(s).consent?.no??"No"??""}`),h(te,e(s).btn?.save??"Save")}),Be("submit",S,On(i)),q(t,d),xt()}var ev=F(""),Gp=F(''),Kp=F(''),Vp=F(''),Xp=F('


👁️
',1),Qp=F("",1),Zp=F('
',1),Jp=F('


'),e1=F(''),t1=F('
',1),r1=F('
'),a1=F('
',1),n1=F(''),i1=F('

',1);function o1(t,n){bt(n,!1);let r=W({});Gr.subscribe(ke=>{E(r,ke)});let a=W(),s=W(""),f=W(""),i=W(!1),d=W({});Qs.subscribe(ke=>{E(d,ke),E(i,ke?.c==0),E(s,ke?.n[0]?.s??"")});let g=W({});mr.subscribe(ke=>E(g,ke));let p=W(!1),S=W(1),o=W(!1),m=W(!1),k=W(!1),b=W(0);function A(ke){mr.update(Fe=>(Fe.trying=ke,Fe))}async function P(){E(o,!0);const ke=new FormData(e(a)),Fe=new URLSearchParams;for(let tt of ke){const[Dt,ft]=tt;Fe.append(Dt,ft)}let He=await(await fetch("save",{method:"POST",body:Fe})).json();E(o,!1),mr.update(tt=>(tt.hostname=ke.get("sh"),tt.usrcfg=He.success,tt.booting=He.reboot,e(p)&&(tt.net.ip=ke.get("si"),tt.net.mask=ke.get("su"),tt.net.gw=ke.get("sg"),tt.net.dns1=ke.get("sd")),He.reboot&&setTimeout(Ti,5e3,e(g),A),tt))}async function R(){let ke;if(e(m))ke=await fetch("wifitest.json");else{E(m,!0),E(k,!1);const He=new URLSearchParams;He.append("ssid",e(s)),He.append("psk",e(f)),ke=await fetch("wifitest.json",{method:"POST",body:He})}const Fe=await ke.json();Fe?.time==0?(E(m,!1),E(k,Fe.status==3),E(b,Fe.status),e(k)&&(mr.update(He=>(He.net.ip=Fe.ip,He)),setTimeout(P,1e3))):e(m)&&(Fe.time>3e4?(E(b,4),E(m,!1)):setTimeout(R,2e3))}async function Y(){E(m,!1),E(k,!1),E(b,0)}async function H(){const ke=e(a).querySelector('input[name="sp"]');ke.type==="password"?(ke.type="text",this.textContent="🙈"):(ke.type="password",this.textContent="👁️")}St();var T=i1(),O=pe(T),C=c(O),B=c(C),J=c(B),te=v(J,2),se=c(te,!0);u(te);var le=v(te,2),qe=c(le,!0),G=v(qe,3),x=c(G),_=c(x,!0);u(x),x.value=x.__value=1;var w=v(x),y=c(w,!0);u(w),w.value=w.__value=2;var M=v(w),N=ke=>{var Fe=ev(),He=c(Fe,!0);u(Fe),Fe.value=Fe.__value=3,j(()=>h(He,e(r).conf?.connection?.eth??"Ethernet")),q(ke,Fe)};I(M,ke=>{e(g).if&&e(g).if.eth&&ke(N)}),u(G),u(le);var z=v(le,2),Z=ke=>{var Fe=Xp(),He=pe(Fe),tt=c(He),Dt=v(tt),ft=c(Dt);ce(ft),ft.value=ft.__value="true",Rr(),u(Dt);var Ct=v(Dt,4),Ft=ve=>{var $e=Gp();ce($e),j(()=>{Q($e,"pattern",Gn),$e.required=e(S)==1||e(S)==2}),Ae($e,()=>e(s),D=>E(s,D)),Be("input",$e,Y),q(ve,$e)},Pr=ve=>{var $e=Vp(),D=c($e),V=ue=>{var ye=Kp();ye.value=ye.__value="",q(ue,ye)};I(D,ue=>{e(d)?.c==-1&&ue(V)});var ne=v(D),Me=ue=>{var ye=gr(),we=pe(ye);jt(we,1,()=>e(d)?.n,Rt,(Pe,Ee)=>{var Ne=ev(),Ie=c(Ne);u(Ne);var ae={};j(()=>{h(Ie,`${e(Ee).s??""} (${e(Ee).e??""}, RSSI: ${e(Ee).r??""})`),ae!==(ae=e(Ee).s)&&(Ne.value=(Ne.__value=e(Ee).s)??"")}),q(Pe,Ne)}),q(ue,ye)};I(ne,ue=>{e(d)?.n&&ue(Me)}),u($e),j(()=>$e.required=e(S)==1||e(S)==2),Tt($e,()=>e(s),ue=>E(s,ue)),Be("change",$e,Y),q(ve,$e)};I(Ct,ve=>{e(i)?ve(Ft):ve(Pr,-1)}),u(He);var sr=v(He,2),de=c(sr,!0),U=v(de,3),X=c(U);ce(X);var xe=v(X,2);u(U),u(sr),j(()=>{h(tt,`${e(r).conf?.connection?.ssid??"SSID"??""} `),h(de,e(r).conf?.connection?.psk??"Password"),Q(X,"pattern",Gn),X.required=e(S)==2}),cr(ft,()=>e(i),ve=>E(i,ve)),Ae(X,()=>e(f),ve=>E(f,ve)),Be("input",X,Y),Be("click",xe,H),q(ke,Fe)};I(z,ke=>{(e(S)==1||e(S)==2)&&ke(Z)});var ge=v(z,2),We=c(ge),Oe=v(We);ce(Oe),u(ge);var Ue=v(ge,2),pt=c(Ue),Ze=c(pt);ce(Ze),Ze.value=Ze.__value="static";var qt=v(Ze);u(pt);var be=v(pt,2),Le=ke=>{var Fe=Zp(),He=v(pe(Fe),2),tt=c(He),Dt=v(tt,2);_n(Dt,()=>{var ft=c(Dt),Ct=Qp();xu(pe(Ct),{}),q(ft,Ct)}),u(He),j(()=>{tt.required=e(p),Q(tt,"pattern",pn),Dt.required=e(p)}),q(ke,Fe)};I(be,ke=>{e(p)&&ke(Le)}),u(Ue);var Ve=v(Ue,2),ct=ke=>{var Fe=Jp(),He=c(Fe),tt=c(He,!0),Dt=v(tt,3);u(He);var ft=v(He,2),Ct=c(ft,!0),Ft=v(Ct,3);u(ft),u(Fe),j(()=>{h(tt,e(r).conf?.network?.gw??"Gateway"),Q(Dt,"pattern",pn),h(Ct,e(r).conf?.network?.dns??"DNS"),Q(Ft,"pattern",pn)}),q(ke,Fe)};I(Ve,ke=>{e(p)&&ke(ct)});var Ge=v(Ve,2),ht=c(Ge),lt=ke=>{var Fe=e1(),He=c(Fe,!0);u(Fe),j(()=>h(He,e(r).btn?.save??"Save")),q(ke,Fe)},mt=ke=>{var Fe=t1(),He=pe(Fe),tt=c(He,!0);u(He);var Dt=v(He,2),ft=c(Dt,!0);u(Dt),j(()=>{h(tt,e(r).setup?.testok??"Connection successful ("+e(g).net.ip+")"),h(ft,e(r).btn?.save??"Save")}),q(ke,Fe)},_r=ke=>{var Fe=r1(),He=c(Fe,!0);u(Fe),j(()=>h(He,e(r).setup?.testconn??"Testing connection")),q(ke,Fe)},Ir=ke=>{var Fe=gr(),He=pe(Fe),tt=ft=>{var Ct=a1(),Ft=pe(Ct),Pr=c(Ft,!0);u(Ft);var sr=v(Ft,2),de=c(sr,!0);u(sr),j(()=>{h(Pr,(e(r).setup?.testfail??"Connection failed")+": "+(e(r).errors?.wifi?.[e(b)]??e(b))),h(de,e(r).btn?.forcesave??"Force save")}),q(ft,Ct)},Dt=ft=>{var Ct=n1(),Ft=c(Ct,!0);u(Ct),j(()=>h(Ft,e(r).btn?.save??"Save")),Be("click",Ct,R),q(ft,Ct)};I(He,ft=>{e(b)?ft(tt):ft(Dt,-1)}),q(ke,Fe)};I(ht,ke=>{e(S)!=1?ke(lt):e(k)?ke(mt,1):e(m)?ke(_r,2):ke(Ir,-1)}),u(Ge),u(B),go(B,ke=>E(a,ke),()=>e(a)),u(C),u(O);var yr=v(O,2);{let ke=Ce(()=>e(r).setup?.mask??"Saving");jr(yr,{get active(){return e(o)},get message(){return e(ke)}})}j(()=>{h(se,e(r).setup?.title??"Setup"),h(qe,e(r).conf?.connection?.title??"Connection"),h(_,e(r).conf?.connection?.wifi??"Connect to WiFi"),h(y,e(r).conf?.connection?.ap??"Standalone access point"),h(We,`${e(r).conf?.general?.hostname??"Hostname"??""} `),Q(Oe,"pattern",to),h(qt,` ${e(r).setup?.static??"Static IP"??""}`)}),Tt(G,()=>e(S),ke=>E(S,ke)),Be("input",G,Y),Ae(Oe,()=>e(g).hostname,ke=>ee(g,e(g).hostname=ke)),cr(Ze,()=>e(p),ke=>E(p,ke)),Be("submit",B,On(P)),q(t,T),xt()}var s1=F(' ',1),l1=F(' '),v1=F(' ',1),u1=F(' ',1),tv=F(''),c1=F(" ",1);function f1(t,n){bt(n,!1);let r=fe(n,"chip",8);St();var a=c1(),s=pe(a);s.value=s.__value=-1;var f=v(s,2),i=R=>{var Y=s1(),H=pe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=v(T,2),B=c(C,!0);u(C),C.value=C.__value=5;var J=v(C,2),te=c(J,!0);u(J),J.value=J.__value=4;var se=v(J,2),le=c(se,!0);u(se),se.value=se.__value=3,u(H);var qe=v(H,2),G=c(qe),x=c(G,!0);u(G),G.value=G.__value=2;var _=v(G,2),w=c(_,!0);u(_),_.value=_.__value=1;var y=v(_,2),M=c(y,!0);u(y),y.value=y.__value=0,u(qe);var N=v(qe,2),z=c(N),Z=c(z,!0);u(z),z.value=z.__value=101;var ge=v(z,2),We=c(ge,!0);u(ge),ge.value=ge.__value=100,u(N),j((Oe,Ue,pt,Ze,qt,be,Le,Ve,ct)=>{h(O,Oe),h(B,Ue),h(te,pt),h(le,Ze),h(x,qt),h(w,be),h(M,Le),h(Z,Ve),h(We,ct)},[()=>($(je),$(r()),l(()=>je(r(),7))),()=>($(je),$(r()),l(()=>je(r(),5))),()=>($(je),$(r()),l(()=>je(r(),4))),()=>($(je),$(r()),l(()=>je(r(),3))),()=>($(je),$(r()),l(()=>je(r(),2))),()=>($(je),$(r()),l(()=>je(r(),1))),()=>($(je),$(r()),l(()=>je(r(),0))),()=>($(je),$(r()),l(()=>je(r(),101))),()=>($(je),$(r()),l(()=>je(r(),100)))]),q(R,Y)};I(f,R=>{r()=="esp8266"&&R(i)});var d=v(f,2),g=R=>{var Y=l1(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=201;var O=v(H,2),C=c(O,!0);u(O),O.value=O.__value=202;var B=v(O,2),J=c(B,!0);u(B),B.value=B.__value=203;var te=v(B,2),se=c(te,!0);u(te),te.value=te.__value=241;var le=v(te,2),qe=c(le,!0);u(le),le.value=le.__value=242;var G=v(le,2),x=c(G,!0);u(G),G.value=G.__value=243;var _=v(G,2),w=c(_,!0);u(_),_.value=_.__value=245;var y=v(_,2),M=c(y,!0);u(y),y.value=y.__value=200,u(Y),j((N,z,Z,ge,We,Oe,Ue,pt)=>{h(T,N),h(C,z),h(J,Z),h(se,ge),h(qe,We),h(x,Oe),h(w,Ue),h(M,pt)},[()=>($(je),$(r()),l(()=>je(r(),201))),()=>($(je),$(r()),l(()=>je(r(),202))),()=>($(je),$(r()),l(()=>je(r(),203))),()=>($(je),$(r()),l(()=>je(r(),241))),()=>($(je),$(r()),l(()=>je(r(),242))),()=>($(je),$(r()),l(()=>je(r(),243))),()=>($(je),$(r()),l(()=>je(r(),245))),()=>($(je),$(r()),l(()=>je(r(),200)))]),q(R,Y)};I(d,R=>{r()=="esp32"&&R(g)});var p=v(d,2),S=R=>{var Y=v1(),H=pe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=v(T,2),B=c(C,!0);u(C),C.value=C.__value=6;var J=v(C,2),te=c(J,!0);u(J),J.value=J.__value=5,u(H);var se=v(H,2),le=c(se),qe=c(le,!0);u(le),le.value=le.__value=51;var G=v(le,2),x=c(G,!0);u(G),G.value=G.__value=50,u(se),j((_,w,y,M,N)=>{h(O,_),h(B,w),h(te,y),h(qe,M),h(x,N)},[()=>($(je),$(r()),l(()=>je(r(),7))),()=>($(je),$(r()),l(()=>je(r(),6))),()=>($(je),$(r()),l(()=>je(r(),5))),()=>($(je),$(r()),l(()=>je(r(),51))),()=>($(je),$(r()),l(()=>je(r(),50)))]),q(R,Y)};I(p,R=>{r()=="esp32s2"&&R(S)});var o=v(p,2),m=R=>{var Y=u1(),H=pe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=8,u(H);var C=v(H,2),B=c(C),J=c(B,!0);u(B),B.value=B.__value=71;var te=v(B,2),se=c(te,!0);u(te),te.value=te.__value=70,u(C),j((le,qe,G)=>{h(O,le),h(J,qe),h(se,G)},[()=>($(je),$(r()),l(()=>je(r(),8))),()=>($(je),$(r()),l(()=>je(r(),71))),()=>($(je),$(r()),l(()=>je(r(),70)))]),q(R,Y)};I(o,R=>{r()=="esp32c3"&&R(m)});var k=v(o,2),b=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=200,u(Y),j(O=>h(T,O),[()=>($(je),$(r()),l(()=>je(r(),200)))]),q(R,Y)};I(k,R=>{r()=="esp32solo"&&R(b)});var A=v(k,2),P=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=80,u(Y),j(O=>h(T,O),[()=>($(je),$(r()),l(()=>je(r(),80)))]),q(R,Y)};I(A,R=>{r()=="esp32s3"&&R(P)}),q(t,a),xt()}var d1=F('
WARNING: Changing this configuration will affect basic configuration of your device. Only make changes here if instructed by vendor
'),rv=F("",1),_1=F('
HAN GPIO
'),p1=F('
Initial configuration
Board type
 
',1);function h1(t,n){bt(n,!1);let r=W({}),a=W(!1);async function s(T){E(a,!0);const O=new FormData(T.target),C=new URLSearchParams;for(let J of O){const[te,se]=J;C.append(te,se)}let B=await(await fetch("save",{method:"POST",body:C})).json();E(a,!1),mr.update(J=>(J.vndcfg=B.success,J.booting=B.reboot,J.if.eth=J.boardType>240&&J.boardType<250,J)),Ja(e(r).usrcfg?"/":"/setup")}let f=W(!0);mr.subscribe(T=>{E(r,T),T.fwconsent===1&&E(f,!e(r).usrcfg)}),St();var i=p1(),d=pe(i),g=c(d),p=c(g),S=c(p),o=v(S,4),m=T=>{var O=d1();q(T,O)};I(o,T=>{e(r).usrcfg&&T(m)});var k=v(o,2),b=v(c(k),3);_n(b,()=>{var T=c(b),O=rv();f1(pe(O),{get chip(){return e(r).chip}}),q(T,O)}),u(k);var A=v(k,2),P=T=>{var O=_1(),C=v(c(O),3);_n(C,()=>{var B=c(C),J=rv();Ms(pe(J),{get chip(){return e(r).chip}}),q(B,J)}),u(O),q(T,O)};I(A,T=>{e(r).board&&e(r).board>20&&T(P)});var R=v(A,2),Y=c(R),H=c(Y);ce(H),H.value=H.__value="true",Rr(),u(Y),u(R),Rr(4),u(p),u(g),u(d),jr(v(d,2),{get active(){return e(a)},message:"Saving"}),Tt(b,()=>e(r).board,T=>(ee(r,e(r).board=T),K(()=>{}))),cr(H,()=>e(f),T=>E(f,T)),Be("submit",p,On(s)),q(t,i),xt()}var av=F(''),m1=F('
Import
',1),g1=F('
Export
',1),b1=F('
',1);function yu(t,n){bt(n,!1);let r=fe(n,"prefix",8),a=fe(n,"data",12),s=fe(n,"url",8),f=fe(n,"basepath",8,"/"),i=W({});Gr.subscribe(le=>{E(i,le)});let d=W(!1),g=W(),p=W();async function S(){if(confirm("Clear all data?"))for(let le in a())(le.startsWith("i")||le.startsWith("e"))&&a(a()[le]=0,!0)}let o=W(!1);async function m(le){E(o,!0);const qe=new FormData(le.target),G=new URLSearchParams;for(let x of qe){const[_,w]=x;G.append(_,w)}await(await fetch(s(),{method:"POST",body:G})).json(),E(o,!1),Ja(f())}or(()=>(e(g),e(p),$(a()),$(r())),()=>{E(g,[]),E(p,[]);for(let le in a()){let qe=[];le.startsWith("i")?qe=e(g):le.startsWith("e")&&(qe=e(p),a()[le]&&E(d,!0)),qe.push({key:le,name:r()+" "+le.substring(1),value:a()[le]})}}),dr(),St();var k=b1(),b=pe(k),A=c(b),P=c(A),R=le=>{var qe=m1(),G=v(pe(qe),2);jt(G,5,()=>e(g),Rt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=v(y,2);ce(N),Rr(2),u(w),j(()=>{h(M,(e(_),l(()=>e(_).name))),Q(N,"name",(e(_),l(()=>e(_).key)))}),Ae(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(G),q(le,qe)};I(P,le=>{e(g)&&le(R)});var Y=v(P,2),H=le=>{var qe=g1(),G=v(pe(qe),2);jt(G,5,()=>e(p),Rt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=v(y,2);ce(N),Rr(2),u(w),j(()=>{h(M,(e(_),l(()=>e(_).name))),Q(N,"name",(e(_),l(()=>e(_).key)))}),Ae(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(G),q(le,qe)};I(Y,le=>{e(p)&&e(d)&&le(H)});var T=v(Y,2),O=c(T),C=c(O);u(O);var B=v(O,2),J=c(B),te=c(J,!0);u(J),u(B),u(T),u(A),u(b);var se=v(b,2);{let le=Ce(()=>(e(i),l(()=>e(i).conf?.mask?.saving??"Saving")));jr(se,{get active(){return e(o)},get message(){return e(le)}})}j(()=>h(te,(e(i),l(()=>e(i).btn?.save??"Save")))),Be("click",C,S),Be("submit",b,On(m)),q(t,k),xt()}function x1(t,n){bt(n,!1);let r="/",a=W();Vs.subscribe(s=>E(a,s)),St(),yu(t,{prefix:"UTC Hour",get data(){return e(a)},url:"/dayplot",basepath:r}),xt()}function y1(t,n){bt(n,!1);let r="/",a=W();Xs.subscribe(s=>E(a,s)),St(),yu(t,{prefix:"Day",get data(){return e(a)},url:"/monthplot",basepath:r}),xt()}var w1=F('
');function k1(t,n){bt(n,!1);let r=W(document.getElementsByTagName("base")[0].getAttribute("href"));e(r)||E(r,"/");let a={};Gr.subscribe(k=>{a=k});let s,f=W({}),i=W({}),d;mr.subscribe(k=>{E(i,k),e(i).vndcfg===!1?Ja("/vendor"):e(i).usrcfg===!1?Ja("/setup"):e(i).fwconsent===0&&Ja("/consent"),e(i).ui.k===1?document.documentElement.classList.add("dark"):e(i).ui.k===0?document.documentElement.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),e(i).ui.lang&&e(i).ui.lang!=a?.language?.code&&pu(e(i).ui.lang),e(i).version&&d&&e(i).version!=d&&window.location.reload(),d=e(i).version,s&&clearTimeout(s),s=setTimeout(hn,!e(f)||!e(f).u||e(f).u<30||e(i)?.upgrading?1e4:3e5)}),Co.subscribe(k=>{E(f,k),Cd(k)}),du(),St();var g=w1(),p=c(g);td(p,{get data(){return e(f)},get basepath(){return e(r)}});var S=v(p,2);{let k=Ce(()=>({"/":zd,"/configuration":up,"/priceconfig":jp,"/status":Lp,"/mqtt-ca":Ip,"/mqtt-cert":Bp,"/mqtt-key":Hp,"/consent":Yp,"/setup":o1,"/vendor":h1,"/edit-day":x1,"/edit-month":y1}));Tf(S,{get routes(){return e(k)}})}var o=v(S,2),m=k=>{var b=gr(),A=pe(b),P=Y=>{jr(Y,{active:"true",get message(){return`Device is booting, please wait. Trying to reach it on ${e(i).trying??""}`}})},R=Y=>{jr(Y,{active:"true",message:"Device is booting, please wait"})};I(A,Y=>{e(i).trying?Y(P):Y(R,-1)}),q(k,b)};I(o,k=>{e(i).booting&&k(m)}),u(g),q(t,g),xt()}var O1=Po(k1,{target:document.getElementById("app")}); +var qu=Object.create,nv=Object.defineProperty,Mu=Object.getOwnPropertyDescriptor,Eu=Object.getOwnPropertyNames,Tu=Object.getPrototypeOf,Au=Object.prototype.hasOwnProperty,Pu=(t,n)=>()=>(n||(t((n={exports:{}}).exports,n),t=null),n.exports),Ou=(t,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(var s=Eu(n),f=0,i=s.length,d;fn[b]).bind(null,d),enumerable:!(a=Mu(n,d))||a.enumerable});return t},Cu=(t,n,r)=>(r=t!=null?qu(Tu(t)):{},Ou(n||!t||!t.__esModule?nv(r,"default",{value:t,enumerable:!0}):r,t));(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const f of s)if(f.type==="childList")for(const i of f.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&a(i)}).observe(document,{childList:!0,subtree:!0});function r(s){const f={};return s.integrity&&(f.integrity=s.integrity),s.referrerPolicy&&(f.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?f.credentials="include":s.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function a(s){if(s.ep)return;s.ep=!0;const f=r(s);fetch(s.href,f)}})();var Ti=Array.isArray,Nu=Array.prototype.indexOf,no=Array.prototype.includes,xo=Array.from,nl=Object.keys,iv=Object.defineProperty,Wa=Object.getOwnPropertyDescriptor,ov=Object.getOwnPropertyDescriptors,Lu=Object.prototype,Du=Array.prototype,Es=Object.getPrototypeOf,il=Object.isExtensible;function ii(t){return typeof t=="function"}var mn=()=>{};function Ru(t){return t()}function io(t){for(var n=0;n{t=r,n=a}),resolve:t,reject:n}}function ki(t){"@babel/helpers - typeof";return ki=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ki(t)}function ju(t,n){if(ki(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var a=r.call(t,n||"default");if(ki(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function Fu(t){var n=ju(t,"string");return ki(n)=="symbol"?n:n+""}function dr(t,n,r){return(n=Fu(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}var E1=1<<24,da=1024,ga=2048,en=4096,Ts=8192,Iu=16384,As=32768,ol=1<<25,yo=65536,T1=1<<17,A1=1<<18,Zn=1<<19,lv=1<<20,gi=1<<25,Ai=65536,sl=1<<21,Wu=1<<22,oo=1<<23,Na=Symbol("$state"),Ps=Symbol("legacy props"),Bu=Symbol(""),Uu=Symbol("proxy path"),es=Symbol("attributes"),ts=Symbol("class"),rs=Symbol("style"),Qi=Symbol("text"),bi=Symbol("form reset");var wo=new class extends Error{constructor(...n){super(...n),dr(this,"name","StaleReactionError"),dr(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},vv=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function ko(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Hu(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function zu(t,n,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Yu(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Gu(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ku(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Vu(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Xu(){throw new Error("https://svelte.dev/e/hydration_failed")}function Qu(t){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Zu(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ju(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ec(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function tc(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function rc(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}var Kn={},Pr=Symbol("uninitialized");function ac(){console.warn("https://svelte.dev/e/derived_inert")}function $o(t){console.warn("https://svelte.dev/e/hydration_mismatch")}function nc(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ic(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}var st=!1;function na(t){st=t}var $t;function Fr(t){if(t===null)throw $o(),Kn;return $t=t}function Pi(){return Fr(Da($t))}function u(t){if(st){if(Da($t)!==null)throw $o(),Kn;$t=t}}function Rr(t=1){if(st){for(var n=t,r=$t;n--;)r=Da(r);$t=r}}function $i(t=!0){for(var n=0,r=$t;;){if(r.nodeType===8){var a=r.data;if(a==="]"){if(n===0)return r;n-=1}else(a==="["||a==="[!"||a[0]==="["&&!isNaN(Number(a.slice(1))))&&(n+=1)}var s=Da(r);t&&r.remove(),r=s}}function Os(t){if(!t||t.nodeType!==8)throw $o(),Kn;return t.data}function uv(t){return t===this.v}function Cs(t,n){return t!=t?n==n:t!==n||t!==null&&typeof t=="object"||typeof t=="function"}function cv(t){return!Cs(t,this.v)}var _a=!1,Jn=!1;function oc(){Jn=!0}function ll(t,n){return t.label=n,sc(t.v,n),t}function sc(t,n){return t?.[Uu]?.(n),t}var Lt=null;function Vn(t){Lt=t}function xt(t,n=!1,r){Lt={p:Lt,i:!1,c:null,e:null,s:t,x:null,r:lt,l:Jn&&!n?{s:null,u:null,$:[]}:null}}function yt(t){var n=Lt,r=n.e;if(r!==null){n.e=null;for(var a of r)Iv(a)}return t!==void 0&&(n.x=t),n.i=!0,Lt=n.p,t??{}}function Oi(){return!Jn||Lt!==null&&Lt.l===null}var un=[];function fv(){var t=un;un=[],io(t)}function Ua(t){if(un.length===0&&!xi){var n=un;queueMicrotask(()=>{n===un&&fv()})}un.push(t)}function lc(){for(;un.length>0;)fv()}function dv(t){var n=lt;if(n===null)return kt.f|=oo,t;if((n.f&32768)===0&&(n.f&4)===0)throw t;Qa(t,n)}function Qa(t,n){if(!(n!==null&&(n.f&16384)!==0)){for(;n!==null;){if((n.f&128)!==0){if((n.f&32768)===0)throw t;try{n.b.error(t);return}catch(r){t=r}}n=n.parent}throw t}}var vc=~(ga|en|da);function yr(t,n){t.f=t.f&vc|n}function Ns(t){(t.f&512)!==0||t.deps===null?yr(t,da):yr(t,en)}function _v(t){if(t!==null)for(const n of t)(n.f&2)===0||(n.f&65536)===0||(n.f^=Ai,_v(n.deps))}function pv(t,n,r){(t.f&2048)!==0?n.add(t):(t.f&4096)!==0&&r.add(t),_v(t.deps),yr(t,da)}function uc(t,n,r){if(t==null)return n(void 0),r&&r(void 0),mn;const a=v(()=>t.subscribe(n,r));return a.unsubscribe?()=>a.unsubscribe():a}var Dn=[];function Ls(t,n){return{subscribe:Qr(t,n).subscribe}}function Qr(t,n=mn){let r=null;const a=new Set;function s(d){if(Cs(t,d)&&(t=d,r)){const b=!Dn.length;for(const p of a)p[1](),Dn.push(p,t);if(b){for(let p=0;p{a.delete(p),a.size===0&&r&&(r(),r=null)}}return{set:s,update:f,subscribe:i}}function hv(t,n,r){const a=!Array.isArray(t),s=a?[t]:t;if(!s.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const f=n.length<2;return Ls(r,(i,d)=>{let b=!1;const p=[];let S=0,o=mn;const m=()=>{if(S)return;o();const g=n(a?p[0]:p,i,d);f?i(g):o=typeof g=="function"?g:mn},k=s.map((g,A)=>uc(g,P=>{p[A]=P,S&=~(1<{S|=1<{Bs()&&(e(r),za(()=>(n===0&&(a=v(()=>t(()=>yi(r)))),n+=1,()=>{Ua(()=>{n-=1,n===0&&(a?.(),a=void 0,yi(r))})})))}}function mv(t,n){if(n.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Ds(t,n){mv(t,n),n.add(t)}function et(t,n,r){mv(t,n),n.set(t,r)}function _t(t,n,r){if(typeof t=="function"?t===n:t.has(n))return arguments.length<3?n:r;throw new TypeError("Private element is not present on this object")}function Ke(t,n,r){return t.set(_t(t,n),r),r}function L(t,n){return t.get(_t(t,n))}var _c=yo|Zn;function pc(t,n,r,a){new hc(t,n,r,a)}var wa=new WeakMap,as=new WeakMap,Ca=new WeakMap,Si=new WeakMap,va=new WeakMap,La=new WeakMap,ia=new WeakMap,xa=new WeakMap,gn=new WeakMap,Fn=new WeakMap,bn=new WeakMap,Ii=new WeakMap,ns=new WeakMap,is=new WeakMap,an=new WeakMap,vl=new WeakMap,Br=new WeakSet,hc=class{constructor(t,n,r,a){Ds(this,Br),dr(this,"parent",void 0),dr(this,"is_pending",!1),dr(this,"transform_error",void 0),et(this,wa,void 0),et(this,as,st?$t:null),et(this,Ca,void 0),et(this,Si,void 0),et(this,va,void 0),et(this,La,null),et(this,ia,null),et(this,xa,null),et(this,gn,null),et(this,Fn,0),et(this,bn,0),et(this,Ii,!1),et(this,ns,new Set),et(this,is,new Set),et(this,an,null),et(this,vl,dc(()=>(Ke(an,this,qn(L(Fn,this))),()=>{Ke(an,this,null)}))),Ke(wa,this,t),Ke(Ca,this,n),Ke(Si,this,s=>{var f=lt;f.b=this,f.f|=128,r(s)}),this.parent=lt.b,this.transform_error=a??this.parent?.transform_error??(s=>s),Ke(va,this,Ao(()=>{if(st){const s=L(as,this);Pi();const f=s.data==="[!";if(s.data.startsWith("[?")){const i=JSON.parse(s.data.slice(2));_t(Br,this,gc).call(this,i)}else f?_t(Br,this,bc).call(this):_t(Br,this,mc).call(this)}else _t(Br,this,gv).call(this)},_c)),st&&Ke(wa,this,$t)}defer_effect(t){pv(t,L(ns,this),L(is,this))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!L(Ca,this).pending}update_pending_count(t,n){_t(Br,this,bv).call(this,t,n),Ke(Fn,this,L(Fn,this)+t),!(!L(an,this)||L(Ii,this))&&(Ke(Ii,this,!0),Ua(()=>{Ke(Ii,this,!1),L(an,this)&&Mn(L(an,this),L(Fn,this))}))}get_effect_pending(){return L(vl,this).call(this),e(L(an,this))}error(t){if(!L(Ca,this).onerror&&!L(Ca,this).failed)throw t;Qe?.is_fork?(L(La,this)&&Qe.skip_effect(L(La,this)),L(ia,this)&&Qe.skip_effect(L(ia,this)),L(xa,this)&&Qe.skip_effect(L(xa,this)),Qe.oncommit(()=>{_t(Br,this,ul).call(this,t)})):_t(Br,this,ul).call(this,t)}};function mc(){try{Ke(La,this,pa(()=>L(Si,this).call(this,L(wa,this))))}catch(t){this.error(t)}}function gc(t){const n=L(Ca,this).failed;n&&Ke(xa,this,pa(()=>{n(L(wa,this),()=>t,()=>()=>{})}))}function bc(){const t=L(Ca,this).pending;t&&(this.is_pending=!0,Ke(ia,this,pa(()=>t(L(wa,this)))),Ua(()=>{var n=Ke(gn,this,document.createDocumentFragment()),r=Xr();n.append(r),Ke(La,this,_t(Br,this,os).call(this,()=>pa(()=>L(Si,this).call(this,r)))),L(bn,this)===0&&(L(wa,this).before(n),Ke(gn,this,null),An(L(ia,this),()=>{Ke(ia,this,null)}),_t(Br,this,Rs).call(this,Qe))}))}function gv(){try{if(this.is_pending=this.has_pending_snippet(),Ke(bn,this,0),Ke(Fn,this,0),Ke(La,this,pa(()=>{L(Si,this).call(this,L(wa,this))})),L(bn,this)>0){var t=Ke(gn,this,document.createDocumentFragment());Hs(L(La,this),t);const n=L(Ca,this).pending;Ke(ia,this,pa(()=>n(L(wa,this))))}else _t(Br,this,Rs).call(this,Qe)}catch(n){this.error(n)}}function Rs(t){this.is_pending=!1,t.transfer_effects(L(ns,this),L(is,this))}function os(t){var n=lt,r=kt,a=Lt;ma(L(va,this)),ha(L(va,this)),Vn(L(va,this).ctx);try{return Tn.ensure(),t()}catch(s){return dv(s),null}finally{ma(n),ha(r),Vn(a)}}function bv(t,n){if(!this.has_pending_snippet()){if(this.parent){var r;_t(Br,r=this.parent,bv).call(r,t,n)}return}Ke(bn,this,L(bn,this)+t),L(bn,this)===0&&(_t(Br,this,Rs).call(this,n),L(ia,this)&&An(L(ia,this),()=>{Ke(ia,this,null)}),L(gn,this)&&(L(wa,this).before(L(gn,this)),Ke(gn,this,null)))}function ul(t){L(La,this)&&(Yr(L(La,this)),Ke(La,this,null)),L(ia,this)&&(Yr(L(ia,this)),Ke(ia,this,null)),L(xa,this)&&(Yr(L(xa,this)),Ke(xa,this,null)),st&&(Fr(L(as,this)),Rr(),Fr($i()));var n=L(Ca,this).onerror;let r=L(Ca,this).failed;var a=!1,s=!1;const f=()=>{if(a){ic();return}a=!0,s&&rc(),L(xa,this)!==null&&An(L(xa,this),()=>{Ke(xa,this,null)}),_t(Br,this,os).call(this,()=>{_t(Br,this,gv).call(this)})},i=d=>{try{s=!0,n?.(d,f),s=!1}catch(b){Qa(b,L(va,this)&&L(va,this).parent)}r&&Ke(xa,this,_t(Br,this,os).call(this,()=>{try{return pa(()=>{var b=lt;b.b=this,b.f|=128,r(L(wa,this),()=>d,()=>f)})}catch(b){return Qa(b,L(va,this).parent),null}}))};Ua(()=>{var d;try{d=this.transform_error(t)}catch(b){Qa(b,L(va,this)&&L(va,this).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(i,b=>Qa(b,L(va,this)&&L(va,this).parent)):i(d)})}function xc(t,n,r,a){const s=Oi()?Xn:Ce;var f=t.filter(k=>!k.settled),i=n.map(s);if(r.length===0&&f.length===0){a(i);return}var d=lt,b=yc(),p=f.length===1?f[0].promise:f.length>1?Promise.all(f.map(k=>k.promise)):null;function S(k){if((d.f&16384)===0){b();try{a([...i,...k])}catch(g){Qa(g,d)}so()}}var o=xv();if(r.length===0){p.then(()=>S([])).finally(o);return}function m(){Promise.all(r.map(k=>wc(k))).then(S).catch(k=>Qa(k,d)).finally(o)}p?p.then(()=>{b(),m(),so()}):m()}function yc(){var t=lt,n=kt,r=Lt,a=Qe;if(0)var s;return function(i=!0){ma(t),ha(n),Vn(r),i&&(t.f&16384)===0&&(a?.activate(),a?.apply())}}function so(t=!0){ma(null),ha(null),Vn(null),t&&Qe?.deactivate()}function xv(){var t=lt,n=t.b,r=Qe,a=!!n?.is_rendered();return n?.update_pending_count(1,r),r.increment(a,t),()=>{n?.update_pending_count(-1,r),r.decrement(a,t)}}function Xn(t){var n=2|ga;return lt!==null&&(lt.f|=Zn),{ctx:Lt,deps:null,effects:null,equals:uv,f:n,fn:t,reactions:null,rv:0,v:Pr,wv:0,parent:lt,ac:null}}var ci=Symbol("obsolete");function wc(t,n,r){let a=lt;a===null&&Hu();var s=void 0,f=qn(Pr),i=!kt,d=new Set;return Ic(()=>{var b=lt,p=sv();s=p.promise;try{Promise.resolve(t()).then(p.resolve,k=>{k!==wo&&p.reject(k)}).finally(so)}catch(k){p.reject(k),so()}var S=Qe;if(i){if((b.f&32768)!==0)var o=xv();if(a.b?.is_rendered())S.async_deriveds.get(b)?.reject(ci);else for(const k of d.values())k.reject(ci);d.add(p),S.async_deriveds.set(b,p)}const m=(k,g=void 0)=>{o?.(),d.delete(p),g!==ci&&(S.activate(),g?(f.f|=oo,Mn(f,g)):((f.f&8388608)!==0&&(f.f^=oo),Mn(f,k)),S.deactivate())};p.promise.then(m,k=>m(null,k||"unknown"))}),Eo(()=>{for(const b of d)b.reject(ci)}),new Promise(b=>{function p(S){function o(){S===s?b(f):p(s)}S.then(o,o)}p(s)})}function er(t){const n=Xn(t);return _a||zv(n),n}function Ce(t){const n=Xn(t);return n.equals=cv,n}function kc(t){var n=t.effects;if(n!==null){t.effects=null;for(var r=0;rthis.schedule(a)){var a=L(Xa,this).get(n);if(a){L(Xa,this).delete(n);for(var s of a.d)yr(s,ga),r(s);for(s of a.m)yr(s,en),r(s)}L(Zi,this).add(n)}capture(n,r,a=!1){n.v!==Pr&&!this.previous.has(n)&&this.previous.set(n,n.v),(n.f&8388608)===0&&(this.current.set(n,[r,a]),zr?.set(n,r)),this.is_fork||(n.v=r)}activate(){Qe=this}deactivate(){Qe=null,zr=null}flush(){try{jo=!0,Qe=this,_t($r,this,fo).call(this)}finally{$v=0,ss=null,Qn=null,vo=null,jo=!1,Qe=null,zr=null,yn.clear()}}discard(){for(const n of L(Wi,this))n(this);L(Wi,this).clear();for(const n of this.async_deriveds.values())n.reject(ci);_t($r,this,_o).call(this),L(fi,this)?.resolve()}register_created_effect(n){L(ls,this).push(n)}increment(n,r){if(Ke(Wn,this,L(Wn,this)+1),n){let a=L(sn,this).get(r)??0;L(sn,this).set(r,a+1)}}decrement(n,r){if(Ke(Wn,this,L(Wn,this)-1),n){let a=L(sn,this).get(r)??0;a===1?L(sn,this).delete(r):L(sn,this).set(r,a-1)}L(di,this)||(Ke(di,this,!0),Ua(()=>{Ke(di,this,!1),this.linked&&this.flush()}))}transfer_effects(n,r){for(const a of n)L(Sn,this).add(a);for(const a of r)L(Ba,this).add(a);n.clear(),r.clear()}oncommit(n){L(co,this).add(n)}ondiscard(n){L(Wi,this).add(n)}settled(){return(L(fi,this)??Ke(fi,this,sv())).promise}static ensure(){if(Qe===null){const n=Qe=new Sv;!jo&&!xi&&Ua(()=>{L(uo,n)||n.flush()})}return Qe}apply(){if(!_a||!this.is_fork&&L(xn,this)===null&&L(cn,this)===null){zr=null;return}zr=new Map;for(const[r,[a]]of this.current)zr.set(r,a);for(let r=lo;r!==null;r=L(cn,r))if(!(r===this||r.is_fork)){var n=!1;if(r.id1e3&&(_t($r,this,_o).call(this),Tc());for(const d of L(Sn,this))L(Ba,this).delete(d),yr(d,ga),this.schedule(d);for(const d of L(Ba,this))yr(d,en),this.schedule(d);const t=L(ua,this);Ke(ua,this,[]),this.apply();var n=Qn=[],r=[],a=vo=[];for(const d of t)try{_t($r,this,qv).call(this,d,n,r)}catch(b){throw Av(d),_t($r,this,cl).call(this)||this.discard(),b}if(Qe=null,a.length>0){var s=kv.ensure();for(const d of a)s.schedule(d)}if(Qn=null,vo=null,_t($r,this,cl).call(this)){_t($r,this,_i).call(this,r),_t($r,this,_i).call(this,n);for(const[d,b]of L(Xa,this))Tv(d,b);a.length>0&&_t($r,Qe,fo).call(Qe);return}const f=_t($r,this,qc).call(this);if(f){_t($r,this,_i).call(this,r),_t($r,this,_i).call(this,n),_t($r,f,Mc).call(f,this);return}L(Sn,this).clear(),L(Ba,this).clear();for(const d of L(co,this))d(this);L(co,this).clear(),qi=this,fl(r),fl(n),qi=null,L(fi,this)?.resolve();var i=Qe;if(L(Wn,this)===0&&(L(ua,this).length===0||i!==null)&&(_t($r,this,_o).call(this),_a&&(_t($r,this,Ec).call(this),Qe=i)),L(ua,this).length>0)if(i!==null){const d=i;L(ua,d).push(...L(ua,this).filter(b=>!L(ua,d).includes(b)))}else i=this;i!==null&&_t($r,i,fo).call(i)}function qv(t,n,r){t.f^=da;for(var a=t.first;a!==null;){var s=a.f,f=(s&96)!==0;if(!(f&&(s&1024)!==0||(s&8192)!==0||L(Xa,this).has(a))&&a.fn!==null){f?a.f^=da:(s&4)!==0?n.push(a):_a&&(s&16777224)!==0?r.push(a):ei(a)&&((s&16)!==0&&L(Ba,this).add(a),En(a));var i=a.first;if(i!==null){a=i;continue}}for(;a!==null;){var d=a.next;if(d!==null){a=d;break}a=a.parent}}}function qc(){for(var t=L(xn,this);t!==null;){if(!t.is_fork){for(const[n,[,r]]of this.current)if(t.current.has(n)&&!r)return t}t=L(xn,t)}return null}function Mc(t){for(const[r,a]of t.current)!this.previous.has(r)&&t.previous.has(r)&&this.previous.set(r,t.previous.get(r)),this.current.set(r,a);for(const[r,a]of t.async_deriveds){const s=this.async_deriveds.get(r);s&&a.promise.then(s.resolve).catch(s.reject)}t.async_deriveds.clear(),this.transfer_effects(L(Sn,t),L(Ba,t));const n=r=>{var a=r.reactions;if(a!==null)for(const i of a){var s=i.f;if((s&2)!==0)n(i);else{var f=i;s&4194320&&!this.async_deriveds.has(f)&&(L(Ba,this).delete(f),yr(f,ga),this.schedule(f))}}};for(const r of this.current.keys())n(r);this.oncommit(()=>t.discard()),_t($r,t,_o).call(t),Qe=this,_t($r,this,fo).call(this)}function _i(t){for(var n=0;n!S.current.get(o)[1]);if(!(!L(uo,S)||a.length===0)){var s=a.filter(o=>!this.current.has(o));if(s.length===0)t&&S.discard();else if(n.length>0){if(t)for(const o of L(Zi,this))S.unskip_effect(o,m=>{(m.f&4194320)!==0?S.schedule(m):_t($r,S,_i).call(S,[m])});S.activate();var f=new Set,i=new Map;for(var d of n)Ev(d,s,f,i);i=new Map;var b=[...S.current].filter(([o,m])=>{const k=this.current.get(o);return k?k[0]!==m[0]||k[1]!==m[1]:!0}).map(([o])=>o);if(b.length>0)for(const o of L(ls,this))(o.f&155648)===0&&Fs(o,b,i)&&((o.f&4194320)!==0?(yr(o,ga),S.schedule(o)):L(Sn,S).add(o));if(L(ua,S).length>0&&!L(di,S)){S.apply();for(var p of L(ua,S))_t($r,S,qv).call(S,p,[],[]);Ke(ua,S,[])}S.deactivate()}}}}function _o(){if(this.linked){var t=L(xn,this),n=L(cn,this);t===null?lo=n:Ke(cn,t,n),n===null?In=t:Ke(xn,n,t),this.linked=!1}}function Mv(t){var n=xi;xi=!0;try{var r;for(t&&(Qe!==null&&!Qe.is_fork&&Qe.flush(),r=t());;){if(lc(),Qe===null)return r;Qe.flush()}}finally{xi=n}}function Tc(){if(0){var t;for(const r of Qe.current.keys())for(const[a,s]of r.updated??[])var n}try{Vu()}catch(r){Qa(r,ss)}}var Pa=null;function fl(t){var n=t.length;if(n!==0){for(var r=0;r0)){yn.clear();for(const s of Pa){if((s.f&24576)!==0)continue;const f=[s];let i=s.parent;for(;i!==null;)Pa.has(i)&&(Pa.delete(i),f.push(i)),i=i.parent;for(let d=f.length-1;d>=0;d--){const b=f[d];(b.f&24576)===0&&En(b)}}Pa.clear()}}Pa=null}}function Ev(t,n,r,a){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const s of t.reactions){const f=s.f;(f&2)!==0?Ev(s,n,r,a):(f&4194320)!==0&&(f&2048)===0&&Fs(s,n,a)&&(yr(s,ga),Is(s))}}function Fs(t,n,r){const a=r.get(t);if(a!==void 0)return a;if(t.deps!==null)for(const s of t.deps){if(no.call(n,s))return!0;if((s.f&2)!==0&&Fs(s,n,r))return r.set(s,!0),!0}return r.set(t,!1),!1}function Is(t){Qe.schedule(t)}function Tv(t,n){if(!((t.f&32)!==0&&(t.f&1024)!==0)){(t.f&2048)!==0?n.d.push(t):(t.f&4096)!==0&&n.m.push(t),yr(t,da);for(var r=t.first;r!==null;)Tv(r,n),r=r.next}}function Av(t){yr(t,da);for(var n=t.first;n!==null;)Av(n),n=n.next}var po=new Set,yn=new Map;var Pv=!1;function qn(t,n){var r={f:0,v:t,reactions:null,equals:uv,rv:0,wv:0};return r}function Ya(t,n){const r=qn(t,n);return zv(r),r}function W(t,n=!1,r=!0){const a=qn(t);if(n||(a.equals=cv),Jn&&r&&Lt!==null&&Lt.l!==null){var s;((s=Lt.l).s??(s.s=[])).push(a)}return a}function ee(t,n){return E(t,v(()=>e(t))),n}function E(t,n,r=!1){kt!==null&&(!ya||(kt.f&131072)!==0)&&Oi()&&(kt.f&4325394)!==0&&(ka===null||!ka.has(t))&&tc();let a=r?zn(n):n;return Mn(t,a,vo)}function Mn(t,n,r=null){if(!t.equals(n)){yn.set(t,Ha?n:t.v);var a=Tn.ensure();if(a.capture(t,n),(t.f&2)!==0){const s=t;(t.f&2048)!==0&&js(s),zr===null&&Ns(s)}t.wv=Gv(),Ov(t,ga,r),Oi()&<!==null&&(lt.f&1024)!==0&&(lt.f&96)===0&&(la===null?Hc([t]):la.push(t)),!a.is_fork&&po.size>0&&!Pv&&Ac()}return n}function Ac(){Pv=!1;for(const t of po){(t.f&1024)!==0&&yr(t,en);let n;try{n=ei(t)}catch{n=!0}n&&En(t)}po.clear()}function yi(t){E(t,t.v+1)}function Ov(t,n,r){var a=t.reactions;if(a!==null)for(var s=Oi(),f=a.length,i=0;i{if(wn===i)return o();var m=kt,k=wn;ha(null),ml(i);var g=o();return ha(m),ml(k),g};a&&r.set("length",Ya(t.length,f));var b="";let p=!1;function S(o){if(!p){p=!0,b=o,ll(s,`${b} version`);for(const[m,k]of r)ll(k,Oc(b,m));p=!1}}return new Proxy(t,{defineProperty(o,m,k){(!("value"in k)||k.configurable===!1||k.enumerable===!1||k.writable===!1)&&Ju();var g=r.get(m);return g===void 0?d(()=>{var A=Ya(k.value,f);return r.set(m,A),A}):E(g,k.value,!0),!0},deleteProperty(o,m){var k=r.get(m);if(k===void 0){if(m in o){const g=d(()=>Ya(Pr,f));r.set(m,g),yi(s)}}else E(k,Pr),yi(s);return!0},get(o,m,k){if(m===Na)return t;var g=r.get(m),A=m in o;if(g===void 0&&(!A||Wa(o,m)?.writable)&&(g=d(()=>{var R=Ya(zn(A?o[m]:Pr),f);return R}),r.set(m,g)),g!==void 0){var P=e(g);return P===Pr?void 0:P}return Reflect.get(o,m,k)},getOwnPropertyDescriptor(o,m){var k=Reflect.getOwnPropertyDescriptor(o,m);if(k&&"value"in k){var g=r.get(m);g&&(k.value=e(g))}else if(k===void 0){var A=r.get(m),P=A?.v;if(A!==void 0&&P!==Pr)return{enumerable:!0,configurable:!0,value:P,writable:!0}}return k},has(o,m){if(m===Na)return!0;var k=r.get(m),g=k!==void 0&&k.v!==Pr||Reflect.has(o,m);return(k!==void 0||lt!==null&&(!g||Wa(o,m)?.writable))&&(k===void 0&&(k=d(()=>{var A=Ya(g?zn(o[m]):Pr,f);return A}),r.set(m,k)),e(k)===Pr)?!1:g},set(o,m,k,g){var A=r.get(m),P=m in o;if(a&&m==="length")for(var R=k;RYa(Pr,f)),r.set(R+"",Y))}if(A===void 0)(!P||Wa(o,m)?.writable)&&(A=d(()=>Ya(void 0,f)),E(A,zn(k)),r.set(m,A));else{P=A.v!==Pr;var H=d(()=>zn(k));E(A,H)}var T=Reflect.getOwnPropertyDescriptor(o,m);if(T?.set&&T.set.call(g,k),!P){if(a&&typeof m=="string"){var O=r.get("length"),C=Number(m);Number.isInteger(C)&&C>=O.v&&E(O,C+1)}yi(s)}return!0},ownKeys(o){e(s);var m=Reflect.ownKeys(o).filter(A=>{var P=r.get(A);return P===void 0||P.v!==Pr});for(var[k,g]of r)g.v!==Pr&&!(k in o)&&m.push(k);return m},setPrototypeOf(){ec()}})}function Oc(t,n){return typeof n=="symbol"?`${t}[Symbol(${n.description??""})]`:Pc.test(n)?`${t}.${n}`:/^\d+$/.test(n)?`${t}[${n}]`:`${t}['${n}']`}function dl(t){try{if(t!==null&&typeof t=="object"&&Na in t)return t[Na]}catch{}return t}function Cc(t,n){return Object.is(dl(t),dl(n))}var _l,Nc,Cv,Nv,Lv;function vs(){if(_l===void 0){_l=window,Nc=document,Cv=/Firefox/.test(navigator.userAgent);var t=Element.prototype,n=Node.prototype,r=Text.prototype;Nv=Wa(n,"firstChild").get,Lv=Wa(n,"nextSibling").get,il(t)&&(t[ts]=void 0,t[es]=null,t[rs]=void 0,t.__e=void 0),il(r)&&(r[Qi]=void 0)}}function Xr(t=""){return document.createTextNode(t)}function fa(t){return Nv.call(t)}function Da(t){return Lv.call(t)}function c(t,n){if(!st)return fa(t);var r=fa($t);if(r===null)r=$t.appendChild(Xr());else if(n&&r.nodeType!==3){var a=Xr();return r?.before(a),Fr(a),a}return n&&So(r),Fr(r),r}function fe(t,n=!1){if(!st){var r=fa(t);return r instanceof Comment&&r.data===""?Da(r):r}if(n){if($t?.nodeType!==3){var a=Xr();return $t?.before(a),Fr(a),a}So($t)}return $t}function l(t,n=1,r=!1){let a=st?$t:t;for(var s;n--;)s=a,a=Da(a);if(!st)return a;if(r){if(a?.nodeType!==3){var f=Xr();return a===null?s?.after(f):a.before(f),Fr(f),f}So(a)}return Fr(a),a}function Dv(t){t.textContent=""}function Rv(){return!_a||Pa!==null?!1:(lt.f&As)!==0}function Ws(t,n,r){return n==null||n==="http://www.w3.org/1999/xhtml"?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(n,t,{is:r}):document.createElementNS(n,t)}function Lc(t=""){return document.createComment(t)}function So(t){if(t.nodeValue.length<65536)return;let n=t.nextSibling;for(;n!==null&&n.nodeType===3;)n.remove(),t.nodeValue+=n.nodeValue,n=t.nextSibling}var pl=!1;function jv(){pl||(pl=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{if(!t.defaultPrevented)for(const n of t.target.elements)n[bi]?.()})},{capture:!0}))}function qo(t){var n=kt,r=lt;ha(null),ma(null);try{return t()}finally{ha(n),ma(r)}}function Mo(t,n,r,a=r){t.addEventListener(n,()=>qo(r));const s=t[bi];s?t[bi]=()=>{s(),a(!0)}:t[bi]=()=>a(!0),jv()}function Fv(t){lt===null&&(kt===null&&Ku(t),Gu()),Ha&&Yu(t)}function Dc(t,n){var r=n.last;r===null?n.last=n.first=t:(r.next=t,t.prev=r,n.last=t)}function Sa(t,n){var r=lt;r!==null&&(r.f&8192)!==0&&(t|=Ts);var a={ctx:Lt,deps:null,nodes:null,f:t|ga|512,first:null,fn:n,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};Qe?.register_created_effect(a);var s=a;if((t&4)!==0)Qn!==null?Qn.push(a):Tn.ensure().schedule(a);else if(n!==null){try{En(a)}catch(i){throw Yr(a),i}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&524288)===0&&(s=s.first,(t&16)!==0&&(t&65536)!==0&&s!==null&&(s.f|=yo))}if(s!==null&&(s.parent=r,r!==null&&Dc(s,r),kt!==null&&(kt.f&2)!==0&&(t&64)===0)){var f=kt;(f.effects??(f.effects=[])).push(s)}return a}function Bs(){return kt!==null&&!ya}function Eo(t){const n=Sa(8,null);return yr(n,da),n.teardown=t,n}function us(t){Fv("$effect");var n=lt.f;if(!kt&&(n&32)!==0&&Lt!==null&&!Lt.i){var r=Lt;(r.e??(r.e=[])).push(t)}else return Iv(t)}function Iv(t){return Sa(4|lv,t)}function Rc(t){return Fv("$effect.pre"),Sa(8|lv,t)}function jc(t){Tn.ensure();const n=Sa(64|Zn,t);return()=>{Yr(n)}}function Fc(t){Tn.ensure();const n=Sa(64|Zn,t);return(r={})=>new Promise(a=>{r.outro?An(n,()=>{Yr(n),a(void 0)}):(Yr(n),a(void 0))})}function To(t){return Sa(4,t)}function mr(t,n){var r=Lt,a={effect:null,ran:!1,deps:t};r.l.$.push(a),a.effect=za(()=>{if(t(),!a.ran){a.ran=!0;var s=lt;try{ma(s.parent),v(n)}finally{ma(s)}}})}function wr(){var t=Lt;za(()=>{for(var n of t.l.$){n.deps();var r=n.effect;(r.f&1024)!==0&&r.deps!==null&&yr(r,en),ei(r)&&En(r),n.ran=!1}})}function Ic(t){return Sa(Wu|Zn,t)}function za(t,n=0){return Sa(8|n,t)}function j(t,n=[],r=[],a=[]){xc(a,n,r,s=>{Sa(8,()=>{t(...s.map(e))})})}function Ao(t,n=0){var r=Sa(16|n,t);return r}function pa(t){return Sa(32|Zn,t)}function Wv(t){var n=t.teardown;if(n!==null){const r=Ha,a=kt;hl(!0),ha(null);try{n.call(null)}finally{hl(r),ha(a)}}}function Us(t,n=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const s=r.ac;s!==null&&qo(()=>{s.abort(wo)});var a=r.next;(r.f&64)!==0?r.parent=null:Yr(r,n),r=a}}function Wc(t){for(var n=t.first;n!==null;){var r=n.next;(n.f&32)===0&&Yr(n),n=r}}function Yr(t,n=!0){var r=!1;(n||(t.f&262144)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Bc(t.nodes.start,t.nodes.end),r=!0),t.f|=ol,Us(t,n&&!r),Mi(t,0);var a=t.nodes&&t.nodes.t;if(a!==null)for(const f of a)f.stop();Wv(t),t.f^=ol,t.f|=Iu;var s=t.parent;s!==null&&s.first!==null&&Bv(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Bc(t,n){for(;t!==null;){var r=t===n?null:Da(t);t.remove(),t=r}}function Bv(t){var n=t.parent,r=t.prev,a=t.next;r!==null&&(r.next=a),a!==null&&(a.prev=r),n!==null&&(n.first===t&&(n.first=a),n.last===t&&(n.last=r))}function An(t,n,r=!0){var a=[];Uv(t,a,!0);var s=()=>{r&&Yr(t),n&&n()},f=a.length;if(f>0){var i=()=>--f||s();for(var d of a)d.out(i)}else s()}function Uv(t,n,r){if((t.f&8192)===0){t.f^=Ts;var a=t.nodes&&t.nodes.t;if(a!==null)for(const d of a)(d.is_global||r)&&n.push(d);for(var s=t.first;s!==null;){var f=s.next;if((s.f&64)===0){var i=(s.f&65536)!==0||(s.f&32)!==0&&(t.f&16)!==0;Uv(s,n,i?r:!1)}s=f}}}function ho(t){Hv(t,!0)}function Hv(t,n){if((t.f&8192)!==0){t.f^=Ts,(t.f&1024)===0&&(yr(t,ga),Tn.ensure().schedule(t));for(var r=t.first;r!==null;){var a=r.next,s=(r.f&65536)!==0||(r.f&32)!==0;Hv(r,s?n:!1),r=a}var f=t.nodes&&t.nodes.t;if(f!==null)for(const i of f)(i.is_global||n)&&i.in()}}function Hs(t,n){if(t.nodes)for(var r=t.nodes.start,a=t.nodes.end;r!==null;){var s=r===a?null:Da(r);n.append(r),r=s}}var Bn=null;function Uc(t){var n=Bn;try{if(Bn=new Set,v(t),n!==null)for(var r of Bn)n.add(r);return Bn}finally{Bn=n}}function G(t){for(var n of Uc(t))Mn(n,n.v)}var Ji=!1,Ha=!1;function hl(t){Ha=t}var kt=null,ya=!1;function ha(t){kt=t}var lt=null;function ma(t){lt=t}var ka=null;function zv(t){kt!==null&&(!_a||(kt.f&2)!==0)&&(ka??(ka=new Set)).add(t)}var Kr=null,aa=0,la=null;function Hc(t){la=t}var Yv=1,fn=0,wn=fn;function ml(t){wn=t}function Gv(){return++Yv}function ei(t){var n=t.f;if((n&2048)!==0)return!0;if(n&2&&(t.f&=~Ai),(n&4096)!==0){for(var r=t.deps,a=r.length,s=0;st.wv)return!0}(n&512)!==0&&zr===null&&yr(t,da)}return!1}function Kv(t,n,r=!0){var a=t.reactions;if(a!==null&&!(!_a&&ka!==null&&ka.has(t)))for(var s=0;s{t.ac.abort(wo)}),t.ac=null);try{t.f|=sl;var S=t.fn,o=S();t.f|=As;var m=t.deps,k=Qe?.is_fork;if(Kr!==null){var g;if(k||Mi(t,aa),m!==null&&aa>0)for(m.length=aa+Kr.length,g=0;g{requestAnimationFrame(()=>t()),setTimeout(()=>t())});await Promise.resolve(),Mv()}function e(t){var n=(t.f&2)!==0;if(Bn?.add(t),kt!==null&&!ya&&!(lt!==null&&(lt.f&16384)!==0)&&(ka===null||!ka.has(t))){var r=kt.deps;if((kt.f&2097152)!==0)t.rvr?.call(this,f))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Ua(()=>{n.addEventListener(t,s,a)}):n.addEventListener(t,s,a),s}function Ue(t,n,r,a,s){var f={capture:a,passive:s},i=Qc(t,n,r,f);(n===document.body||n===window||n===document||n instanceof HTMLMediaElement)&&Eo(()=>{n.removeEventListener(t,i,f)})}var bl=null;function fs(t){var n=this,r=n.ownerDocument,a=t.type,s=t.composedPath?.()||[],f=s[0]||t.target;bl=t;var i=0,d=bl===t&&t[Bi];if(d){var b=s.indexOf(d);if(b!==-1&&(n===document||n===window)){t[Bi]=n;return}var p=s.indexOf(n);if(p===-1)return;b<=p&&(i=b)}if(f=s[i]||t.target,f!==n){iv(t,"currentTarget",{configurable:!0,get(){return f||r}});var S=kt,o=lt;ha(null),ma(null);try{for(var m,k=[];f!==null&&f!==n;){try{var g=f[Bi]?.[a];g!=null&&(!f.disabled||t.target===f)&&g.call(f,t)}catch(A){m?k.push(A):m=A}if(t.cancelBubble)break;i++,f=i{throw A});throw m}}finally{t[Bi]=n,delete t.currentTarget,ha(S),ma(o)}}}var Zc=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Zv(t){return Zc?.createHTML(t)??t}function Jv(t){var n=Ws("template");return n.innerHTML=Zv(t.replaceAll("","")),n.content}function $a(t,n){var r=lt;r.nodes===null&&(r.nodes={start:t,end:n,a:null,t:null})}function F(t,n){var r=(n&1)!==0,a=(n&2)!==0,s,f=!t.startsWith("");return()=>{if(st)return $a($t,null),$t;s===void 0&&(s=Jv(f?t:""+t),r||(s=fa(s)));var i=a||Cv?document.importNode(s,!0):s.cloneNode(!0);if(r){var d=fa(i),b=i.lastChild;$a(d,b)}else $a(i,i);return i}}function Jc(t,n,r="svg"){var a=!t.startsWith(""),s=(n&1)!==0,f=`<${r}>${a?t:""+t}`,i;return()=>{if(st)return $a($t,null),$t;if(!i){var d=fa(Jv(f));if(s)for(i=document.createDocumentFragment();fa(d);)i.appendChild(fa(d));else i=fa(d)}var b=i.cloneNode(!0);if(s){var p=fa(b),S=b.lastChild;$a(p,S)}else $a(b,b);return b}}function Zr(t,n){return Jc(t,n,"svg")}function ca(t=""){if(!st){var n=Xr(t+"");return $a(n,n),n}var r=$t;return r.nodeType!==3?(r.before(r=Xr()),Fr(r)):So(r),$a(r,r),r}function qr(){if(st)return $a($t,null),$t;var t=document.createDocumentFragment(),n=document.createComment(""),r=Xr();return t.append(n,r),$a(n,r),t}function q(t,n){if(st){var r=lt;((r.f&32768)===0||r.nodes.end===null)&&(r.nodes.end=$t),Pi();return}t!==null&&t.before(n)}var xl=!0;function h(t,n){var r,a=n==null?"":typeof n=="object"?`${n}`:n;a!==((r=t)[Qi]??(r[Qi]=t.nodeValue))&&(t[Qi]=a,t.nodeValue=`${a}`)}function Po(t,n){return eu(t,n)}function ef(t,n){vs(),n.intro=n.intro??!1;const r=n.target,a=st,s=$t;try{for(var f=fa(r);f&&(f.nodeType!==8||f.data!=="[");)f=Da(f);if(!f)throw Kn;na(!0),Fr(f);const i=eu(t,{...n,anchor:f});return na(!1),i}catch(i){if(i instanceof Error&&i.message.split(` +`).some(d=>d.startsWith("https://svelte.dev/e/")))throw i;return i!==Kn&&console.warn("Failed to hydrate: ",i),n.recover===!1&&Xu(),vs(),Dv(r),na(!1),Po(t,n)}finally{na(a),Fr(s)}}var Ui=new Map;function eu(t,{target:n,anchor:r,props:a={},events:s,context:f,intro:i=!0,transformError:d}){vs();var b=void 0,p=Fc(()=>{var S=r??n.appendChild(Xr());pc(S,{pending:()=>{}},k=>{xt({});var g=Lt;if(f&&(g.c=f),s&&(a.$$events=s),st&&$a(k,null),xl=i,b=t(k,a)||{},xl=!0,st&&(lt.nodes.end=$t,$t===null||$t.nodeType!==8||$t.data!=="]"))throw $o(),Kn;yt()},d);var o=new Set,m=k=>{for(var g=0;g{for(var k of o)for(const P of[n,document]){var g=Ui.get(P),A=g.get(k);--A==0?(P.removeEventListener(k,fs),g.delete(k),g.size===0&&Ui.delete(P)):g.set(k,A)}gl.delete(m),S!==r&&S.parentNode?.removeChild(S)}});return ds.set(b,p),b}var ds=new WeakMap;function tu(t,n){const r=ds.get(t);return r?(ds.delete(t),r(n)):Promise.resolve()}var Ra=new WeakMap,Ga=new WeakMap,ba=new WeakMap,oi=new WeakMap,Fo=new WeakMap,Io=new WeakMap,yl=new WeakMap,ru=class{constructor(t,n=!0){dr(this,"anchor",void 0),et(this,Ra,new Map),et(this,Ga,new Map),et(this,ba,new Map),et(this,oi,new Set),et(this,Fo,!0),et(this,Io,r=>{if(L(Ra,this).has(r)){var a=L(Ra,this).get(r),s=L(Ga,this).get(a);if(s)ho(s),L(oi,this).delete(a);else{var f=L(ba,this).get(a);f&&(ho(f.effect),L(Ga,this).set(a,f.effect),L(ba,this).delete(a),f.fragment.lastChild.remove(),this.anchor.before(f.fragment),s=f.effect)}for(const[i,d]of L(Ra,this)){if(L(Ra,this).delete(i),i===r)break;const b=L(ba,this).get(d);b&&(Yr(b.effect),L(ba,this).delete(d))}for(const[i,d]of L(Ga,this)){if(i===a||L(oi,this).has(i))continue;const b=()=>{if(Array.from(L(Ra,this).values()).includes(i)){var p=document.createDocumentFragment();Hs(d,p),p.append(Xr()),L(ba,this).set(i,{effect:d,fragment:p})}else Yr(d);L(oi,this).delete(i),L(Ga,this).delete(i)};L(Fo,this)||!s?(L(oi,this).add(i),An(d,b,!1)):b()}}}),et(this,yl,r=>{L(Ra,this).delete(r);const a=Array.from(L(Ra,this).values());for(const[s,f]of L(ba,this))a.includes(s)||(Yr(f.effect),L(ba,this).delete(s))}),this.anchor=t,Ke(Fo,this,n)}ensure(t,n){var r=Qe,a=Rv();if(n&&!L(Ga,this).has(t)&&!L(ba,this).has(t))if(a){var s=document.createDocumentFragment(),f=Xr();s.append(f),L(ba,this).set(t,{effect:pa(()=>n(f)),fragment:s})}else L(Ga,this).set(t,pa(()=>n(this.anchor)));if(L(Ra,this).set(r,t),a){for(const[i,d]of L(Ga,this))i===t?r.unskip_effect(d):r.skip_effect(d);for(const[i,d]of L(ba,this))i===t?r.unskip_effect(d.effect):r.skip_effect(d.effect);r.oncommit(L(Io,this)),r.ondiscard(L(yl,this))}else st&&(this.anchor=$t),L(Io,this).call(this,r)}};function I(t,n,r=!1){var a;st&&(a=$t,Pi());var s=new ru(t),f=r?yo:0;function i(d,b){if(st){var p=Os(a);if(d!==parseInt(p.substring(1))){var S=$i();Fr(S),s.anchor=S,na(!1),s.ensure(d,b),na(!0);return}}s.ensure(d,b)}Ao(()=>{var d=!1;n((b,p=0)=>{d=!0,i(p,b)}),d||i(-1,null)},f)}function Yt(t,n){return n}function tf(t,n,r){for(var a=[],s=n.length,f,i=n.length,d=0;d{if(f){if(f.pending.delete(o),f.done.add(o),f.pending.size===0){var m=t.outrogroups;_s(t,xo(f.done)),m.delete(f),m.size===0&&(t.outrogroups=null)}}else i-=1},!1)}if(i===0){var b=a.length===0&&r!==null;if(b){var p=r,S=p.parentNode;Dv(S),S.append(p),t.items.clear()}_s(t,n,!b)}else f={pending:new Set(n),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(f)}function _s(t,n,r=!0){var a;if(t.pending.size>0){a=new Set;for(const i of t.pending.values())for(const d of i)a.add(t.items.get(d).e)}for(var s=0;s{var R=r();return Ti(R)?R:R==null?[]:xo(R)}),o,m=new Map,k=!0;function g(R){(P.effect.f&16384)===0&&(P.pending.delete(R),P.fallback=p,rf(P,o,i,n,a),p!==null&&(o.length===0?(p.f&33554432)===0?ho(p):(p.f^=gi,pi(p,null,i)):An(p,()=>{p=null})))}function A(R){P.pending.delete(R)}var P={effect:Ao(()=>{o=e(S);var R=o.length;let Y=!1;st&&Os(i)==="[!"!=(R===0)&&(i=$i(),Fr(i),na(!1),Y=!0);for(var H=new Set,T=Qe,O=Rv(),C=0;Cf(i)):(p=pa(()=>f(Hi??(Hi=Xr()))),p.f|=gi)),R>H.size&&zu("","",""),st&&R>0&&Fr($i()),!k)if(m.set(T,H),O){for(const[le,qe]of d)H.has(le)||T.skip_effect(qe.e);T.oncommit(g),T.ondiscard(A)}else g(T);Y&&na(!0),e(S)}),flags:n,items:d,pending:m,outrogroups:null,fallback:p};k=!1,st&&(i=$t)}function si(t){for(;t!==null&&(t.f&32)===0;)t=t.next;return t}function rf(t,n,r,a,s){var f=(a&8)!==0,i=n.length,d=t.items,b=si(t.effect.first),p,S=null,o,m=[],k=[],g,A,P,R;if(f)for(R=0;R0){var te=(a&4)!==0&&i===0?r:null;if(f){for(R=0;R{if(o!==void 0)for(P of o)P.nodes?.a?.apply()})}function af(t,n,r,a,s,f,i,d){var b=(i&1)!==0?(i&16)===0?W(r,!1,!1):qn(r):null,p=(i&2)!==0?qn(s):null;return{v:b,i:p,e:pa(()=>(f(n,b??r,p??s,d),()=>{t.delete(a)}))}}function pi(t,n,r){if(t.nodes)for(var a=t.nodes.start,s=t.nodes.end,f=n&&(n.f&33554432)===0?n.nodes.start:r;a!==null;){var i=Da(a);if(f.before(a),a===s)return;a=i}}function Ka(t,n,r){n===null?t.effect.first=r:n.next=r,r===null?t.effect.last=n:r.prev=n}function wl(t,n,r){var a;st&&(a=$t,Pi());var s=new ru(t);Ao(()=>{var f=n()??null;if(st&&Os(a)==="["!=(f!==null)){var i=$i();Fr(i),s.anchor=i,na(!1),s.ensure(f,f&&(d=>r(d,f))),na(!0);return}s.ensure(f,f&&(d=>r(d,f)))},yo)}function li(t,n,r){To(()=>{var a=v(()=>n(t,r?.())||{});if(r&&a?.update){var s=!1,f={};za(()=>{var i=r();$(i),s&&Cs(f,i)&&(f=i,a.update(i))}),s=!0}if(a?.destroy)return()=>a.destroy()})}function au(t){var n,r,a="";if(typeof t=="string"||typeof t=="number")a+=t;else if(typeof t=="object")if(Array.isArray(t)){var s=t.length;for(n=0;n=0;){var d=i+f;(i===0||kl.includes(a[i-1]))&&(d===a.length||kl.includes(a[d]))?a=(i===0?"":a.substring(0,i))+a.substring(d+1):i=d}}return a===""?null:a}function $l(t,n=!1){var r=n?" !important;":";",a="";for(var s of Object.keys(t)){var f=t[s];f!=null&&f!==""&&(a+=" "+s+": "+f+r)}return a}function Wo(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function sf(t,n){if(n){var r="",a,s;if(Array.isArray(n)?(a=n[0],s=n[1]):a=n,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var f=!1,i=0,d=!1,b=[];a&&b.push(...Object.keys(a).map(Wo)),s&&b.push(...Object.keys(s).map(Wo));var p=0,S=-1;const A=t.length;for(var o=0;o{nu(t,t.__value)});n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Eo(()=>{n.disconnect()})}function At(t,n,r=n){var a=new WeakSet,s=!0;Mo(t,"change",f=>{var i=f?"[selected]":":checked",d;if(t.multiple)d=[].map.call(t.querySelectorAll(i),wi);else{var b=t.querySelector(i)??t.querySelector("option:not([disabled])");d=b&&wi(b)}r(d),t.__value=d,Qe!==null&&a.add(Qe)}),To(()=>{var f=n();if(t===document.activeElement){var i=_a?qi:Qe;if(a.has(i))return}if(nu(t,f,s),s&&f===void 0){var d=t.querySelector(":checked");d!==null&&(f=wi(d),r(f))}t.__value=f,s=!1}),vf(t)}function wi(t){return"__value"in t?t.__value:t.value}var uf=Symbol("is custom element"),cf=Symbol("is html"),ff=vv?"link":"LINK",df=vv?"progress":"PROGRESS";function ve(t){if(st){var n=!1,r=()=>{if(!n){if(n=!0,t.hasAttribute("value")){var a=t.value;Q(t,"value",null),t.value=a}if(t.hasAttribute("checked")){var s=t.checked;Q(t,"checked",null),t.checked=s}}};t[bi]=r,Ua(r),jv()}}function Sl(t,n){var r=Ys(t);r.value===(r.value=n??void 0)||t.value===n&&(n!==0||t.nodeName!==df)||(t.value=n??"")}function ql(t,n){var r=Ys(t);r.checked!==(r.checked=n??void 0)&&(t.checked=n)}function Q(t,n,r,a){var s=Ys(t);if(st&&(s[n]=t.getAttribute(n),n==="src"||n==="srcset"||n==="href"&&t.nodeName===ff)){a||void 0;return}s[n]!==(s[n]=r)&&(n==="loading"&&(t[Bu]=r),r==null?t.removeAttribute(n):typeof r!="string"&&_f(t).includes(n)?t[n]=r:t.setAttribute(n,r))}function Ys(t){var n;return(n=t)[es]??(n[es]={[uf]:t.nodeName.includes("-"),[cf]:t.namespaceURI==="http://www.w3.org/1999/xhtml"})}var Ml=new Map;function _f(t){var n=t.getAttribute("is")||t.nodeName,r=Ml.get(n);if(r)return r;Ml.set(n,r=[]);for(var a,s=t,f=Element.prototype;f!==s;){a=ov(s);for(var i in a)a[i].set&&i!=="innerHTML"&&i!=="textContent"&&i!=="innerText"&&r.push(i);s=Es(s)}return r}var Uo=null;function pf(){if(Uo===null){var t=Ws("select");t.innerHTML=Zv(""),Uo=t.firstChild?.firstChild?.nodeType===1}return Uo}function dn(t,n){var r=st;pf()||(na(!1),t.textContent="",t.append(Lc("")));try{n()}finally{r&&(st?u(t):(na(!0),Fr(t)))}}function Me(t,n,r=n){var a=new WeakSet;Mo(t,"input",async s=>{var f=s?t.defaultValue:t.value;if(f=Ho(t)?zo(f):f,r(f),Qe!==null&&a.add(Qe),await zs(),f!==(f=n())){var i=t.selectionStart,d=t.selectionEnd,b=t.value.length;if(t.value=f??"",d!==null){var p=t.value.length;i===d&&d===b&&p>b?(t.selectionStart=p,t.selectionEnd=p):(t.selectionStart=i,t.selectionEnd=Math.min(d,p))}}}),(st&&t.defaultValue!==t.value||v(n)==null&&t.value)&&(r(Ho(t)?zo(t.value):t.value),Qe!==null&&a.add(Qe)),za(()=>{var s=n();if(t===document.activeElement){var f=_a?qi:Qe;if(a.has(f))return}Ho(t)&&s===zo(t.value)||t.type==="date"&&!s&&!t.value||s!==t.value&&(t.value=s??"")})}function hr(t,n,r=n){Mo(t,"change",a=>{r(a?t.defaultChecked:t.checked)}),(st&&t.defaultChecked!==t.checked||v(n)==null)&&r(t.checked),za(()=>{var a=n();t.checked=!!a})}function Ho(t){var n=t.type;return n==="number"||n==="range"}function zo(t){return t===""?null:+t}function El(t,n,r=n){Mo(t,"change",()=>{r(t.files)}),st&&t.files&&r(t.files),za(()=>{t.files=n()})}function hf(t,n,r){var a=Wa(t,n);a&&a.set&&(t[n]=r,Eo(()=>{t[n]=null}))}var iu,Un=new WeakMap,mo=new WeakMap,Yo=new WeakMap,Tl=new WeakSet,Gs=class{constructor(t){Ds(this,Tl),et(this,Un,new WeakMap),et(this,mo,void 0),et(this,Yo,void 0),Ke(Yo,this,t)}observe(t,n){var r=L(Un,this).get(t)||new Set;return r.add(n),L(Un,this).set(t,r),_t(Tl,this,mf).call(this).observe(t,L(Yo,this)),()=>{var a=L(Un,this).get(t);a.delete(n),a.size===0&&(L(Un,this).delete(t),L(mo,this).unobserve(t))}}};iu=Gs;function mf(){return L(mo,this)??Ke(mo,this,new ResizeObserver(t=>{for(var n of t){iu.entries.set(n.target,n);for(var r of L(Un,this).get(n.target)||[])r(n)}}))}dr(Gs,"entries",new WeakMap);var gf=new Gs({box:"border-box"});function kn(t,n,r){var a=gf.observe(t,()=>r(t[n]));To(()=>(v(()=>r(t[n])),a))}function Go(t,n){return t===n||t?.[Na]===n}function go(t={},n,r,a){var s=Lt.r,f=lt;return To(()=>{var i,d;return za(()=>{i=d,d=a?.()||[],v(()=>{Go(r(...d),t)||(n(t,...d),i&&Go(r(...i),t)&&n(null,...i))})}),()=>{let b=f;for(;b!==s&&b.parent!==null&&b.parent.f&33554432;)b=b.parent;const p=()=>{d&&Go(r(...d),t)&&n(null,...d)},S=b.teardown;b.teardown=()=>{p(),S?.()}}}),t}function Pn(t){return function(...n){return n[0].preventDefault(),t?.apply(this,n)}}function Mt(t=!1){const n=Lt,r=n.l.u;if(!r)return;let a=()=>$(n.s);if(t){let s=0,f={};const i=Xn(()=>{let d=!1;const b=n.s;for(const p in b)b[p]!==f[p]&&(f[p]=b[p],d=!0);return d&&s++,s});a=()=>e(i)}r.b.length&&Rc(()=>{Al(n,a),io(r.b)}),us(()=>{const s=v(()=>r.m.map(Ru));return()=>{for(const f of s)typeof f=="function"&&f()}}),r.a.length&&us(()=>{Al(n,a),io(r.a)})}function Al(t,n){if(t.l.s)for(const r of t.l.s)e(r);n()}function Pl(t,n){var r=t.$$events?.[n.type];for(var a of Ti(r)?r.slice():r==null?[]:[r])a.call(this,n)}var bf={get(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(ii(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a)return a[n]}},set(t,n,r){let a=t.props.length;for(;a--;){let s=t.props[a];ii(s)&&(s=s());const f=Wa(s,n);if(f&&f.set)return f.set(r),!0}return!1},getOwnPropertyDescriptor(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(ii(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a){const s=Wa(a,n);return s&&!s.configurable&&(s.configurable=!0),s}}},has(t,n){if(n===Na||n===Ps)return!1;for(let r of t.props)if(ii(r)&&(r=r()),r!=null&&n in r)return!0;return!1},ownKeys(t){const n=[];for(let r of t.props)if(ii(r)&&(r=r()),!!r){for(const a in r)n.includes(a)||n.push(a);for(const a of Object.getOwnPropertySymbols(r))n.includes(a)||n.push(a)}return n}};function Ol(...t){return new Proxy({props:t},bf)}function de(t,n,r,a){var s=!Jn||(r&2)!==0,f=(r&8)!==0,i=(r&16)!==0,d=a,b=!0,p=void 0,S=()=>i&&s?(p??(p=Xn(a)),e(p)):(b&&(b=!1,d=i?v(a):a),d);let o;if(f){var m=Na in t||Ps in t;o=Wa(t,n)?.set??(m&&n in t?T=>t[n]=T:void 0)}var k,g=!1;f?[k,g]=fc(()=>t[n]):k=t[n],k===void 0&&a!==void 0&&(k=S(),o&&(s&&Zu(n),o(k)));var A;if(s?A=()=>{var T=t[n];return T===void 0?S():(b=!0,T)}:A=()=>{var T=t[n];return T!==void 0&&(d=void 0),T===void 0?d:T},s&&(r&4)===0)return A;if(o){var P=t.$$legacy;return(function(T,O){return arguments.length>0?((!s||!O||P||g)&&o(O?A():T),T):A()})}var R=!1,Y=((r&1)!==0?Xn:Ce)(()=>(R=!1,A()));f&&e(Y);var H=lt;return(function(T,O){if(arguments.length>0){const C=O?e(Y):s&&f?zn(T):T;return E(Y,C),R=!0,d!==void 0&&(d=C),T}return Ha&&R||(H.f&16384)!==0?Y.v:e(Y)})}function xf(t){return new yf(t)}var nn=new WeakMap,Ta=new WeakMap,yf=class{constructor(t){et(this,nn,void 0),et(this,Ta,void 0);var n=new Map,r=(s,f)=>{var i=W(f,!1,!1);return n.set(s,i),i};const a=new Proxy({...t.props||{},$$events:{}},{get(s,f){return e(n.get(f)??r(f,Reflect.get(s,f)))},has(s,f){return f===Ps?!0:(e(n.get(f)??r(f,Reflect.get(s,f))),Reflect.has(s,f))},set(s,f,i){return E(n.get(f)??r(f,i),i),Reflect.set(s,f,i)}});Ke(Ta,this,(t.hydrate?ef:Po)(t.component,{target:t.target,anchor:t.anchor,props:a,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),!_a&&(!t?.props?.$$host||t.sync===!1)&&Mv(),Ke(nn,this,a.$$events);for(const s of Object.keys(L(Ta,this)))s==="$set"||s==="$destroy"||s==="$on"||iv(this,s,{get(){return L(Ta,this)[s]},set(f){L(Ta,this)[s]=f},enumerable:!0});L(Ta,this).$set=s=>{Object.assign(a,s)},L(Ta,this).$destroy=()=>{tu(L(Ta,this))}}$set(t){L(Ta,this).$set(t)}$on(t,n){L(nn,this)[t]=L(nn,this)[t]||[];const r=(...a)=>n.call(this,...a);return L(nn,this)[t].push(r),()=>{L(nn,this)[t]=L(nn,this)[t].filter(a=>a!==r)}}$destroy(){L(Ta,this).$destroy()}},wf;typeof HTMLElement=="function"&&(wf=class extends HTMLElement{constructor(t,n,r){super(),dr(this,"$$ctor",void 0),dr(this,"$$s",void 0),dr(this,"$$c",void 0),dr(this,"$$cn",!1),dr(this,"$$d",{}),dr(this,"$$r",!1),dr(this,"$$p_d",{}),dr(this,"$$l",{}),dr(this,"$$l_u",new Map),dr(this,"$$me",void 0),dr(this,"$$shadowRoot",null),this.$$ctor=t,this.$$s=n,r&&(this.$$shadowRoot=this.attachShadow(r))}addEventListener(t,n,r){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(n),this.$$c){const a=this.$$c.$on(t,n);this.$$l_u.set(n,a)}super.addEventListener(t,n,r)}removeEventListener(t,n,r){if(super.removeEventListener(t,n,r),this.$$c){const a=this.$$l_u.get(n);a&&(a(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let n=function(s){return f=>{const i=Ws("slot");s!=="default"&&(i.name=s),q(f,i)}};var t=n;if(await Promise.resolve(),!this.$$cn||this.$$c)return;const r={},a=kf(this);for(const s of this.$$s)s in a&&(s==="default"&&!this.$$d.children?(this.$$d.children=n(s),r.default=!0):r[s]=n(s));for(const s of this.attributes){const f=this.$$g_p(s.name);f in this.$$d||(this.$$d[f]=Ko(f,s.value,this.$$p_d,"toProp"))}for(const s in this.$$p_d)!(s in this.$$d)&&this[s]!==void 0&&(this.$$d[s]=this[s],delete this[s]);this.$$c=xf({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=jc(()=>{za(()=>{this.$$r=!0;for(const s of nl(this.$$c)){if(!this.$$p_d[s]?.reflect)continue;this.$$d[s]=this.$$c[s];const f=Ko(s,this.$$d[s],this.$$p_d,"toAttribute");f==null?this.removeAttribute(this.$$p_d[s].attribute||s):this.setAttribute(this.$$p_d[s].attribute||s,f)}this.$$r=!1})});for(const s in this.$$l)for(const f of this.$$l[s]){const i=this.$$c.$on(s,f);this.$$l_u.set(f,i)}this.$$l={}}}attributeChangedCallback(t,n,r){this.$$r||(t=this.$$g_p(t),this.$$d[t]=Ko(t,r,this.$$p_d,"toProp"),this.$$c?.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return nl(this.$$p_d).find(n=>this.$$p_d[n].attribute===t||!this.$$p_d[n].attribute&&n.toLowerCase()===t)||t}});function Ko(t,n,r,a){const s=r[t]?.type;if(n=s==="Boolean"&&typeof n!="boolean"?n!=null:n,!a||!r[t])return n;if(a==="toAttribute")switch(s){case"Object":case"Array":return n==null?null:JSON.stringify(n);case"Boolean":return n?"":null;case"Number":return n??null;default:return n}else switch(s){case"Object":case"Array":return n&&JSON.parse(n);case"Boolean":return n;case"Number":return n!=null?+n:n;default:return n}}function kf(t){const n={};return t.childNodes.forEach(r=>{n[r.slot||"default"]=!0}),n}if(0)var R1;function Oo(t){Lt===null&&ko("onMount"),Jn&&Lt.l!==null?su(Lt).m.push(t):us(()=>{const n=v(t);if(typeof n=="function")return n})}function ou(t){Lt===null&&ko("onDestroy"),Oo(()=>()=>v(t))}function $f(t,n,{bubbles:r=!1,cancelable:a=!1}={}){return new CustomEvent(t,{detail:n,bubbles:r,cancelable:a})}function Sf(){const t=Lt;return t===null&&ko("createEventDispatcher"),(n,r,a)=>{const s=t.s.$$events?.[n];if(s){const f=Ti(s)?s.slice():[s],i=$f(n,r,a);for(const d of f)d.call(t.x,i);return!i.defaultPrevented}return!0}}function qf(t){Lt===null&&ko("afterUpdate"),Lt.l===null&&Qu("afterUpdate"),su(Lt).a.push(t)}function su(t){var n=t.l;return n.u??(n.u={a:[],b:[],m:[]})}if(typeof window<"u"){var Cl,Nl;((Cl=(Nl=window).__svelte??(Nl.__svelte={})).v??(Cl.v=new Set)).add("5")}oc();function Mf(t,n){if(t instanceof RegExp)return{keys:!1,pattern:t};var r,a,s,f,i=[],d="",b=t.split("/");for(b[0]||b.shift();s=b.shift();)r=s[0],r==="*"?(i.push("wild"),d+="/(.*)"):r===":"?(a=s.indexOf("?",1),f=s.indexOf(".",1),i.push(s.substring(1,~a?a:~f?f:s.length)),d+=~a&&!~f?"(?:/([^/]+?))?":"/([^/]+?)",~f&&(d+=(~a?"?":"")+"\\"+s.substring(f))):d+="/"+s;return{keys:i,pattern:new RegExp("^"+d+(n?"(?=$|/)":"/?$"),"i")}}function Ll(){const t=window.location.href.indexOf("#/");let n=t>-1?window.location.href.substr(t+1):"/";const r=n.indexOf("?");let a="";return r>-1&&(a=n.substr(r+1),n=n.substr(0,r)),{location:n,querystring:a}}var Ks=Ls(null,function(n){n(Ll());const r=()=>{n(Ll())};return window.addEventListener("hashchange",r,!1),function(){window.removeEventListener("hashchange",r,!1)}}),N1=hv(Ks,t=>t.location),L1=hv(Ks,t=>t.querystring),Dl=Qr(void 0);async function Za(t){if(!t||t.length<1||t.charAt(0)!="/"&&t.indexOf("#/")!==0)throw Error("Invalid parameter location");await zs(),history.replaceState({...history.state,__svelte_spa_router_scrollX:window.scrollX,__svelte_spa_router_scrollY:window.scrollY},void 0),window.location.hash=(t.charAt(0)=="#"?"":"#")+t}function Ef(t){t?window.scrollTo(t.__svelte_spa_router_scrollX,t.__svelte_spa_router_scrollY):window.scrollTo(0,0)}function Tf(t,n){xt(n,!1);let r=de(n,"routes",24,()=>({})),a=de(n,"prefix",8,""),s=de(n,"restoreScrollState",8,!1);class f{constructor(C,B){if(!B||typeof B!="function"&&(typeof B!="object"||B._sveltesparouter!==!0))throw Error("Invalid component object");if(!C||typeof C=="string"&&(C.length<1||C.charAt(0)!="/"&&C.charAt(0)!="*")||typeof C=="object"&&!(C instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:J,keys:te}=Mf(C);this.path=C,typeof B=="object"&&B._sveltesparouter===!0?(this.component=B.component,this.conditions=B.conditions||[],this.userData=B.userData,this.props=B.props||{}):(this.component=()=>Promise.resolve(B),this.conditions=[],this.props={}),this._pattern=J,this._keys=te}match(C){if(a()){if(typeof a()=="string")if(C.startsWith(a()))C=C.substr(a().length)||"/";else return null;else if(a()instanceof RegExp){const se=C.match(a());if(se&&se[0])C=C.substr(se[0].length)||"/";else return null}}const B=this._pattern.exec(C);if(B===null)return null;if(this._keys===!1)return B;const J={};let te=0;for(;te{i.push(new f(C,O))}):Object.keys(r()).forEach(O=>{i.push(new f(O,r()[O]))});let d=W(null),b=W(null),p=W({});const S=Sf();async function o(O,C){await zs(),S(O,C)}let m=null,k=null;s()&&(k=O=>{O.state&&(O.state.__svelte_spa_router_scrollY||O.state.__svelte_spa_router_scrollX)?m=O.state:m=null},window.addEventListener("popstate",k),qf(()=>{Ef(m)}));let g=null,A=null;const P=Ks.subscribe(async O=>{g=O;let C=0;for(;C{Dl.set(e(b))});return}E(d,null),A=null,Dl.set(void 0)});ou(()=>{P(),k&&window.removeEventListener("popstate",k)}),mr(()=>$(s()),()=>{history.scrollRestoration=s()?"manual":"auto"}),wr(),Mt();var R=qr(),Y=fe(R),H=O=>{var C=qr(),B=fe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol({get params(){return e(b)}},()=>e(p),{$$events:{routeEvent(se){Pl.call(this,n,se)}}}))}),q(O,C)},T=O=>{var C=qr(),B=fe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol(()=>e(p),{$$events:{routeEvent(se){Pl.call(this,n,se)}}}))}),q(O,C)};I(Y,O=>{e(b)?O(H):O(T,-1)}),q(t,R),yt()}function Aa(t){return t===1?"green":t===2?"yellow":t===3?"red":"gray"}function Af(t,n){return t>218&&t<242?"#23ac05":t>212&&t<248?"#b1d900":t>208&&t<252?"#a3b200":"#b20000"}function eo(t,n){let r;return t>90?r="#b20000":t>85?r="#b19601":t>80?r="#a3b200":t>75?r="#569f12":r="#23ac05",r}function vi(t){return t>75?"#23ac05":t>50?"#77d900":t>25?"#94d900":"#569f12"}function bo(t){switch(t){case 1:return"Aidon";case 2:return"Kaifa";case 3:return"Kamstrup";case 8:return"Iskra";case 9:return"Landis+Gyr";case 10:return"Sagemcom";default:return"Unknown"}}function Wt(t){for(t=t.toString();t.length<2;)t="0"+t;return t}function Re(t,n){switch(n){case 5:switch(t){case"esp8266":return"Pow-K (GPIO12)";case"esp32s2":return"Pow-K+"}case 7:switch(t){case"esp8266":return"Pow-U (GPIO12)";case"esp32s2":return"Pow-U+"}case 6:return"Pow-P1";case 51:return"Wemos S2 mini";case 50:return"Generic ESP32-S2";case 201:return"Wemos LOLIN D32";case 202:return"Adafruit HUZZAH32";case 203:return"DevKitC";case 241:return"LilyGO T-ETH-POE";case 242:return"M5 PoESP32";case 243:return"WT32-ETH01";case 245:return"wESP32";case 200:return"Generic ESP32";case 2:return"HAN Reader 2.0 by Max Spencer";case 0:return"Custom hardware by Roar Fredriksen";case 1:return"Kamstrup module by Egil Opsahl";case 8:return"µHAN mosquito by dbeinder";case 3:return"Pow-K (UART0)";case 4:return"Pow-U (UART0)";case 101:return"Wemos D1 mini";case 100:return"Generic ESP8266";case 70:return"Generic ESP32-C3";case 71:return"ESP32-C3-DevKitM-1";case 80:return"Generic ESP32-S3"}return"Unknown"}function $n(t){switch(t){case 2:case 4:case 7:return!0}return!1}function jt(t,n){return t==1||t==2&&n}function Jt(t){let n="https://wiki.amsleser.no";return t&&(n+="/en/firmware#"+t),n}function It(t,n){return t==null||isNaN(t)?"-":(isNaN(n)&&(n=t<1?2:t<10?1:0),t.toFixed(n))}function Ja(t,n){return t.setTime(t.getTime()+n*36e5),t}function Pf(t,n){return t.setTime(t.getTime()+n*6e4),t}function Of(t){return t=="EOE"?"ENTSO-E":t=="HKS"?"hvakosterstrommen.no":t=="EDS"?"Energi Data Service":t=="MIX"?"Mixed sources":t=="FIX"?"Fixed price":"Unknown ("+t+")"}function Rl(t){return t=="EOE"?"https://transparency.entsoe.eu/":t=="HKS"?"https://www.hvakosterstrommen.no/":t=="EDS"?"https://www.energidataservice.dk/":t=="FIX"?"/priceconfig":"#"}var zi=0;function Ei(t,n){var r="";zi++;var a=function(){setTimeout(Ei,1e3,t,n)};if(t.net.ip&&zi%3==0){if(!t.net.ip){a();return}r="http://"+t.net.ip}else t.hostname&&zi%3==1?r="http://"+t.hostname:t.hostname&&zi%3==2?r="http://"+t.hostname+".local":r="";console&&console.log("Trying url "+r),n&&n(r);var s=new XMLHttpRequest;s.timeout=5e3,s.addEventListener("abort",a),s.addEventListener("error",a),s.addEventListener("timeout",a),s.addEventListener("load",function(f){window.location.href=r||"/"}),s.open("GET",r+"/is-alive",!0),s.send()}function fr(t){return t.charAt(0).toUpperCase()+t.slice(1)}function jl(t){return t.startsWith("esp32")?"esp32":t}function Or(t,n){let r=[t,n];return typeof t>"u"?(r[0]="-",r[1]=n):t>=1e9?(r[0]=(t/1e6).toFixed(t>1e10?0:1),r[1]="M"+n):t>1e4?(r[0]=(t/1e3).toFixed(t>1e6?0:t>1e5?1:2),r[1]="k"+n):(r[0]=t.toFixed(0),r[1]=n),r}function hi(t,n){let r=[It(t,2),n];if(typeof t>"u")r[0]="-",r[1]=n;else if(Math.abs(t*100)<100){switch(r[0]=It(t*100,2),n){case"NOK":case"DKK":n="øre";break;case"SEK":n="öre";break;case"EUR":n="cent";break;case"CHF":n="rp.";break;default:n=n+"/100"}r[1]=n}return r}var _n="((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}",ja="[\\x20-\\x7E]+",Yn="[\\x20-\\xFF]+",to="[A-Za-z0-9_\\-]+",Fl="[0-9A-Fa-f]+",ui="[0-9]+",ro={},ps=[];async function Cf(t,n={}){const{timeout:r=8e3}=n,a=new AbortController,s=setTimeout(()=>a.abort(),r),f=await fetch(t,{...n,signal:a.signal});return clearTimeout(s),f}var Vo;async function lu(){if(ps.length){let t=ps.shift();delete ro[t.resource];try{let n=await Cf(t.resource,t.options);for(let r in t.callbacks)t.callbacks[r](n.clone())}catch(n){console.error("Error calling "+t.resource,n);for(let r in t.callbacks)t.callbacks[r]()}}Vo&&clearTimeout(Vo),Vo=setTimeout(lu,100)}lu();async function oa(t,n={}){let r;return ro[t]?r=ro[t]:(r={resource:t,options:n,callbacks:[]},ro[t]=r,ps.push(r)),new Promise(a=>r.callbacks.push(a))}var Oa={version:"",chip:"",mac:null,apmac:null,vndcfg:null,usrcfg:null,fwconsent:null,booting:!1,upgrading:!1,ui:{},security:0,boot_reason:0,upgrade:{x:-1,e:0,f:null,t:null},trying:null,if:{eth:!1}};async function pn(){Oa=await(await oa("sysinfo.json?t="+Math.floor(Date.now()/1e3))).json(),Sr.set(Oa)}var Sr=Qr(Oa,t=>(pn(),function(){}));function Nf(t){Sr.update(n=>(n.trying=t,n))}var Yi=0,Il=-127,Wl=null,Lf={},Co=Ls(Lf,t=>{let n,r;async function a(){oa("data.json").then(s=>s.json()).then(s=>{t(s),Il!=s.t&&(Il=s.t,setTimeout(Df,2e3)),s.pe&&s.p!=Wl&&(Wl=s.p,cu()),(!Oa||!Oa.chip||Oa.booting||Yi>1&&!$n(Oa.board))&&(pn(),Fa&&clearTimeout(Fa),Fa=setTimeout(gs,2e3),Ia&&clearTimeout(Ia),Ia=setTimeout(xs,3e3)),s.u,Fa||(Fa=gs()),Ia||(Ia=xs());let f=5e3;if($n(Oa.board)&&s.v>2.5){let i=3.3-Math.min(3.3,s.v);i>0&&(f=Math.max(i,.1)*10*5e3)}f>5e3&&console.log("Next in "+f+"ms"),n&&clearTimeout(n),n=setTimeout(a,f),Yi=0}).catch(s=>{Yi++,Yi>3?(t({em:3,hm:0,wm:0,mm:0}),n=setTimeout(a,15e3),r||(r=setTimeout(Ei,5e3,Oa,Nf))):n=setTimeout(a,$n(Oa.board)?1e4:5e3)})}return a(),function(){clearTimeout(n)}}),Gi,ao={},vu=Qr(ao),hs={},uu=Qr(hs);async function cu(){Gi&&(clearTimeout(Gi),Gi=0),ao=await(await oa("importprice.json")).json(),vu.set(ao),ao?.importExportPriceDifferent&&(hs=await(await oa("exportprice.json")).json(),uu.set(hs)),Gi=setTimeout(cu,(24-new Date().getHours())*36e5+10)}var ms={},Fa;async function gs(){Fa&&(clearTimeout(Fa),Fa=0),ms=await(await oa("dayplot.json")).json(),Vs.set(ms),Fa=setTimeout(gs,(60-new Date().getMinutes())*6e4+20)}var Vs=Qr(ms,t=>function(){}),bs={},Ia;async function xs(){Ia&&(clearTimeout(Ia),Ia=0),bs=await(await oa("monthplot.json")).json(),Xs.set(bs),Ia=setTimeout(xs,(24-new Date().getHours())*36e5+40)}var Xs=Qr(bs,t=>function(){}),ys={};async function Df(){ys=await(await oa("temperature.json")).json(),fu.set(ys)}var fu=Qr(ys,t=>function(){}),ws={},Ki;async function du(){Ki&&(clearTimeout(Ki),Ki=0),ws=await(await oa("tariff.json")).json(),_u.set(ws),Ki=setTimeout(du,(60-new Date().getMinutes())*6e4+30)}var _u=Qr(ws,t=>function(){}),Hn={c:-1,n:[]};async function Rf(){let t=await(await oa("wifiscan.json",{timeout:3e4})).json(),n=[];Hn.c=0,Hn.n=[];for(let r=0;r(Rf(),function(){})),ks=!1,Gr=Qr(ks);async function pu(t){ks=await(await oa("translations.json"+(t?"?lang="+t:""))).json(),Gr.set(ks)}pu();function Bl(t){return"WARNING: "+t+" must be connected to an external power supply during firmware upgrade. Failure to do so may cause power-down during upload resulting in non-functioning unit."}async function hu(t){return await(await fetch("upgrade?expected_version="+t,{method:"POST"})).json()}var jf=F(" ",1);function Ff(t,n){xt(n,!1);let r=de(n,"epoch",8),a=W({});Gr.subscribe(S=>{E(a,S)});let s=W(0),f=W(0),i=W(0);mr(()=>$(r()),()=>{E(s,Math.floor(r()/86400)),E(f,Math.floor(r()/3600)),E(i,Math.floor(r()/60))}),wr(),Mt();var d=qr(),b=fe(d),p=S=>{var o=jf(),m=fe(o),k=l(m),g=O=>{var C=ca();j(()=>h(C,`${e(s)??""} ${e(a),v(()=>e(a).common?.days??"d")??""}`)),q(O,C)},A=O=>{var C=ca();j(()=>h(C,`${e(s)??""} ${e(a),v(()=>e(a).common?.day??"d")??""}`)),q(O,C)},P=O=>{var C=ca();j(()=>h(C,`${e(f)??""} ${e(a),v(()=>e(a).common?.hours??"h")??""}`)),q(O,C)},R=O=>{var C=ca();j(()=>h(C,`${e(f)??""} ${e(a),v(()=>e(a).common?.hour??"h")??""}`)),q(O,C)},Y=O=>{var C=ca();j(()=>h(C,`${e(i)??""} ${e(a),v(()=>e(a).common?.minutes??"m")??""}`)),q(O,C)},H=O=>{var C=ca();j(()=>h(C,`${e(i)??""} ${e(a),v(()=>e(a).common?.minute??"m")??""}`)),q(O,C)},T=O=>{var C=ca();j(()=>h(C,`${r()??""} ${e(a),v(()=>e(a).common?.seconds??"s")??""}`)),q(O,C)};I(k,O=>{e(s)>1?O(g):e(s)>0?O(A,1):e(f)>1?O(P,2):e(f)>0?O(R,3):e(i)>1?O(Y,4):e(i)>0?O(H,5):O(T,-1)}),j(()=>h(m,`${e(a),v(()=>e(a).header?.uptime??"Up")??""} `)),q(S,o)};I(b,S=>{r()&&S(p)}),q(t,d),yt()}var If=F(" ");function hn(t,n){let r=de(n,"color",8),a=de(n,"title",8),s=de(n,"text",8);var f=If(),i=c(f,!0);u(f),j(()=>{Q(f,"title",a()),Vr(f,1,`bd-${r()??""}`),h(i,s())}),q(t,f)}var Wf=F(" ");function mu(t,n){xt(n,!1);let r=W({});Gr.subscribe(o=>{E(r,o)});let a=de(n,"timestamp",8),s=de(n,"fullTimeColor",8),f=de(n,"offset",8),i=W();mr(()=>($(a()),$(f()),Ja),()=>{E(i,Math.abs(new Date().getTime()-a().getTime())<3e5),isNaN(f())||Ja(a(),f()-(24+a().getHours()-a().getUTCHours())%24)}),wr(),Mt();var d=qr(),b=fe(d),p=o=>{var m=ca();j(k=>h(m,k),[()=>($(Wt),$(a()),e(r),v(()=>`${Wt(a().getDate())}. ${e(r).months?e(r).months?.[a().getMonth()]:Wt(a().getMonth()+1)} ${Wt(a().getHours())}:${Wt(a().getMinutes())}`))]),q(o,m)},S=o=>{var m=Wf(),k=c(m,!0);u(m),j(g=>{Vr(m,1,s()),h(k,g)},[()=>($(Wt),$(a()),v(()=>`${Wt(a().getDate())}.${Wt(a().getMonth()+1)}.${a().getFullYear()} ${Wt(a().getHours())}:${Wt(a().getMinutes())}`))]),q(o,m)};I(b,o=>{e(i)?o(p):o(S,-1)}),q(t,d),yt()}var Bf=Zr('');function Uf(t){var n=Bf();q(t,n)}var Hf=Zr('');function zf(t){var n=Hf();q(t,n)}var Yf=Zr('');function Gf(t){var n=Yf();q(t,n)}var Kf=F('
'),Xo=F('
'),Vf=F('
',1),Xf=F('
'),Qf=F(''),Zf=F(" "),Jf=F('
'),ed=F('');function td(t,n){xt(n,!1);let r=de(n,"basepath",8,"/"),a=de(n,"data",24,()=>({})),s=W({});function f(){confirm((e(d).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(s).upgrade.n))&&(hu(e(s).upgrade.n),Sr.update(be=>(be.upgrade.t=e(s).upgrade.n,be.upgrade.p=0,be.upgrading=!0,be)))}let i=W();Sr.subscribe(be=>{E(s,be)});let d=W({});Gr.subscribe(be=>{E(d,be)}),mr(()=>e(s),()=>{E(i,Math.max(0,e(s).upgrade.p))}),wr(),Mt();var b=ed(),p=c(b),S=c(p),o=c(S),m=l(c(o)),k=c(m,!0);u(m),u(o),u(S);var g=l(S,2),A=c(g);Ff(c(A),{get epoch(){return $(a()),v(()=>a().u)}}),u(A);var P=l(A,2),R=be=>{var Le=Kf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`${ct??""}°C`),[()=>($(a()),v(()=>a().t>-50?a().t.toFixed(1):"-"))]),q(be,Le)};I(P,be=>{$(a()),v(()=>a().t>-50)&&be(R)});var Y=l(P,2),H=c(Y);u(Y),u(g);var T=l(g,2),O=c(T);{let be=Ce(()=>(e(s),e(d),$(a()),v(()=>e(s).booting?e(d).header?.booting??"Booting":a().v>2?a().v.toFixed(2)+"V":"ESP"))),Le=Ce(()=>($(Aa),e(s),$(a()),v(()=>Aa(e(s).booting?2:a().em))));hn(O,{title:"ESP",get text(){return e(be)},get color(){return e(Le)}})}var C=l(O,2);{let be=Ce(()=>($(Aa),e(s),$(a()),v(()=>Aa(e(s).booting?9:a().hm))));hn(C,{title:"HAN",text:"HAN",get color(){return e(be)}})}var B=l(C,2);{let be=Ce(()=>($(a()),v(()=>a().r?a().r.toFixed(0)+"dBm":"WiFi"))),Le=Ce(()=>($(Aa),e(s),$(a()),v(()=>Aa(e(s).booting?9:a().wm))));hn(B,{title:"WiFi",get text(){return e(be)},get color(){return e(Le)}})}var J=l(B,2),te=c(J);{let be=Ce(()=>(e(d),v(()=>e(d).header?.services??"Services"))),Le=Ce(()=>(e(d),v(()=>e(d).header?.services??"Services"))),Ve=Ce(()=>($(Aa),e(s),$(a()),v(()=>Aa(e(s).booting?9:a().sa))));hn(te,{get title(){return e(be)},get text(){return e(Le)},get color(){return e(Ve)}})}u(J),u(T);var se=l(T,2),le=be=>{var Le=Xo(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.han??"HAN")+": "+(e(d).errors?.han?.[a().he]??a().he))))),q(be,Le)};I(se,be=>{$(a()),v(()=>a().he<0||a().he>0)&&be(le)});var qe=l(se,2),K=be=>{var Le=Xo(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.mqtt??"MQTT")+": "+(e(d).errors?.mqtt?.[a().me]??a().me))))),q(be,Le)};I(qe,be=>{$(a()),v(()=>a().me<0)&&be(K)});var x=l(qe,2),_=be=>{var Le=Xo(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.price??"PS")+": "+(e(d).errors?.price?.[a().ee]??a().ee))))),q(be,Le)};I(x,be=>{$(a()),v(()=>a().ee>0||a().ee<0)&&be(_)});var w=l(x,2),y=c(w),M=c(y),N=c(M);u(M),u(y);var z=l(y,2),Z=c(z);{let be=Ce(()=>($(a()),v(()=>a().c?new Date(a().c*1e3):new Date(0))));mu(Z,{get timestamp(){return e(be)},get offset(){return e(s),v(()=>e(s).clock_offset)},fullTimeColor:"text-red-500"})}u(z);var ge=l(z,2),We=be=>{var Le=Vf(),Ve=fe(Le),ct=c(Ve);Uf(c(ct),{}),u(ct),u(Ve);var Ge=l(Ve,2),ht=c(Ge);zf(c(ht),{}),u(ht),u(Ge),j(()=>{Q(Ve,"title",(e(d),v(()=>e(d).header?.config??""))),Q(Ge,"title",(e(d),v(()=>e(d).header?.status??"")))}),q(be,Le)};I(ge,be=>{e(s),v(()=>e(s).vndcfg&&e(s).usrcfg)&&be(We)});var Oe=l(ge,2),He=c(Oe);Gf(c(He),{}),u(He),u(Oe);var pt=l(Oe,2),Ze=be=>{var Le=Xf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`Upgrading to ${e(s),v(()=>e(s).upgrade.t)??""}, ${ct??""}%`),[()=>(e(i),v(()=>e(i).toFixed(1)))]),q(be,Le)},Et=be=>{var Le=Jf(),Ve=c(Le),ct=ht=>{var ut=Qf(),mt=c(ut),kr=c(mt);u(mt),u(ut),j(()=>h(kr,`${e(d),v(()=>e(d).header?.new_version??"New version")??""}: ${e(s),v(()=>e(s).upgrade.n)??""}`)),Ue("click",ut,f),q(ht,ut)},Ge=ht=>{var ut=Zf(),mt=c(ut);u(ut),j(()=>h(mt,`${e(d),v(()=>e(d).header?.new_version??"New version")??""}: ${e(s),v(()=>e(s).upgrade.n)??""}`)),q(ht,ut)};I(Ve,ht=>{e(s),$(a()),v(()=>e(s).security==0||a().a)?ht(ct):ht(Ge,-1)}),u(Le),j(()=>Q(Le,"title",(e(d),e(s),v(()=>(e(d).header?.new_version??"New version")+": "+e(s).upgrade.n)))),q(be,Le)};I(pt,be=>{e(s),v(()=>e(s).upgrading)?be(Ze):(e(s),v(()=>e(s).fwconsent===1&&e(s).upgrade.n)&&be(Et,1))}),u(w),u(p),u(b),j((be,Le,Ve)=>{Q(o,"href",r()),h(k,(e(s),v(()=>e(s).version))),h(H,`${e(d),v(()=>e(d).header?.mem??"Free")??""}: ${be??""}kb`),Q(J,"title",(e(d),v(()=>e(d).header?.services??"Services"))),Q(N,"src",Le),Q(Oe,"title",(e(d),v(()=>e(d).header?.doc??""))),Q(He,"href",Ve)},[()=>($(a()),v(()=>a().m?(a().m/1e3).toFixed(1):"-")),()=>($(r()),v(()=>(r()+"/logo.svg").replace("//","/"))),()=>($(Jt),v(()=>Jt("")))]),q(t,b),yt()}var rd=Zr('');function ad(t,n){xt(n,!1);let r=de(n,"pct",8,0),a=de(n,"color",8,"red");function s(p,S,o,m){var k=(m-90)*Math.PI/180;return{x:p+o*Math.cos(k),y:S+o*Math.sin(k)}}function f(p,S,o,m,k){var g=s(p,S,o,k),A=s(p,S,o,m),P=k-m<=180?"0":"1";return["M",g.x,g.y,"A",o,o,0,P,0,A.x,A.y].join(" ")}Mt();var i=rd(),d=c(i),b=l(d);u(i),j((p,S)=>{Q(d,"d",p),Q(b,"d",S),Q(b,"stroke",a())},[()=>v(()=>f(150,150,115,210,510)),()=>($(r()),v(()=>f(150,150,115,210,210+300*r()/100)))]),q(t,i),yt()}var nd=F('
',1),id=F('

');function Ul(t,n){xt(n,!1);let r=de(n,"val",8),a=de(n,"max",8),s=de(n,"unit",8),f=de(n,"label",8),i=de(n,"sub",24,()=>["",""]),d=de(n,"colorFn",8),b=W(),p=W(0);mr(()=>($(r()),$(s()),$(a())),()=>{E(b,Or(r(),s())),E(p,Math.min(r(),a())/a()*100)}),wr(),Mt();var S=id(),o=c(S);{let O=Ce(()=>($(d()),e(p),v(()=>d()(e(p),document.documentElement.classList.contains("dark")))));ad(o,{get pct(){return e(p)},get color(){return e(O)}})}var m=l(o,2),k=c(m),g=c(k,!0);u(k);var A=l(k,4),P=c(A,!0);u(A);var R=l(A,2),Y=c(R,!0);u(R);var H=l(R,2),T=O=>{var C=nd(),B=l(fe(C),2),J=c(B,!0);u(B);var te=l(B,2),se=c(te);u(te),j(()=>{h(J,($(i()),v(()=>i()[0]))),h(se,`${$(i()),v(()=>i()[1])??""}/kWh`)}),q(O,C)};I(H,O=>{i()&&O(T)}),u(m),u(S),j(()=>{h(g,f()),h(P,(e(b),v(()=>e(b)[0]))),h(Y,(e(b),v(()=>e(b)[1])))}),q(t,S),yt()}var od=F('
');function sd(t,n){let r=de(n,"title",8),a=de(n,"x",8),s=de(n,"y",8),f=W(),i=W();var d=od(),b=c(d,!0);u(d),j(()=>{lf(d,`top: ${s()-e(i)-10}px; left: ${a()-e(f)/2}px;`),h(b,r())}),kn(d,"clientHeight",p=>E(i,p)),kn(d,"clientWidth",p=>E(f,p)),q(t,d)}var ld=500;function Hl(t){let n,r,a,s;function f(){r&&(tu(r),r=null)}function i(){if(clearTimeout(s),clearTimeout(a),f(),n=t.dataset.title||t.getAttribute("title"),!!n){var p=t.getBoundingClientRect();r=Po(sd,{target:document.body,props:{title:n,x:p.left+window.scrollX+p.width/2,y:p.top+window.scrollY}})}}function d(){clearTimeout(s),s=setTimeout(i,ld)}function b(){clearTimeout(s),r&&(a=setTimeout(f,500))}return t.addEventListener("click",i),t.addEventListener("mouseenter",d),t.addEventListener("mouseleave",b),{destroy(){clearTimeout(s),clearTimeout(a),f(),t.removeEventListener("click",i),t.removeEventListener("mouseenter",d),t.removeEventListener("mouseleave",b)}}}var vd=F('
'),zl=F(" "),ud=F('
'),cd=F('
'),fd=Zr(' '),dd=Zr(' '),_d=Zr(''),Yl=Zr(' '),Gl=Zr("",1),pd=Zr("",1),hd=Zr('',1),md=F('
');function On(t,n){xt(n,!1);let r=de(n,"config",8),a=W(),s=W(),f=W(),i=W(),d=W(),b=W(),p=W(),S=30,o=W(0);function m(T,O){let C;function B(J){cancelAnimationFrame(C),T.style.fontSize="",J&&(C=requestAnimationFrame(()=>{try{const te=T.getBBox();if(te.width>0&&te.width>J){const se=parseFloat(getComputedStyle(T).fontSize)||12;T.style.fontSize=se*J/te.width+"px"}}catch{}}))}return B(O),{update:B,destroy(){cancelAnimationFrame(C)}}}function k(T,O,C,B){return B?T>O-C?T-C:Math.min(T+10,O-C):O-T>=C?T+C/2:T-C/2}function g(T,O,C,B){return B?T>O-C:O-T=C?T-C/2:T+C/2}function P(T,O,C,B){return B?T(e(b),e(s),e(o),e(a),$(r()),e(f)),()=>{E(b,e(s)-e(o));let T=e(a)-(r().padding.left+r().padding.right);E(f,T/r().points.length),E(p,e(f)r().y.max?B=r().padding.bottom:Ce(b)||B<0?0:B})}),wr(),Mt();var R=md(),Y=c(R),H=T=>{var O=hd(),C=fe(O),B=qe=>{var K=cd(),x=c(K),_=M=>{var N=vd(),z=c(N,!0);u(N),j(()=>h(z,($(r()),v(()=>r().title)))),kn(N,"clientHeight",Z=>E(o,Z)),q(M,N)};I(x,M=>{$(r()),v(()=>r().title)&&M(_)});var w=l(x,2),y=M=>{var N=ud(),z=c(N),Z=We=>{var Oe=zl(),He=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),v(()=>"#"+r().link.url))),h(He,($(r()),v(()=>r().link.text)))}),q(We,Oe)},ge=We=>{var Oe=zl(),He=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),v(()=>r().link.url))),Q(Oe,"target",($(r()),v(()=>r().link.target))),h(He,($(r()),v(()=>r().link.text)))}),q(We,Oe)};I(z,We=>{$(r()),v(()=>r().link.route)?We(Z):We(ge,-1)}),u(N),q(M,N)};I(w,M=>{$(r()),v(()=>r().link)&&M(y)}),u(K),q(qe,K)};I(C,qe=>{$(r()),v(()=>r().title||r().link)&&qe(B)});var J=l(C),te=c(J);Gt(te,5,()=>($(r()),v(()=>r().y.ticks)),Yt,(qe,K)=>{var x=qr(),_=fe(x),w=M=>{var N=fd(),z=l(c(N)),Z=c(z,!0);u(z),u(N),j(ge=>{Vr(N,0,`tick tick-${e(K),v(()=>e(K).value)??""} tick-${e(K),v(()=>e(K).color)??""}`),Q(N,"transform",`translate(0, ${ge??""})`),Q(z,"x",(e(K),v(()=>e(K).align=="right"?"90%":""))),h(Z,(e(K),v(()=>e(K).label)))},[()=>(e(d),e(K),v(()=>e(d)(e(K).value)))]),q(M,N)},y=er(()=>(e(d),e(K),v(()=>!isNaN(e(d)(e(K).value)))));I(_,M=>{e(y)&&M(w)}),q(qe,x)}),u(te);var se=l(te);Gt(se,5,()=>($(r()),v(()=>r().x.ticks)),Yt,(qe,K,x)=>{var _=qr(),w=fe(_),y=N=>{var z=_d(),Z=c(z),ge=We=>{var Oe=dd(),He=c(Oe,!0);u(Oe),li(Oe,(pt,Ze)=>m?.(pt,Ze),()=>e(f)*.85),j(()=>{Q(Oe,"x",e(f)/2),h(He,(e(K),v(()=>e(K).label)))}),q(We,Oe)};I(Z,We=>{e(f),$(r()),v(()=>e(f)>20||x%2==0||!r().x.ticks[x-1].label)&&We(ge)}),u(z),j(We=>Q(z,"transform",`translate(${We??""},${e(b)??""})`),[()=>(e(i),v(()=>e(i)(x)))]),q(N,z)},M=er(()=>(e(i),v(()=>!isNaN(e(i)(x)))));I(w,N=>{e(M)&&N(y)}),q(qe,_)}),u(se);var le=l(se);Gt(le,5,()=>($(r()),v(()=>r().points)),Yt,(qe,K,x)=>{var _=qr(),w=fe(_),y=N=>{var z=pd(),Z=fe(z),ge=c(Z),We=Ze=>{var Et=Gl(),be=fe(Et),Le=l(be),Ve=ct=>{var Ge=Yl(),ht=c(Ge,!0);u(Ge),li(Ge,(ut,mt)=>m?.(ut,mt),()=>!e(K).labelAngle&&e(f)>=S?e(f)*.95:null),j((ut,mt,kr)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"text-anchor",(e(f),e(K),v(()=>e(f)e(K).labelAngle?e(K).labelAngle:e(f)e(K).label)))},[()=>(e(d),e(K),e(p),e(f),$(r()),v(()=>g(e(d)(e(K).value),e(d)(0),e(p),!!e(K).labelAngle||e(f)(e(i),e(f),v(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(K),e(p),e(f),v(()=>k(e(d)(e(K).value),e(d)(0),e(p),!!e(K).labelAngle||e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(K),v(()=>e(K).color)))},[()=>(e(i),v(()=>e(i)(x)+2)),()=>(e(d),e(K),v(()=>e(d)(e(K).value))),()=>(e(d),$(r()),e(K),v(()=>e(d)(r().y.min)-e(d)(Math.min(r().y.min,0)+e(K).value)))]),q(Ze,Et)};I(ge,Ze=>{e(K),v(()=>e(K).value!==void 0)&&Ze(We)}),u(Z),li(Z,Ze=>Hl?.(Ze));var Oe=l(Z),He=c(Oe),pt=Ze=>{var Et=Gl(),be=fe(Et),Le=l(be),Ve=ct=>{var Ge=Yl();Q(Ge,"text-anchor","middle");var ht=c(Ge,!0);u(Ge),li(Ge,(ut,mt)=>m?.(ut,mt),()=>e(f)>=S?e(f)*.95:null),j((ut,mt,kr)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"fill",ut),Q(Ge,"transform",`translate(${mt??""} ${kr??""}) rotate(${e(f)e(K).label2)))},[()=>(e(d),e(K),e(p),e(f),$(r()),v(()=>P(e(d)(-e(K).value2),e(d)(0),e(p),e(f)(e(i),e(f),v(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(K),e(p),e(f),v(()=>A(e(d)(-e(K).value2),e(d)(0),e(p),e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(K),v(()=>e(K).color2?e(K).color2:e(K).color)))},[()=>(e(i),v(()=>e(i)(x)+2)),()=>(e(d),v(()=>e(d)(0))),()=>(e(d),$(r()),e(K),v(()=>e(d)(r().y.min)-e(d)(r().y.min+e(K).value2)))]),q(Ze,Et)};I(He,Ze=>{e(K),v(()=>e(K).value2>1e-4)&&Ze(pt)}),u(Oe),li(Oe,Ze=>Hl?.(Ze)),j(()=>{Q(Z,"data-title",(e(K),v(()=>e(K).title))),Q(Oe,"data-title",(e(K),v(()=>e(K).title2)))}),q(N,z)},M=er(()=>(e(i),e(d),e(K),v(()=>!isNaN(e(i)(x))&&!isNaN(e(d)(e(K).value)))));I(w,N=>{e(M)&&N(y)}),q(qe,_)}),u(le),u(J),j(()=>Q(J,"viewBox",`0 0 ${e(a)??""} ${e(b)??""}`)),q(T,O)};I(Y,T=>{$(r()),e(b),v(()=>r().x.ticks&&r().points&&e(b))&&T(H)}),u(R),kn(R,"clientWidth",T=>E(a,T)),kn(R,"clientHeight",T=>E(s,T)),q(t,R),yt()}function gd(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"u1",8),s=de(n,"u2",8),f=de(n,"u3",8),i=de(n,"ds",8),d=W({});function b(p){return{label:It(p)+"V",title:p.toFixed(1)+" V",value:isNaN(p)?0:p,color:Af(p||0,document.documentElement.classList.contains("dark"))}}mr(()=>($(a()),$(i()),$(s()),$(f()),$(r())),()=>{let p=[],S=[];a()>0&&(p.push({label:i()===1?"L1-L2":"L1"}),S.push(b(a()))),s()>0&&(p.push({label:i()===1?"L1-L3":"L2"}),S.push(b(s()))),f()>0&&(p.push({label:i()===1?"L2-L3":"L3"}),S.push(b(f()))),E(d,{title:r(),padding:{top:20,right:15,bottom:20,left:35},y:{min:200,max:260,ticks:[{value:207,label:"-10%"},{value:230,label:"230V"},{value:253,label:"+10%"}]},x:{ticks:p},points:S})}),wr(),Mt(),On(t,{get config(){return e(d)}}),yt()}var bd=F('
');function xd(t,n){xt(n,!1);let r=de(n,"importInstant",8),a=de(n,"exportInstant",8),s=de(n,"importTotal",8),f=de(n,"exportTotal",8),i=de(n,"translations",24,()=>({})),d=W(),b=W(),p=W(),S=W();mr(()=>($(r()),$(a()),$(s()),$(f())),()=>{E(d,Or(r(),"VAr")),E(b,Or(a(),"VAr")),E(p,Or(s()*1e3,"VArh")),E(S,Or(f()*1e3,"VArh"))}),wr(),Mt();var o=bd(),m=c(o),k=c(m,!0);u(m);var g=l(m,2),A=c(g),P=c(A,!0);u(A);var R=l(A,2),Y=c(R);u(R);var H=l(R,2),T=c(H,!0);u(H);var O=l(H,2),C=c(O);u(O),u(g);var B=l(g,2),J=c(B),te=c(J,!0);u(J);var se=l(J,2),le=c(se);u(se);var qe=l(se,2),K=c(qe,!0);u(qe);var x=l(qe,2),_=c(x);u(x),u(B),u(o),j(()=>{h(k,($(i()),v(()=>i().reactive?.title??"Reactive"))),h(P,($(i()),v(()=>i().reactive?.instant_in??"Instant in"))),h(Y,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(T,($(i()),v(()=>i().reactive?.instant_out??"Instant out"))),h(C,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(te,($(i()),v(()=>i().reactive?.total_in??"Total in"))),h(le,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(K,($(i()),v(()=>i().reactive?.total_out??"Total out"))),h(_,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`)}),q(t,o),yt()}var Va=F('
'),yd=F('
',1),wd=F('
',1),kd=F('
',1),$d=F('


');function Sd(t,n){xt(n,!1);let r=de(n,"sysinfo",8),a=de(n,"data",8),s=de(n,"currency",8),f=de(n,"hasExport",8),i=de(n,"translations",24,()=>({})),d=W(),b=W(),p=W(),S=W(),o=W(),m=W(),k=W(),g=W(),A=W(!1),P=W(3);mr(()=>(e(A),$(a()),$(r())),()=>{E(A,a()&&a().h&&(Math.abs(a().h.c)>.01||Math.abs(a().d.c)>.01||Math.abs(a().m.c)>.01||Math.abs(a().h.i)>.01||Math.abs(a().d.i)>.01||Math.abs(a().m.i)>.01)),E(P,e(A)?3:2),E(d,Or(a()?.h?.u*1e3,"Wh")),E(b,Or(a()?.d?.u*1e3,"Wh")),E(p,Or(a()?.m?.u*1e3,"Wh")),E(S,Or(r()?.last_month?.u*1e3,"Wh")),E(o,Or(a()?.h?.p*1e3,"Wh")),E(m,Or(a()?.d?.p*1e3,"Wh")),E(k,Or(a()?.m?.p*1e3,"Wh")),E(g,Or(r()?.last_month?.p*1e3,"Wh"))}),wr(),Mt();var R=$d(),Y=c(R),H=c(Y,!0);u(Y);var T=l(Y,5),O=C=>{var B=qr(),J=fe(B),te=le=>{var qe=yd(),K=fe(qe),x=c(K,!0);u(K);var _=l(K,2),w=c(_),y=c(w,!0);u(w);var M=l(w,2),N=c(M);u(M);var z=l(M,2),Z=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().h.c,2)))]),q(ae,pe)};I(z,ae=>{e(A)&&ae(Z)});var ge=l(z,2),We=c(ge,!0);u(ge);var Oe=l(ge,2),He=c(Oe);u(Oe);var pt=l(Oe,2),Ze=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().d.c,1)))]),q(ae,pe)};I(pt,ae=>{e(A)&&ae(Ze)});var Et=l(pt,2),be=c(Et,!0);u(Et);var Le=l(Et,2),Ve=c(Le);u(Le);var ct=l(Le,2),Ge=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().m.c)))]),q(ae,pe)};I(ct,ae=>{e(A)&&ae(Ge)});var ht=l(ct,2),ut=c(ht,!0);u(ht);var mt=l(ht,2),kr=c(mt);u(mt);var Ir=l(mt,2),Tr=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(r()),v(()=>It(r().last_month?.c)))]),q(ae,pe)};I(Ir,ae=>{e(A)&&ae(Tr)}),u(_);var ke=l(_,2),je=c(ke,!0);u(ke);var ze=l(ke,2),tt=c(ze),Bt=c(tt,!0);u(tt);var ft=l(tt,2),Ft=c(ft);u(ft);var Kt=l(ft,2),Nr=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().h.i,2)))]),q(ae,pe)};I(Kt,ae=>{e(A)&&ae(Nr)});var gr=l(Kt,2),_e=c(gr,!0);u(gr);var U=l(gr,2),X=c(U);u(U);var xe=l(U,2),ue=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().d.i,1)))]),q(ae,pe)};I(xe,ae=>{e(A)&&ae(ue)});var $e=l(xe,2),D=c($e,!0);u($e);var V=l($e,2),ne=c(V);u(V);var Ee=l(V,2),ce=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().m.i)))]),q(ae,pe)};I(Ee,ae=>{e(A)&&ae(ce)});var ye=l(Ee,2),we=c(ye,!0);u(ye);var Pe=l(ye,2),Te=c(Pe);u(Pe);var Ne=l(Pe,2),Ie=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(r()),v(()=>It(r().last_month?.i)))]),q(ae,pe)};I(Ne,ae=>{e(A)&&ae(Ie)}),u(ze),j((ae,pe,me,he,oe,Ae)=>{h(x,($(i()),v(()=>i().common?.import??"Import"))),Vr(_,1,`grid grid-cols-${e(P)??""} mb-3`),h(y,ae),h(N,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(We,pe),h(He,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(be,me),h(Ve,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(ut,($(i()),v(()=>i().realtime?.last_mo??"Last mo."))),h(kr,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`),h(je,($(i()),v(()=>i().common?.export??"Export"))),Vr(ze,1,`grid grid-cols-${e(P)??""}`),h(Bt,he),h(Ft,`${e(o),v(()=>e(o)[0])??""} ${e(o),v(()=>e(o)[1])??""}`),h(_e,oe),h(X,`${e(m),v(()=>e(m)[0])??""} ${e(m),v(()=>e(m)[1])??""}`),h(D,Ae),h(ne,`${e(k),v(()=>e(k)[0])??""} ${e(k),v(()=>e(k)[1])??""}`),h(we,($(i()),v(()=>i().realtime?.last_mo??"Last mo."))),h(Te,`${e(g),v(()=>e(g)[0])??""} ${e(g),v(()=>e(g)[1])??""}`)},[()=>($(fr),$(i()),v(()=>fr(i().common?.hour??"Hour"))),()=>($(fr),$(i()),v(()=>fr(i().common?.day??"Day"))),()=>($(fr),$(i()),v(()=>fr(i().common?.month??"Month"))),()=>($(fr),$(i()),v(()=>fr(i().common?.hour??"Hour"))),()=>($(fr),$(i()),v(()=>fr(i().common?.day??"Day"))),()=>($(fr),$(i()),v(()=>fr(i().common?.month??"Month")))]),q(le,qe)},se=le=>{var qe=kd(),K=fe(qe),x=c(K,!0);u(K);var _=l(K,2),w=c(_),y=c(w,!0);u(w);var M=l(w,2),N=c(M);u(M);var z=l(M,2),Z=c(z,!0);u(z);var ge=l(z,2),We=c(ge);u(ge);var Oe=l(ge,2),He=c(Oe,!0);u(Oe);var pt=l(Oe,2),Ze=c(pt);u(pt);var Et=l(pt,2),be=c(Et,!0);u(Et);var Le=l(Et,2),Ve=c(Le);u(Le),u(_);var ct=l(_,2),Ge=ht=>{var ut=wd(),mt=fe(ut),kr=c(mt,!0);u(mt);var Ir=l(mt,2),Tr=c(Ir),ke=c(Tr,!0);u(Tr);var je=l(Tr,2),ze=c(je);u(je);var tt=l(je,2),Bt=c(tt,!0);u(tt);var ft=l(tt,2),Ft=c(ft);u(ft);var Kt=l(ft,2),Nr=c(Kt,!0);u(Kt);var gr=l(Kt,2),_e=c(gr);u(gr);var U=l(gr,2),X=c(U,!0);u(U);var xe=l(U,2),ue=c(xe);u(xe),u(Ir),j(($e,D,V,ne,Ee,ce,ye)=>{h(kr,($(i()),v(()=>i().realtime?.cost??"Cost"))),h(ke,$e),h(ze,`${D??""} ${s()??""}`),h(Bt,V),h(Ft,`${ne??""} ${s()??""}`),h(Nr,Ee),h(_e,`${ce??""} ${s()??""}`),h(X,($(i()),v(()=>i().realtime?.last_month??"Last month"))),h(ue,`${ye??""} ${s()??""}`)},[()=>($(fr),$(i()),v(()=>fr(i().common?.hour??"Hour"))),()=>($(It),$(a()),v(()=>It(a().h.c,2))),()=>($(fr),$(i()),v(()=>fr(i().common?.day??"Day"))),()=>($(It),$(a()),v(()=>It(a().d.c,1))),()=>($(fr),$(i()),v(()=>fr(i().common?.month??"Month"))),()=>($(It),$(a()),v(()=>It(a().m.c))),()=>($(It),$(r()),v(()=>It(r().last_month?.c)))]),q(ht,ut)};I(ct,ht=>{e(A)&&ht(Ge)}),j((ht,ut,mt)=>{h(x,($(i()),v(()=>i().realtime?.consumption??"Consumption"))),h(y,ht),h(N,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(Z,ut),h(We,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(He,mt),h(Ze,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(be,($(i()),v(()=>i().realtime?.last_month??"Last month"))),h(Ve,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`)},[()=>($(fr),$(i()),v(()=>fr(i().common?.hour??"Hour"))),()=>($(fr),$(i()),v(()=>fr(i().common?.day??"Day"))),()=>($(fr),$(i()),v(()=>fr(i().common?.month??"Month")))]),q(le,qe)};I(J,le=>{f()?le(te):le(se,-1)}),q(C,B)};I(T,C=>{a()&&C(O)}),u(R),j(()=>h(H,($(i()),v(()=>i().realtime?.title??"Real time calculations")))),q(t,R),yt()}function Qo(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"json",8),s=de(n,"sysinfo",8),f=W({}),i=W(),d=W(),b=document.documentElement.classList.contains("dark"),p=W(new Date);Oo(()=>{let k;function g(){E(p,new Date),k=setTimeout(()=>{g()},(15-e(p).getMinutes()%15)*6e4)}return g(),()=>{clearTimeout(k)}}),mr(()=>($(a()),e(p),e(d),e(i),$(s()),$(r()),Rl),()=>{if(a()?.prices?.length>0){E(p,new Date);let k=a()?.currency,g=0,A=[],P=[],R=[];E(d,E(i,0)),Ja(e(p),s().clock_offset-(24+e(p).getHours()-e(p).getUTCHours())%24);let Y=a()?.cursor?a().cursor:0;for(e(p).setMinutes(Math.floor(e(p).getMinutes()/a()?.resolution)*a()?.resolution,0,0);Y0&&a()?.resolution<60&&e(p).getMinutes()!=0?"":Wt(e(p).getHours())}),R.push(g*100),E(d,Math.min(e(d),g*100)),E(i,Math.max(e(i),g*100)),Pf(e(p),a()?.resolution),Y++;let H=hi(Math.max(Math.abs(e(d))/100,Math.abs(e(i))/100),k);if(H&&H[1]&&H[1]!=k)for(k=H[1],E(d,e(d)*100),E(i,e(i)*100),Y=0;Y=0?J.toFixed(te):"",title:J>=0?J.toFixed(2)+" "+k:"",value:g>=0?Math.abs(g):0,label2:J<0?J.toFixed(te):"",title2:J<0?J.toFixed(2)+" "+k:"",value2:g<0?Math.abs(g):0,color:b?"#5c2da5":"#7c3aed"})}let O=Math.max(e(i),Math.abs(e(d)));if(e(d)<0){E(d,Math.min(O/4*-1,e(d)));let J=Math.ceil(Math.abs(e(d))/O*4),te=e(d)/J;for(Y=1;Y{On(k,{get config(){return e(f)}})};I(o,k=>{e(f),v(()=>e(f).points&&e(f).points.length>0)&&k(m)}),q(t,S),yt()}function qd(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"json",8),s=de(n,"sysinfo",8),f=W({}),i=W(),d=W(),b=document.documentElement.classList.contains("dark");mr(()=>(e(d),e(i),$(s()),$(a()),$(r())),()=>{let p=0,S=[],o=[],m=[];E(d,E(i,0));let k=new Date,g=new Date;g.setDate(0),g.setHours(12);let A=(g.getHours()-g.getUTCHours())%24-s().clock_offset,P=k.getUTCHours();for(Ja(k,-A-24),p=P;p<24;p++){let T=a()["i"+Wt(p)],O=a()["e"+Wt(p)];T===void 0&&(T=0),O===void 0&&(O=0),o.push({label:Wt(k.getHours())}),m.push({label:T.toFixed(1),title:T.toFixed(2)+" kWh",value:T*10,label2:O.toFixed(1),title2:O.toFixed(2)+" kWh",value2:O*10,color:b?"#5c2da5":"#7c3aed",color2:b?"#27728e":"#37829e"}),E(d,Math.max(e(d),O*10)),E(i,Math.max(e(i),T*10)),Ja(k,1)}for(p=0;p(e(d),e(i),$(s()),$(a()),$(r())),()=>{let p=0,S=[],o=[],m=[];E(d,E(i,0));let k=new Date,g=new Date;g.setDate(0),g.setHours(12);let A=(g.getHours()-g.getUTCHours())%24-s().clock_offset;for(Ja(k,-A),Ja(g,-A),p=k.getDate();p<=g.getDate();p++){let H=a()["i"+Wt(p)],T=a()["e"+Wt(p)];H===void 0&&(H=0),T===void 0&&(T=0),o.push({label:Wt(p)}),m.push({label:H.toFixed(H<10?1:0),title:H.toFixed(2)+" kWh",value:H,label2:T.toFixed(T<10?1:0),title2:T.toFixed(2)+" kWh",value2:T,color:b?"#5c2da5":"#7c3aed",color2:b?"#27728e":"#37829e"}),E(d,Math.max(e(d),T)),E(i,Math.max(e(i),H))}for(p=1;p($(a()),e(d),e(i),$(r())),()=>{let b=0,p=0,S=[],o=[],m=[];a().s&&a().s.forEach((A,P)=>{var R=A.n?A.n:A.a;p=A.v,p==-127&&(p=0),o.push({label:R.slice(-4)}),m.push({label:p.toFixed(1),value:p,color:s?"#5c2da5":"#7c3aed"}),E(d,Math.min(e(d),p)),E(i,Math.max(e(i),p))}),E(i,Math.ceil(e(i))),E(d,Math.floor(e(d)));let k=e(i);e(d)<0&&(k+=Math.abs(e(d)));let g=k/4;for(b=0;b<5;b++)p=e(d)+g*b,S.push({value:p,label:p.toFixed(1)});E(f,{title:r()+" (°C)",dark:document.documentElement.classList.contains("dark"),height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:e(d),max:e(i),ticks:S},x:{ticks:o},points:m})}),wr(),Mt(),On(t,{get config(){return e(f)}}),yt()}function Td(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"translations",24,()=>({})),s=document.documentElement.classList.contains("dark"),f=W({}),i=W(0),d=0,b=de(n,"tariffData",8),p=de(n,"realtime",8);mr(()=>($(b()),$(p()),$(a()),e(i),$(r())),()=>{let S=0,o=[],m=[],k=[];if(o.push({value:0,label:0}),b()&&!isNaN(p()?.h?.u)&&(k.push({label:p().h.u.toFixed(2),value:p().h.u,title:(a().common?.now??"Now")+": "+p().h.u.toFixed(2)+" kWh",color:eo(p().h.u/b().c*100)}),m.push({label:a().common?.now??"Now"})),b()&&b().p){const g=[...b().p].sort((A,P)=>A.d-P.d);for(S=0;S0&&(R=Wt(A.d)+".",P=Wt(A.d)+"."+(a().months?a().months?.[new Date().getMonth()]:Wt(new Date().getMonth()+1)),g.length<4&&(R=P)),isNaN(A.h)||(P=P+" "+Wt(A.h)+":00"),P=P+": "+A.v.toFixed(2)+" kWh",k.push({label:A.v.toFixed(2),value:A.v,title:P,color:s?"#5c2da5":"#7c3aed"}),m.push({label:R}),E(i,Math.max(e(i),A.v))}}if(b()&&b().t){for(S=0;S=e(i))break;o.push({value:g,label:g})}o.push({label:b().m.toFixed(1),align:"right",color:"green",value:b().m})}b()&&b().c&&(o.push({label:b().c.toFixed(0),color:"orange",value:b().c}),E(i,Math.max(e(i),b().c))),E(i,Math.ceil(e(i))),E(f,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:30,bottom:20,left:20},y:{min:d,max:e(i),ticks:o},x:{ticks:m},points:k})}),wr(),Mt(),On(t,{get config(){return e(f)}}),yt()}var vn=0,Ad={data:[]};async function Zs(){let t=await(await oa(vn<0?"realtime.json":"realtime.json?offset="+vn)).json();Js.update(n=>{for(let r=0;r=0&&(vn+=t.size,vnGn||$s-Gn>300?(Zs(),Zo=0):Js.update(t=>{if(t.lastUpdate)for(;Gn>t.lastUpdate;)t.data.unshift(gu),t.data=t.data.slice(0,t.size),t.lastUpdate+=10,Zo++;else t.lastUpdate=Gn;return t})}function Cd(t){if(gu=t.i-t.e,Gn=t.u,!Kl){Zs(),Kl=!0,$s=Gn;return}Pd()&&Od()}var Nd=Zr(' '),Ld=Zr(' '),Dd=Zr(''),Rd=F(' ',1),jd=F(' '),Fd=F('
');function Id(t,n){xt(n,!1);let r=de(n,"title",8),a=document.documentElement.classList.contains("dark"),s=W(null);Js.subscribe(B=>{E(s,B)});let f=W(!1),i=W(),d=W(),b=W(),p=W(),S=W(),o=W(),m=W(),k=function(B,J,te){return Math.ceil(e(S)-(B-J)/(te-J)*e(S))-25},g=function(B){return 30+Math.ceil(B/e(s).size*(e(o)-35))},A=W(),P=W(),R=W(),Y=W();mr(()=>(e(S),e(p),e(o),e(b),e(R),e(s),e(d),e(i),e(A),e(P),e(m)),()=>{if(E(S,parseInt(e(p))-50),E(o,e(b)-35),E(R,e(o)/e(s).size),E(d,0),E(i,0),e(s).data&&e(S)>10&&e(o)>100&&e(R)>.1){E(f,!0);for(let te in e(s).data){let se=e(s).data[te];isNaN(se)&&(se=0),E(i,Math.max(Math.ceil(se/1e3)*1e3,e(i))),E(d,Math.min(Math.floor(se/1e3)*1e3,e(d)))}let B=e(i)-e(d);E(Y,e(i)>2500?"kW":"W"),E(A,[]);for(let te=e(d);te2500?(te/1e3).toFixed(1):te}),!(e(A).length>6));te+=B/5);E(P,[]);for(let te=0;te12));te+=Math.round(e(s).size/Math.round(e(o)/120)));let J=e(s).size;E(m,g(e(s).size)+","+k(0,e(d),e(i))+" "+g(1)+","+k(0,e(d),e(i)));for(let te in e(s).data){if(J<0)break;let se=e(s).data[te];isNaN(se)&&(se=0),E(m,g(J--)+","+k(se,e(d),e(i))+" "+e(m))}}else E(f,!1)}),wr(),Mt();var H=Fd(),T=c(H),O=B=>{var J=Rd(),te=fe(J),se=c(te);u(te);var le=l(te,2),qe=K=>{var x=Dd(),_=c(x);Gt(_,5,()=>e(A),Yt,(M,N)=>{var z=qr(),Z=fe(z),ge=Oe=>{var He=Nd(),pt=l(c(He)),Ze=c(pt,!0);u(pt),u(He),j(Et=>{Vr(He,0,`tick tick-${e(N),v(()=>e(N).value)??""}`),Q(He,"transform",`translate(0, ${Et??""})`),h(Ze,(e(N),v(()=>e(N).label)))},[()=>(e(N),e(d),e(i),v(()=>k(e(N).value,e(d),e(i))))]),q(Oe,He)},We=er(()=>(e(N),e(d),e(i),v(()=>!isNaN(k(e(N).value,e(d),e(i))))));I(Z,Oe=>{e(We)&&Oe(ge)}),q(M,z)}),u(_);var w=l(_);Gt(w,5,()=>e(P),Yt,(M,N)=>{var z=qr(),Z=fe(z),ge=Oe=>{var He=Ld(),pt=c(He),Ze=c(pt,!0);u(pt),u(He),j(Et=>{Q(He,"transform",`translate(${Et??""},${e(S)??""})`),Q(pt,"x",e(R)/2),h(Ze,(e(N),v(()=>e(N).label)))},[()=>(e(N),v(()=>g(e(N).value)))]),q(Oe,He)},We=er(()=>(e(N),v(()=>!isNaN(g(e(N).value)))));I(Z,Oe=>{e(We)&&Oe(ge)}),q(M,z)}),u(w);var y=l(w);u(x),j(()=>{Q(x,"viewBox",`0 0 ${e(o)??""} ${e(S)??""}`),Q(y,"fill",a?"#5c2da5":"#7c3aed"),Q(y,"stroke",a?"#5c2da5":"#7c3aed"),Q(y,"points",e(m))}),q(K,x)};I(le,K=>{e(A)&&K(qe)}),j(()=>h(se,`${r()??""} (${e(Y)??""})`)),q(B,J)},C=B=>{var J=jd(),te=c(J);u(J),j(()=>h(te,`${r()??""} not available`)),q(B,J)};I(T,B=>{e(f)?B(O):B(C,-1)}),u(H),kn(H,"clientWidth",B=>E(b,B)),kn(H,"clientHeight",B=>E(p,B)),q(t,H),yt()}function Jo(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"unit",8,""),s=de(n,"l1",8,!1),f=de(n,"l2",8,!1),i=de(n,"l2x",8,!1),d=de(n,"l3",8,!1),b=de(n,"l1i",8,0),p=de(n,"l2i",8,0),S=de(n,"l3i",8,0),o=de(n,"l1e",8,0),m=de(n,"l2e",8,0),k=de(n,"l3e",8,0),g=de(n,"maxImport",8,0),A=de(n,"maxExport",8,0),P=de(n,"importColorFn",8),R=de(n,"exportColorFn",8),Y=W({});function H(T,O){return{label:It(T>900?T/1e3:T)+(T>900?"k":"")+a(),title:T.toFixed(2)+" "+a(),value:isNaN(T)?0:T,color:P()(T?T/g()*100:0,document.documentElement.classList.contains("dark")),label2:It(O>900?O/1e3:O)+(O>900?"k":"")+a(),title2:O.toFixed(2)+" "+a(),value2:isNaN(O)?0:O,color2:R()(O?O/A()*100:0)}}mr(()=>($(s()),$(b()),$(o()),$(f()),$(i()),$(p()),$(m()),$(d()),$(S()),$(k()),$(A()),$(g()),$(r())),()=>{let T=[],O=[];s()&&(T.push({label:"L1"}),O.push(H(b(),o()))),f()&&(i()?(T.push({label:"L2"}),O.push({label:"Not available",labelAngle:-90,title:"L2 current is not reported by your meter",value:0,color:"#7c3aedcc"})):(T.push({label:"L2"}),O.push(H(p(),m())))),d()&&(T.push({label:"L3"}),O.push(H(S(),k())));let C=[];if(A()){let B=A()>g()?4:A()*4/g();C.push({value:-A(),label:"-100%"}),B>=4&&C.push({value:-A()/4*3,label:"-75%"}),B>=2&&C.push({value:-A()/2,label:"-50%"}),B>=4&&C.push({value:-A()/4,label:"-25%"})}if(C.push({value:0,label:"0%"}),g()){let B=g()>A()?4:g()*4/A();C.push({value:g()/4,label:"25%"}),B>=4&&C.push({value:g()/2,label:"50%"}),B>=2&&C.push({value:g()/4*3,label:"75%"}),B>=4&&C.push({value:g(),label:"100%"})}E(Y,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:15,bottom:20,left:35},y:{min:-A(),max:g(),ticks:C},x:{ticks:T},points:O})}),wr(),Mt(),On(t,{get config(){return e(Y)}}),yt()}var Vl=F('
Tariff 1
Tariff 2
',1),Wd=F('
'),Bd=F('
'),Rn=F('
'),Ud=F('
'),on=F('
'),Hd=F('
');function zd(t,n){xt(n,!1);let r=W({}),a=W({}),s=W({}),f=W({}),i=W({}),d=W({}),b=W({}),p=W({}),S=W({});Co.subscribe(U=>E(r,U)),Sr.subscribe(U=>E(a,U)),vu.subscribe(U=>E(s,U)),uu.subscribe(U=>E(f,U)),Vs.subscribe(U=>E(i,U)),Xs.subscribe(U=>E(d,U)),fu.subscribe(U=>E(b,U)),Gr.subscribe(U=>E(p,U)),_u.subscribe(U=>E(S,U));let o=W(),m=W(),k=W(),g=W(),A=W(),P=W(),R=W(),Y=W(),H=W(),T=W();mr(()=>(e(r),e(Y),e(H),e(T)),()=>{E(o,Or(e(r)?.ic*1e3,"Wh")),E(m,Or(e(r)?.ec*1e3,"Wh")),E(k,Or(e(r)?.ict1*1e3,"Wh")),E(g,Or(e(r)?.ict2*1e3,"Wh")),E(A,Or(e(r)?.ect1*1e3,"Wh")),E(P,Or(e(r)?.ect2*1e3,"Wh")),e(r)?.l1?.u==0&&e(r)?.l2?.u==0&&e(r)?.l3?.u==0?E(Y,E(H,E(T,E(R,!0)))):(E(Y,e(r)?.l1?.u>0||e(r)?.l1?.i>0||e(r)?.l1?.p>0||e(r)?.l1?.q>0),E(H,e(r)?.l2?.u>0||e(r)?.l2?.i>0||e(r)?.l2?.p>0||e(r)?.l2?.q>0),E(T,e(r)?.l3?.u>0||e(r)?.l3?.i>0||e(r)?.l3?.p>0||e(r)?.l3?.q>0),E(R,e(Y)&&e(H)&&e(T)))}),wr(),Mt();var O=Hd(),C=c(O),B=U=>{var X=Wd(),xe=c(X),ue=c(xe),$e=c(ue);{let we=Ce(()=>(e(r),v(()=>e(r).i?e(r).i:0))),Pe=Ce(()=>(e(r),v(()=>e(r).im?e(r).im:15e3))),Te=Ce(()=>(e(p),v(()=>e(p).common?.import??"Import"))),Ne=Ce(()=>($(hi),e(r),v(()=>hi(e(r).p,e(r).pc))));Ul($e,{get val(){return e(we)},get max(){return e(Pe)},unit:"W",get label(){return e(Te)},get sub(){return e(Ne)},get colorFn(){return eo}})}u(ue);var D=l(ue,2),V=c(D,!0);u(D);var ne=l(D,2),Ee=c(ne);u(ne);var ce=l(ne,2),ye=we=>{var Pe=Vl(),Te=l(fe(Pe),2),Ne=c(Te);u(Te);var Ie=l(Te,4),ae=c(Ie);u(Ie),j(()=>{h(Ne,`${e(k),v(()=>e(k)[0])??""} ${e(k),v(()=>e(k)[1])??""}`),h(ae,`${e(g),v(()=>e(g)[0])??""} ${e(g),v(()=>e(g)[1])??""}`)}),q(we,Pe)};I(ce,we=>{e(r),v(()=>e(r)?.ict1>0||e(r)?.ict2>0)&&we(ye)}),u(xe),u(X),j(we=>{h(V,we),h(Ee,`${e(o),v(()=>e(o)[0])??""} ${e(o),v(()=>e(o)[1])??""}`)},[()=>(e(r),$(bo),v(()=>e(r).mt?bo(e(r).mt):"-"))]),q(U,X)},J=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.i,e(r).i))));I(C,U=>{e(J)&&U(B)});var te=l(C,2),se=U=>{var X=Bd(),xe=c(X),ue=c(xe),$e=c(ue);{let ce=Ce(()=>(e(r),v(()=>e(r).e?e(r).e:0))),ye=Ce(()=>(e(r),v(()=>e(r).om?e(r).om*1e3:1e4))),we=Ce(()=>(e(p),v(()=>e(p).common?.export??"Export"))),Pe=Ce(()=>($(hi),e(r),v(()=>hi(e(r).px,e(r).pc))));Ul($e,{get val(){return e(ce)},get max(){return e(ye)},unit:"W",get label(){return e(we)},get sub(){return e(Pe)},get colorFn(){return vi}})}u(ue);var D=l(ue,4),V=c(D);u(D);var ne=l(D,2),Ee=ce=>{var ye=Vl(),we=l(fe(ye),2),Pe=c(we);u(we);var Te=l(we,4),Ne=c(Te);u(Te),j(()=>{h(Pe,`${e(A),v(()=>e(A)[0])??""} ${e(A),v(()=>e(A)[1])??""}`),h(Ne,`${e(P),v(()=>e(P)[0])??""} ${e(P),v(()=>e(P)[1])??""}`)}),q(ce,ye)};I(ne,ce=>{e(r),v(()=>e(r)?.ect1>0||e(r)?.ect2>0)&&ce(Ee)}),u(xe),u(X),j(()=>h(V,`${e(m),v(()=>e(m)[0])??""} ${e(m),v(()=>e(m)[1])??""}`)),q(U,X)},le=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.e,e(r).om||e(r).e>0))));I(te,U=>{e(le)&&U(se)});var qe=l(te,2),K=U=>{var X=Rn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).common?.voltage??"Volt")));gd($e,{get title(){return e(D)},get u1(){return e(r),v(()=>e(r).l1.u)},get u2(){return e(r),v(()=>e(r).l2.u)},get u3(){return e(r),v(()=>e(r).l3.u)},get ds(){return e(r),v(()=>e(r).ds)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},x=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.v,e(r).l1&&(e(r).l1.u>100||e(r).l2.u>100||e(r).l3.u>100)))));I(qe,U=>{e(x)&&U(K)});var _=l(qe,2),w=U=>{var X=Rn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).common?.amperage??"Amp"))),V=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l1.i),0)))),ne=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l2.i),0)))),Ee=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l3.i),0))));Jo($e,{get title(){return e(D)},unit:"A",get importColorFn(){return eo},get exportColorFn(){return vi},get maxImport(){return e(r),v(()=>e(r).mf)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l2x(){return e(r),v(()=>e(r).l2.e)},get l1i(){return e(V)},get l2i(){return e(ne)},get l3i(){return e(Ee)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},y=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.a,e(r).l1&&(e(r).l1.i>.01||e(r).l2.i>.01||e(r).l3.i>.01)))));I(_,U=>{e(y)&&U(w)});var M=l(_,2),N=U=>{var X=Rn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).dashboard?.phase??"Phase"))),V=Ce(()=>(e(r),v(()=>(e(r).mf?e(r).mf:32)*230))),ne=Ce(()=>(e(r),e(R),v(()=>e(r).om?e(R)?e(r).om*1e3/Math.sqrt(3):e(r).om*1e3:0)));Jo($e,{get title(){return e(D)},unit:"W",get importColorFn(){return eo},get exportColorFn(){return vi},get maxImport(){return e(V)},get maxExport(){return e(ne)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),v(()=>e(r).l1.p)},get l2i(){return e(r),v(()=>e(r).l2.p)},get l3i(){return e(r),v(()=>e(r).l3.p)},get l1e(){return e(r),v(()=>e(r).l1.q)},get l2e(){return e(r),v(()=>e(r).l2.q)},get l3e(){return e(r),v(()=>e(r).l3.q)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},z=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.h,e(r).l1&&(e(r).l1.p>.01||e(r).l2.p>.01||e(r).l3.p>.01||e(r).l1.q>.01||e(r).l2.q>.01||e(r).l3.q>.01)))));I(M,U=>{e(z)&&U(N)});var Z=l(M,2),ge=U=>{var X=Rn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).dashboard?.pf??"Pf")));Jo($e,{get title(){return e(D)},get importColorFn(){return vi},get exportColorFn(){return vi},maxImport:1,get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),v(()=>e(r).l1.f)},get l2i(){return e(r),v(()=>e(r).l2.f)},get l3i(){return e(r),v(()=>e(r).l3.f)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},We=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.f,e(r).l1&&(e(r).l1.f>.01||e(r).l2.f>.01||e(r).l3.f>.01)))));I(Z,U=>{e(We)&&U(ge)});var Oe=l(Z,2),He=U=>{var X=Rn();xd(c(X),{get importInstant(){return e(r),v(()=>e(r).ri)},get exportInstant(){return e(r),v(()=>e(r).re)},get importTotal(){return e(r),v(()=>e(r).ric)},get exportTotal(){return e(r),v(()=>e(r).rec)},get translations(){return e(p)}}),u(X),q(U,X)},pt=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.r,e(r).ri>0||e(r).re>0||e(r).ric>0||e(r).rec>0))));I(Oe,U=>{e(pt)&&U(He)});var Ze=l(Oe,2),Et=U=>{var X=Rn(),xe=c(X);{let ue=Ce(()=>(e(r),v(()=>e(r).om>0||e(r).e>0)));Sd(xe,{get sysinfo(){return e(a)},get data(){return e(r),v(()=>e(r).ea)},get currency(){return e(r),v(()=>e(r).pc)},get hasExport(){return e(ue)},get translations(){return e(p)}})}u(X),q(U,X)},be=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.c,e(r).ea))));I(Ze,U=>{e(be)&&U(Et)});var Le=l(Ze,2),Ve=U=>{var X=Ud(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.tariffpeak??"Tariff peaks")));Td(xe,{get title(){return e(ue)},get tariffData(){return e(S)},get realtime(){return e(r),v(()=>e(r).ea)},get translations(){return e(p)}})}u(X),q(U,X)},ct=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.t,e(r).pr&&(e(r).pr.startsWith("NO")||e(r).pr.startsWith("10YNO")||e(r).pr.startsWith("10Y1001A1001A4"))))));I(Le,U=>{e(ct)&&U(Ve)});var Ge=l(Le,2),ht=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.realtime??"Real time")));Id(xe,{get title(){return e(ue)}})}u(X),q(U,X)},ut=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.l,e(r).hm==1))));I(Ge,U=>{e(ut)&&U(ht)});var mt=l(Ge,2),kr=U=>{var X=qr(),xe=fe(X),ue=D=>{var V=on(),ne=c(V);{let Ee=Ce(()=>(e(p),v(()=>e(p).dashboard?.price_import??"Price import")));Qo(ne,{get title(){return e(Ee)},get json(){return e(s)},get sysinfo(){return e(a)}})}u(V),q(D,V)},$e=D=>{var V=on(),ne=c(V);{let Ee=Ce(()=>(e(p),v(()=>e(p).dashboard?.price??"Price")));Qo(ne,{get title(){return e(Ee)},get json(){return e(s)},get sysinfo(){return e(a)}})}u(V),q(D,V)};I(xe,D=>{e(s),e(r),v(()=>e(s)?.importExportPriceDifferent&&(e(r).om||e(r).e>0))?D(ue):D($e,-1)}),q(U,X)},Ir=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.p,e(r).p&&!Number.isNaN(e(r).p)))));I(mt,U=>{e(Ir)&&U(kr)});var Tr=l(mt,2),ke=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.price_export??"Price export")));Qo(xe,{get title(){return e(ue)},get json(){return e(f)},get sysinfo(){return e(a)}})}u(X),q(U,X)},je=er(()=>(e(s),e(r),$(jt),e(a),v(()=>e(s)?.importExportPriceDifferent&&(e(r).om||e(r).e>0)&&jt(e(a).ui.p,e(r).pe&&!Number.isNaN(e(r).pe)))));I(Tr,U=>{e(je)&&U(ke)});var ze=l(Tr,2),tt=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.day??"24 hours")));qd(xe,{get title(){return e(ue)},get json(){return e(i)},get sysinfo(){return e(a)}})}u(X),q(U,X)},Bt=er(()=>($(jt),e(a),e(i),v(()=>jt(e(a).ui.d,e(i)))));I(ze,U=>{e(Bt)&&U(tt)});var ft=l(ze,2),Ft=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.month??"{0} days")));Md(xe,{get title(){return e(ue)},get json(){return e(d)},get sysinfo(){return e(a)}})}u(X),q(U,X)},Kt=er(()=>($(jt),e(a),e(d),v(()=>jt(e(a).ui.m,e(d)))));I(ft,U=>{e(Kt)&&U(Ft)});var Nr=l(ft,2),gr=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.temperature??"Temperature")));Ed(xe,{get title(){return e(ue)},get json(){return e(b)}})}u(X),q(U,X)},_e=er(()=>($(jt),e(a),e(r),e(b),v(()=>jt(e(a).ui.s,e(r).t&&e(r).t!=-127&&e(b).c>1))));I(Nr,U=>{e(_e)&&U(gr)}),u(O),q(t,O),yt()}var Ss={},mi=Qr(Ss);async function Yd(){Ss=await(await fetch("configuration.json")).json(),mi.set(Ss)}var qs={},bu=Qr(qs);async function Gd(){qs=await(await fetch("priceconfig.json")).json(),bu.set(qs)}var Kd=F(" ",1),Vd=F(""),Xd=F(" ",1);function Ms(t,n){xt(n,!1);let r=de(n,"chip",8),a=W(39);mr(()=>$(r()),()=>{switch(r()){case"esp8266":E(a,16);break;case"esp32s2":E(a,44);break;case"esp32s3":E(a,46);break;case"esp32c3":E(a,21);break}}),wr();var s=Xd(),f=fe(s);f.value=f.__value=-1;var i=l(f,2),d=p=>{var S=Kd(),o=fe(S);o.value=o.__value=3;var m=l(o,2);m.value=m.__value=113,q(p,S)};I(i,p=>{r()=="esp8266"&&p(d)});var b=l(i,2);Gt(b,1,()=>({length:e(a)+1}),Yt,(p,S,o)=>{var m=qr(),k=fe(m),g=A=>{var P=Vd();P.textContent=`GPIO${o}`,P.value=P.__value=o,q(A,P)};I(k,A=>{o>1&&!(r()=="esp8266"&&(o==3||o==113))&&A(g)}),q(p,m)}),q(t,s),yt()}var Qd=F('
'),Zd=F('
');function jr(t,n){let r=de(n,"active",8),a=de(n,"message",8);var s=qr(),f=fe(s),i=d=>{var b=Zd(),p=c(b),S=c(p),o=m=>{var k=Qd(),g=c(k,!0);u(k),j(()=>h(g,a())),q(m,k)};I(S,m=>{a()&&m(o)}),u(p),u(b),q(d,b)};I(f,d=>{r()&&d(i)}),q(t,s)}var Jd=F(""),e_=F(" ",1);function t_(t){let n=["Amsterdam","Athens","Belfast","Berlin","Bratislava","Brussels","Bucharest","Budapest","Copenhagen","Dublin","Helsinki","Lisbon","Ljubljana","London","Luxembourg","Madrid","Malta","Nicosia","Oslo","Paris","Prague","Riga","Rome","Sofia","Stockholm","Tallinn","Vienna","Vilnius","Warsaw","Zagreb","Zurich"];var r=e_(),a=l(fe(r),2);Gt(a,1,()=>n,Yt,(s,f)=>{var i=Jd(),d=c(i);u(i),j(()=>h(d,`Europe/${e(f)??""}`)),q(s,i)}),q(t,r)}var r_=F(' ',1);function xu(t){var n=r_(),r=fe(n),a=c(r);a.value=a.__value="255.255.255.0",u(r);var s=l(r,2),f=c(s);f.value=f.__value="255.255.255.128";var i=l(f,2);i.value=i.__value="255.255.255.192";var d=l(i,2);d.value=d.__value="255.255.255.224";var b=l(d,2);b.value=b.__value="255.255.255.240";var p=l(b,2);p.value=p.__value="255.255.255.248",u(s);var S=l(s,2),o=c(S);o.value=o.__value="255.255.254.0";var m=l(o,2);m.value=m.__value="255.255.252.0";var k=l(m,2);k.value=k.__value="255.255.0.0",u(S),q(t,n)}var a_=F('

');function n_(t,n){xt(n,!1);let r=de(n,"cfg",12),a=de(n,"item",8),s=de(n,"translations",24,()=>({}));Mt();var f=a_(),i=c(f,!0),d=l(i,3),b=c(d),p=c(b,!0);u(b),b.value=b.__value=0;var S=l(b),o=c(S,!0);u(S),S.value=S.__value=1;var m=l(S),k=c(m,!0);u(m),m.value=m.__value=2,u(d),u(f),j(()=>{h(i,($(s()),$(a()),v(()=>s().conf?.ui?.[a().key]??a().name))),Q(d,"name",`u${$(a()),v(()=>a().key)??""}`),h(p,($(s()),v(()=>s().conf?.ui?.disabled??"Disabled"))),h(o,($(s()),v(()=>s().conf?.ui?.enabled??"Enabled"))),h(k,($(s()),v(()=>s().conf?.ui?.auto??"Auto")))}),At(d,()=>r()[a().key],g=>(r(r()[a().key]=g,!0),G(()=>{a(),s()}))),q(t,f),yt()}var i_=Pu(((t,n)=>{(function(r,a){typeof t=="object"&&typeof n<"u"?n.exports=a():typeof define=="function"&&define.amd?define(a):r.QRious=a()})(t,(function(){"use strict";var r=function(){},a=Object.prototype.hasOwnProperty,s=Array.prototype.slice;function f(x,_){var w;return typeof Object.create=="function"?w=Object.create(x):(r.prototype=x,w=new r,r.prototype=null),_&&d(!0,w,_),w}function i(x,_,w,y){var M=this;return typeof x!="string"&&(y=w,w=_,_=x,x=null),typeof _!="function"&&(y=w,w=_,_=function(){return M.apply(this,arguments)}),d(!1,_,M,y),_.prototype=f(M.prototype,w),_.prototype.constructor=_,_.class_=x||M.class_,_.super_=M,_}function d(x,_,w){w=s.call(arguments,2);for(var y,M,N=0,z=w.length;N>1&1,y=0;y0;_--)y[_]=y[_]?y[_-1]^A.EXPONENT[R._modN(A.LOG[y[_]]+x)]:y[_-1];y[0]=A.EXPONENT[R._modN(A.LOG[y[0]]+x)]}for(x=0;x<=w;x++)y[x]=A.LOG[y[x]]},_checkBadness:function(){var x,_,w,y,M,N=0,z=this._badness,Z=this.buffer,ge=this.width;for(M=0;Mge*ge;)He-=ge*ge,Oe++;for(N+=Oe*R.N4,y=0;y=z-2&&(x=z-2,M>9&&x--);var Z=x;if(M>9){for(N[Z+2]=0,N[Z+3]=0;Z--;)_=N[Z],N[Z+3]|=255&_<<4,N[Z+2]=_>>4;N[2]|=255&x<<4,N[1]=x>>4,N[0]=64|x>>12}else{for(N[Z+1]=0,N[Z+2]=0;Z--;)_=N[Z],N[Z+2]|=255&_<<4,N[Z+1]=_>>4;N[1]|=255&x<<4,N[0]=64|x>>4}for(Z=x+3-(M<10);Z=5&&(w+=R.N1+y[_]-5);for(_=3;_x||y[_-3]*3>=y[_]*4||y[_+3]*3>=y[_]*4)&&(w+=R.N3);return w},_finish:function(){this._stringBuffer=this.buffer.slice();var x,_,w=0,y=3e4;for(_=0;_<8&&(this._applyMask(_),x=this._checkBadness(),x>=1)y&1&&(M[N-1-_+N*8]=1,_<6?M[8+N*_]=1:M[8+N*(_+1)]=1);for(_=0;_<7;_++,y>>=1)y&1&&(M[8+N*(N-7+_)]=1,_?M[6-_+N*8]=1:M[7+N*8]=1)},_interleaveBlocks:function(){var x,_,w=this._dataBlock,y=this._ecc,M=this._eccBlock,N=0,z=this._calculateMaxLength(),Z=this._neccBlock1,ge=this._neccBlock2,We=this._stringBuffer;for(x=0;x1)for(x=k.BLOCK[y],w=M-7;;){for(_=M-7;_>x-3&&(this._addAlignment(_,w),!(_6)for(x=P.BLOCK[N-7],_=17,w=0;w<6;w++)for(y=0;y<3;y++,_--)1&(_>11?N>>_-12:x>>_)?(M[5-w+z*(2-y+z-11)]=1,M[2-y+z-11+z*(5-w)]=1):(this._setMask(5-w,2-y+z-11),this._setMask(2-y+z-11,5-w))},_isMasked:function(x,_){var w=R._getMaskBit(x,_);return this._mask[w]===1},_pack:function(){var x,_,w,y=1,M=1,N=this.width,z=N-1,Z=N-1,ge=(this._dataBlock+this._eccBlock)*(this._neccBlock1+this._neccBlock2)+this._neccBlock2;for(_=0;__&&(w=x,x=_,_=w),w=_,w+=_*_,w>>=1,w+=x,w},_modN:function(x){for(;x>=255;)x-=255,x=(x>>8)+(x&255);return x},N1:3,N2:3,N3:40,N4:10}),Y=R,H=o.extend({draw:function(){this.element.src=this.qrious.toDataURL()},reset:function(){this.element.src=""},resize:function(){var x=this.element;x.width=x.height=this.qrious.size}}),T=S.extend(function(x,_,w,y){this.name=x,this.modifiable=!!_,this.defaultValue=w,this._valueTransformer=y},{transform:function(x){var _=this._valueTransformer;return typeof _=="function"?_(x,this):x}}),O=S.extend(null,{abs:function(x){return x!=null?Math.abs(x):null},hasOwn:function(x,_){return Object.prototype.hasOwnProperty.call(x,_)},noop:function(){},toUpperCase:function(x){return x!=null?x.toUpperCase():null}}),C=S.extend(function(x){this.options={},x.forEach(function(_){this.options[_.name]=_},this)},{exists:function(x){return this.options[x]!=null},get:function(x,_){return C._get(this.options[x],_)},getAll:function(x){var _,w=this.options,y={};for(_ in w)O.hasOwn(w,_)&&(y[_]=C._get(w[_],x));return y},init:function(x,_,w){typeof w!="function"&&(w=O.noop);var y,M;for(y in this.options)O.hasOwn(this.options,y)&&(M=this.options[y],C._set(M,M.defaultValue,_),C._createAccessor(M,_,w));this._setAll(x,_,!0)},set:function(x,_,w){return this._set(x,_,w)},setAll:function(x,_){return this._setAll(x,_)},_set:function(x,_,w,y){var M=this.options[x];if(!M)throw new Error("Invalid option: "+x);if(!M.modifiable&&!y)throw new Error("Option cannot be modified: "+x);return C._set(M,_,w)},_setAll:function(x,_,w){if(!x)return!1;var y,M=!1;for(y in x)O.hasOwn(x,y)&&this._set(y,x[y],_,w)&&(M=!0);return M}},{_createAccessor:function(x,_,w){var y={get:function(){return C._get(x,_)}};x.modifiable&&(y.set=function(M){C._set(x,M,_)&&w(M,x)}),Object.defineProperty(_,x.name,y)},_get:function(x,_){return _["_"+x.name]},_set:function(x,_,w){var y="_"+x.name,M=w[y],N=x.transform(_??x.defaultValue);return w[y]=N,N!==M}}),B=C,J=S.extend(function(){this._services={}},{getService:function(x){var _=this._services[x];if(!_)throw new Error("Service is not being managed with name: "+x);return _},setService:function(x,_){if(this._services[x])throw new Error("Service is already managed with name: "+x);_&&(this._services[x]=_)}}),te=new B([new T("background",!0,"white"),new T("backgroundAlpha",!0,1,O.abs),new T("element"),new T("foreground",!0,"black"),new T("foregroundAlpha",!0,1,O.abs),new T("level",!0,"L",O.toUpperCase),new T("mime",!0,"image/png"),new T("padding",!0,null,O.abs),new T("size",!0,100,O.abs),new T("value",!0,"")]),se=new J,le=S.extend(function(x){te.init(x,this,this.update.bind(this));var _=te.get("element",this),w=se.getService("element"),y=_&&w.isCanvas(_)?_:w.createCanvas(),M=_&&w.isImage(_)?_:w.createImage();this._canvasRenderer=new m(this,y,!0),this._imageRenderer=new H(this,M,M===_),this.update()},{get:function(){return te.getAll(this)},set:function(x){te.setAll(x,this)&&this.update()},toDataURL:function(x){return this.canvas.toDataURL(x||this.mime)},update:function(){var x=new Y({level:this.level,value:this.value});this._canvasRenderer.render(x),this._imageRenderer.render(x)}},{use:function(x){se.setService(x.getName(),x)}});Object.defineProperties(le.prototype,{canvas:{get:function(){return this._canvasRenderer.getElement()}},image:{get:function(){return this._imageRenderer.getElement()}}});var qe=le,K=S.extend({getName:function(){}}).extend({createCanvas:function(){},createImage:function(){},getName:function(){return"element"},isCanvas:function(x){},isImage:function(x){}}).extend({createCanvas:function(){return document.createElement("canvas")},createImage:function(){return document.createElement("img")},isCanvas:function(x){return x instanceof HTMLCanvasElement},isImage:function(x){return x instanceof HTMLImageElement}});return qe.use(new K),qe}))})),o_=Cu(i_()),s_=F("");function l_(t,n){xt(n,!1);let r=de(n,"errorCorrection",8,"L"),a=de(n,"background",8,"#fff"),s=de(n,"color",8,"#000"),f=de(n,"size",8,"200"),i=de(n,"value",8,""),d=de(n,"padding",8,0),b=de(n,"className",8,"qrcode"),p=W(""),S=W();function o(){e(S).set({background:a(),foreground:s(),level:r(),padding:d(),size:f(),value:i()}),E(p,e(S).toDataURL("image/jpeg"))}function m(){return e(p)}Oo(()=>{E(S,new o_.default),i()&&o()}),mr(()=>($(i()),e(S)),()=>{i()&&e(S)&&o()}),wr();var k={getImage:m};Mt();var g=s_();return j(()=>{Q(g,"src",e(p)),Q(g,"alt",i()),Vr(g,1,ln(b()))}),q(t,g),hf(n,"getImage",m),yt(k)}var Vi=F("",1),v_=F(" ",1),jn=F(""),u_=F('
',1),c_=F('


👁️
',1),f_=F('







'),d_=F(""),__=F(""),p_=F('
'),h_=F('



',1),m_=F('
'),g_=F('
',1),b_=F('

'),x_=F('
',1),y_=F('




'),w_=F(' ',1),k_=F('




'),$_=F(''),S_=F(''),q_=F(''),M_=F('


👁️


dBm
',1),E_=F('
'),T_=F('


',1),A_=F('


'),P_=F(''),O_=F(' 🗑',1),C_=F(''),N_=F(' 🗑',1),L_=F(''),D_=F(' 🗑',1),R_=F(''),j_=F('
'),F_=F('



👁️




'),I_=F('


'),W_=F('



'),B_=F(''),U_=F(''),H_=F('
',1),z_=F('
'),Y_=F('
'),G_=F('
',1),K_=F('
'),V_=F('
',1),X_=F('
'),Q_=F(''),Z_=F('
'),J_=F('
'),ep=F('

'),tp=F('

'),rp=F('







',1),ap=F('
'),np=F('Power saving: ',1),ip=F('

'),op=F('


',1),sp=F('
'),lp=F('
'),vp=F('
',1),up=F('
'),cp=F('
',1),fp=F('
'),dp=F('
',1);function _p(t,n){xt(n,!1);let r="/",a=W({}),s=W();Sr.subscribe(D=>E(a,D)),Co.subscribe(D=>E(s,D));let f=W(),i=W({});Gr.subscribe(D=>{E(i,D)});let d=[{name:"Import gauge",key:"i"},{name:"Export gauge",key:"e"},{name:"Voltage",key:"v"},{name:"Amperage",key:"a"},{name:"Per phase",key:"h"},{name:"Power factor",key:"f"},{name:"Reactive",key:"r"},{name:"Realtime",key:"c"},{name:"Peaks",key:"t"},{name:"Realtime plot",key:"l"},{name:"Price",key:"p"},{name:"Day plot",key:"d"},{name:"Month plot",key:"m"},{name:"Temperature plot",key:"s"},{name:"Dark mode",key:"k"}],b=W(!0),p=W(!1),S=W(!1),o=W(),m=W([]);mi.subscribe(D=>{D.version&&(E(S,D?.c?.e),E(o,D),E(b,!1),E(m,[{code:"en",name:"English"}]),e(o)?.u?.lang&&e(o).u.lang!="en"&&e(m).push({code:e(o).u.lang,name:e(i).language?.name??"Unknown"}),e(m).push({code:"hub",name:"Load from server"}))}),Yd();let k=W(!0),g=W({});Qs.subscribe(D=>{E(k,!0);for(let V=0;V(ce.hostname=V.get("gh"),ce.usrcfg=Ee.success,ce.booting=Ee.reboot,V.get("nm")=="static"&&(ce.net.ip=V.get("ni"),ce.net.mask=V.get("nu"),ce.net.gw=V.get("ng"),ce.net.dns1=V.get("nd")),ce.ui=e(o).u,ce)),E(p,!1),Za(r)}async function H(){await(await fetch("reboot",{method:"POST"})).json()}const T=function(){confirm("Reboot?")&&(Sr.update(D=>(D.booting=!0,D)),H())};async function O(){confirm("Are you sure you want to delete CA?")&&(await(await fetch("mqtt-ca",{method:"POST"})).text(),mi.update(D=>(D.q.s.c=!1,D)))}async function C(){confirm("Are you sure you want to delete cert?")&&(await(await fetch("mqtt-cert",{method:"POST"})).text(),mi.update(D=>(D.q.s.r=!1,D)))}async function B(){confirm("Are you sure you want to delete key?")&&(await(await fetch("mqtt-key",{method:"POST"})).text(),mi.update(D=>(D.q.s.k=!1,D)))}const J=function(){e(o).q.s.e?e(o).q.p==1883&&(ee(o,e(o).q.p=8883),G(()=>{e(i),e(a),e(g),e(m)})):e(o).q.p==8883&&(ee(o,e(o).q.p=1883),G(()=>{e(i),e(a),e(g),e(m)}))};async function te(){if(e(o).u.lang=="hub"){const D=await oa("http://hub.amsleser.no/hub/language/list.json");E(m,await D.json()),ee(o,e(o).u.lang=e(i).language.code),G(()=>{e(i),e(a),e(g),e(m)})}}async function se(){ee(o,e(o).p.e=!0),G(()=>{e(i),e(a),e(g),e(m)})}let le=W(44);async function qe(){const D=await oa("cloudkey.json");if(D.status==200){let V=await D.json();window.open("https://www.amsleser.cloud/device/"+V.seed)}else alert("Not able to bind to cloud")}const K=window||global;K.bindToCloud=function(){console.log("BIND CALLED")};async function x(){const D=e(f).querySelector('input[name="wp"]');y.call(this,D)}async function _(){const D=e(f).querySelector('input[name="qa"]');y.call(this,D)}async function w(){const D=e(f).querySelector('input[name="gp"]');y.call(this,D)}async function y(D){D.type==="password"?(D.type="text",this.textContent="🙈"):(D.type="password",this.textContent="👁️")}mr(()=>e(a),()=>{E(le,e(a).chip=="esp8266"?16:e(a).chip=="esp32s2"?44:39)}),wr(),Mt();var M=dp(),N=fe(M),z=c(N),Z=c(z),ge=D=>{var V=f_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe),Ne=c(Te,!0),Ie=l(Ne,3);ve(Ie),u(Te);var ae=l(Te,2),pe=c(ae,!0),me=l(pe,3);dn(me,()=>{var qt=c(me),Ar=Vi();t_(fe(Ar),{}),q(qt,Ar)}),u(ae),u(Pe),u(we);var he=l(we,2),oe=l(he,2),Ae=c(oe),re=c(Ae),ie=c(re,!0),Se=l(ie,3),Fe=c(Se),De=c(Fe),gt=qt=>{var Ar=v_(),xr=fe(Ar);xr.value=xr.__value="NO1S";var sa=l(xr,2);sa.value=sa.__value="NO2S";var ra=l(sa,2);ra.value=ra.__value="NO3S";var Ln=l(ra,2);Ln.value=Ln.__value="NO4S";var ni=l(Ln,2);ni.value=ni.__value="NO5S",q(qt,Ar)};I(De,qt=>{e(o),v(()=>!e(o).p.t)&&qt(gt)});var dt=l(De,2);dt.value=dt.__value="10YNO-1--------2";var rt=l(dt,2);rt.value=rt.__value="10YNO-2--------T";var at=l(rt,2);at.value=at.__value="10YNO-3--------J";var Xe=l(at,2);Xe.value=Xe.__value="10YNO-4--------9";var bt=l(Xe,2);bt.value=bt.__value="10Y1001A1001A48H",u(Fe);var wt=l(Fe),Ut=c(wt);Ut.value=Ut.__value="10Y1001A1001A44P";var tr=l(Ut,2);tr.value=tr.__value="10Y1001A1001A45N";var ar=l(tr,2);ar.value=ar.__value="10Y1001A1001A46L";var vt=l(ar,2);vt.value=vt.__value="10Y1001A1001A47J",u(wt);var nr=l(wt),Pt=c(nr);Pt.value=Pt.__value="10YDK-1--------W";var ir=l(Pt,2);ir.value=ir.__value="10YDK-2--------M",u(nr);var lr=l(nr),Lr=c(lr);Lr.value=Lr.__value="10Y1001A1001A73I";var vr=l(Lr,2);vr.value=vr.__value="10Y1001A1001A70O";var Ur=l(vr,2);Ur.value=Ur.__value="10Y1001A1001A71M";var _r=l(Ur,2);_r.value=_r.__value="10Y1001A1001A788";var Be=l(_r,2);Be.value=Be.__value="10Y1001C--00096J";var Je=l(Be,2);Je.value=Je.__value="10Y1001A1001A75E";var Tt=l(Je,2);Tt.value=Tt.__value="10Y1001A1001A74G",u(lr);var Ht=l(lr);Ht.value=Ht.__value="10YAL-KESH-----5";var Nt=l(Ht);Nt.value=Nt.__value="10YAT-APG------L";var Vt=l(Nt);Vt.value=Vt.__value="10YBE----------2";var or=l(Vt);or.value=or.__value="10YCA-BULGARIA-R";var Ot=l(or);Ot.value=Ot.__value="10YHR-HEP------M";var sr=l(Ot);sr.value=sr.__value="10YCZ-CEPS-----N";var nt=l(sr);nt.value=nt.__value="10Y1001A1001A39I";var it=l(nt);it.value=it.__value="10YFI-1--------U";var St=l(it);St.value=St.__value="10YFR-RTE------C";var zt=l(St);zt.value=zt.__value="10Y1001A1001A82H";var Dt=l(zt);Dt.value=Dt.__value="10YGR-HTSO-----Y";var rr=l(Dt);rr.value=rr.__value="10YHU-MAVIR----U";var Ct=l(rr);Ct.value=Ct.__value="10Y1001A1001A59C";var Rt=l(Ct);Rt.value=Rt.__value="10Y1001C--00100H";var Mr=l(Rt);Mr.value=Mr.__value="10YLV-1001A00074";var Xt=l(Mr);Xt.value=Xt.__value="10YLT-1001A0008Q";var ur=l(Xt);ur.value=ur.__value="10YCS-CG-TSO---S";var pr=l(ur);pr.value=pr.__value="10YNL----------L";var Qt=l(pr);Qt.value=Qt.__value="10YMK-MEPSO----8";var Ye=l(Qt);Ye.value=Ye.__value="10YPL-AREA-----S";var Zt=l(Ye);Zt.value=Zt.__value="10YPT-REN------W";var Hr=l(Zt);Hr.value=Hr.__value="10YRO-TEL------P";var Wr=l(Hr);Wr.value=Wr.__value="10YCS-SERBIATSOV";var Jr=l(Wr);Jr.value=Jr.__value="10YSK-SEPS-----K";var qa=l(Jr);qa.value=qa.__value="10YSI-ELES-----O";var ea=l(qa);ea.value=ea.__value="10YES-REE------0";var Ci=l(ea);Ci.value=Ci.__value="10YCH-SWISSGRIDZ",u(Se),u(re);var ot=l(re,2),Ma=c(ot,!0),ta=l(Ma,3);Gt(ta,4,()=>[15,60],Yt,(qt,Ar)=>{var xr=jn(),sa=c(xr);u(xr);var ra={};j(()=>{h(sa,`${Ar??""}M`),ra!==(ra=Ar)&&(xr.value=(xr.__value=Ar)??"")}),q(qt,xr)}),u(ta),u(ot);var Cn=l(ot,2),Ni=c(Cn,!0),ti=l(Ni,3);Gt(ti,4,()=>["NOK","SEK","DKK","EUR","CHF"],Yt,(qt,Ar)=>{var xr=jn(),sa=c(xr,!0);u(xr);var ra={};j(()=>{h(sa,Ar),ra!==(ra=Ar)&&(xr.value=(xr.__value=Ar)??"")}),q(qt,xr)}),u(ti),u(Cn),u(Ae),u(oe);var tn=l(oe,2),Li=c(tn),No=c(Li,!0);u(Li),u(tn);var ri=l(tn,2),Nn=c(ri),rn=c(Nn);ve(rn),rn.value=rn.__value="true";var Lo=l(rn);u(Nn);var Do=l(Nn,2),br=qt=>{var Ar=u_(),xr=fe(Ar);ve(xr),Rr(3),Me(xr,()=>e(o).p.t,sa=>(ee(o,e(o).p.t=sa),G(()=>{e(i),e(a),e(g),e(m)}))),q(qt,Ar)};I(Do,qt=>{e(o),e(a),v(()=>e(o).p.e&&e(a).chip!="esp8266"&&e(o).p.t)&&qt(br)}),u(ri);var cr=l(ri,2),Er=c(cr,!0),Cr=l(Er,3),Dr=c(Cr),Ea=c(Dr,!0);u(Dr),Dr.value=Dr.__value=0;var ai=l(Dr),wu=c(ai,!0);u(ai),ai.value=ai.__value=1;var Di=l(ai),ku=c(Di,!0);u(Di),Di.value=Di.__value=2,u(Cr),u(cr);var el=l(cr,2),$u=qt=>{var Ar=c_(),xr=fe(Ar),sa=c(xr,!0),ra=l(sa,3);ve(ra),u(xr);var Ln=l(xr,2),ni=c(Ln,!0),al=l(ni,3),ji=c(al);ve(ji);var Su=l(ji,2);u(al),u(Ln),j(()=>{h(sa,(e(i),v(()=>e(i).conf?.general?.security?.username??"Username"))),Q(ra,"pattern",ja),h(ni,(e(i),v(()=>e(i).conf?.general?.security?.password??"Password"))),Q(ji,"pattern",ja)}),Me(ra,()=>e(o).g.u,Ro=>(ee(o,e(o).g.u=Ro),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ji,()=>e(o).g.p,Ro=>(ee(o,e(o).g.p=Ro),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("click",Su,w),q(qt,Ar)};I(el,qt=>{e(o),v(()=>e(o).g.s>0)&&qt($u)});var tl=l(el,2),rl=c(tl,!0),Ri=l(rl,3);ve(Ri),u(tl),u(V),j(qt=>{h(Ee,(e(i),v(()=>e(i).conf?.general?.title??"General"))),Q(ce,"href",qt),h(Ne,(e(i),v(()=>e(i).conf?.general?.hostname??"Hostname"))),Q(Ie,"pattern",to),h(pe,(e(i),v(()=>e(i).conf?.general?.timezone??"Time zone"))),h(ie,(e(i),v(()=>e(i).conf?.price?.region??"Price region"))),h(Ma,(e(i),v(()=>e(i).conf?.price?.resolution??"Resolution"))),h(Ni,(e(i),v(()=>e(i).conf?.price?.currency??"Currency"))),h(No,(e(i),v(()=>e(i).conf?.price?.conf??"Configure"))),h(Lo,` ${e(i),v(()=>e(i).conf?.price?.enabled??"Enabled")??""}`),h(Er,(e(i),v(()=>e(i).conf?.general?.security?.title??"Security"))),h(Ea,(e(i),v(()=>e(i).conf?.general?.security?.none??"None"))),h(wu,(e(i),v(()=>e(i).conf?.general?.security?.conf??"Conf"))),h(ku,(e(i),v(()=>e(i).conf?.general?.security?.all??"All"))),h(rl,(e(i),v(()=>e(i).conf?.general?.context??"Context"))),Q(Ri,"pattern",to),Q(Ri,"placeholder",(e(i),v(()=>e(i).conf?.general?.context_placeholder??"/")))},[()=>($(Jt),v(()=>Jt("general")))]),Me(Ie,()=>e(o).g.h,qt=>(ee(o,e(o).g.h=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(me,()=>e(o).g.t,qt=>(ee(o,e(o).g.t=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Se,()=>e(o).p.r,qt=>(ee(o,e(o).p.r=qt),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("change",Se,se),At(ta,()=>e(o).p.m,qt=>(ee(o,e(o).p.m=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(ti,()=>e(o).p.c,qt=>(ee(o,e(o).p.c=qt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(rn,()=>e(o).p.e,qt=>(ee(o,e(o).p.e=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Cr,()=>e(o).g.s,qt=>(ee(o,e(o).g.s=qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Ri,()=>e(o).g.c,qt=>(ee(o,e(o).g.c=qt),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Z,D=>{e(o),v(()=>e(o)?.g)&&D(ge)});var We=l(Z,2),Oe=D=>{var V=k_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=l(we,2),Te=c(Pe,!0),Ne=l(Te,3),Ie=c(Ne),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=0;var pe=l(Ie),me=c(pe,!0);u(pe),pe.value=pe.__value=2;var he=l(pe),oe=Be=>{var Je=d_();Je.value=Je.__value=9,q(Be,Je)},Ae=er(()=>(e(a),v(()=>e(a)?.features?.includes("kmp"))));I(he,Be=>{e(Ae)&&Be(oe)});var re=l(he),ie=Be=>{var Je=__();Je.value=Je.__value=18,q(Be,Je)};I(re,Be=>{e(a),v(()=>e(a)?.chip!="esp8266")&&Be(ie)}),u(Ne),u(Pe);var Se=l(Pe,2),Fe=Be=>{var Je=p_(),Tt=c(Je),Ht=c(Tt,!0);u(Tt);var Nt=l(Tt,2);ve(Nt),Q(Nt,"min",1),Q(Nt,"max",3600),u(Je),j(()=>h(Ht,(e(i),v(()=>e(i).conf?.meter?.pulses??"Pulses per kWh")))),Me(Nt,()=>e(o).m.b,Vt=>(ee(o,e(o).m.b=Vt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)},De=Be=>{var Je=h_(),Tt=fe(Je),Ht=l(Tt,2),Nt=l(Ht,2),Vt=l(Nt,2),or=c(Vt),Ot=c(or,!0),sr=l(Ot,3);ve(sr),u(or);var nt=l(or,2),it=c(nt,!0),St=l(it,3);ve(St),u(nt),u(Vt);var zt=l(Vt,2),Dt=c(zt,!0),rr=l(Dt,3);ve(rr),u(zt);var Ct=l(zt,2),Rt=c(Ct);ve(Rt),Rt.value=Rt.__value="true";var Mr=l(Rt);u(Ct),j(()=>{h(Ot,(e(i),v(()=>e(i).conf?.meter?.c1218?.userid??"User ID"))),h(it,(e(i),v(()=>e(i).conf?.meter?.c1218?.username??"Username"))),h(Dt,(e(i),v(()=>e(i).conf?.meter?.c1218?.password??"Password"))),h(Mr,` ${e(i),v(()=>e(i).conf?.meter?.c1218?.extended??"Read extended table 28")??""}`)}),Me(sr,()=>e(o).m.c.u,Xt=>(ee(o,e(o).m.c.u=Xt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(St,()=>e(o).m.c.n,Xt=>(ee(o,e(o).m.c.n=Xt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(rr,()=>e(o).m.c.p,Xt=>(ee(o,e(o).m.c.p=Xt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Rt,()=>e(o).m.c.x,Xt=>(ee(o,e(o).m.c.x=Xt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)},gt=Be=>{var Je=m_(),Tt=c(Je),Ht=c(Tt,!0);u(Tt);var Nt=l(Tt,2),Vt=c(Nt,!0);u(Nt);var or=l(Nt,2),Ot=c(or);ve(Ot),Ot.value=Ot.__value="true";var sr=l(Ot);u(or);var nt=l(or,2),it=c(nt),St=c(it);St.value=St.__value=0;var zt=l(St);Gt(zt,0,()=>[3,12,24,48,96,192,384,576,1152],Yt,(Qt,Ye)=>{var Zt=jn(),Hr=c(Zt,!0);u(Zt);var Wr={};j(()=>{h(Hr,Ye*100),Wr!==(Wr=Ye*100)&&(Zt.value=Zt.__value=Ye*100)}),q(Qt,Zt)}),u(it);var Dt=l(it,2),rr=c(Dt);rr.value=rr.__value=0;var Ct=l(rr);Ct.value=Ct.__value=2;var Rt=l(Ct);Rt.value=Rt.__value=3;var Mr=l(Rt);Mr.value=Mr.__value=7;var Xt=l(Mr);Xt.value=Xt.__value=10;var ur=l(Xt);ur.value=ur.__value=11,u(Dt);var pr=l(Dt,2);ve(pr),Q(pr,"min",64),Q(pr,"step",64),u(nt),u(Je),j(()=>{h(Ht,(e(i),v(()=>e(i).conf?.meter?.buffer??"Buffer size"))),h(Vt,(e(i),v(()=>e(i).conf?.meter?.serial??"Serial conf."))),h(sr,` ${e(i),v(()=>e(i).conf?.meter?.inverted??"inverted")??""}`),St.disabled=(e(o),v(()=>e(o).m.b!=0)),Dt.disabled=(e(o),v(()=>e(o).m.b==0)),rr.disabled=(e(o),v(()=>e(o).m.b!=0)),Q(pr,"max",(e(a),e(o),v(()=>e(a).chip=="esp8266"?e(o).i.h.p==3||e(o).i.h.p==113?512:256:4096)))}),hr(Ot,()=>e(o).m.i,Qt=>(ee(o,e(o).m.i=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(it,()=>e(o).m.b,Qt=>(ee(o,e(o).m.b=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Dt,()=>e(o).m.p,Qt=>(ee(o,e(o).m.p=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(pr,()=>e(o).m.s,Qt=>(ee(o,e(o).m.s=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)};I(Se,Be=>{e(o),v(()=>e(o).m.a===2)?Be(Fe):(e(o),v(()=>e(o).m.a===18)?Be(De,1):Be(gt,-1))});var dt=l(Se,2),rt=c(dt,!0),at=l(rt,3),Xe=c(at);Xe.value=Xe.__value=2;var bt=l(Xe);bt.value=bt.__value=1,u(at),u(dt);var wt=l(dt,2),Ut=c(wt),tr=c(Ut,!0),ar=l(tr,3),vt=c(ar);ve(vt),Rr(2),u(ar),u(Ut);var nr=l(Ut,2),Pt=c(nr,!0),ir=l(Pt,3),lr=c(ir);ve(lr),Rr(2),u(ir),u(nr),u(wt);var Lr=l(wt,4),vr=Be=>{var Je=x_(),Tt=fe(Je),Ht=c(Tt),Nt=c(Ht);ve(Nt),Nt.value=Nt.__value="true";var Vt=l(Nt);u(Ht);var or=l(Ht,2),Ot=it=>{var St=g_(),zt=l(fe(St));ve(zt),j(()=>Q(zt,"pattern",Fl)),Me(zt,()=>e(o).m.e.k,Dt=>(ee(o,e(o).m.e.k=Dt),G(()=>{e(i),e(a),e(g),e(m)}))),q(it,St)};I(or,it=>{e(o),v(()=>e(o).m.e.e)&&it(Ot)}),u(Tt);var sr=l(Tt,2),nt=it=>{var St=b_(),zt=c(St,!0),Dt=l(zt,3);ve(Dt),u(St),j(()=>{h(zt,(e(i),v(()=>e(i).conf?.meter?.authkey??"Authentication key"))),Q(Dt,"pattern",Fl)}),Me(Dt,()=>e(o).m.e.a,rr=>(ee(o,e(o).m.e.a=rr),G(()=>{e(i),e(a),e(g),e(m)}))),q(it,St)};I(sr,it=>{e(o),v(()=>e(o).m.e.e)&&it(nt)}),j(()=>h(Vt,` ${e(i),v(()=>e(i).conf?.meter?.encrypted??"Encrypted")??""}`)),hr(Nt,()=>e(o).m.e.e,it=>(ee(o,e(o).m.e.e=it),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)};I(Lr,Be=>{e(o),v(()=>e(o).m.a!==18)&&Be(vr)});var Ur=l(Lr,2),_r=Be=>{var Je=w_(),Tt=fe(Je),Ht=c(Tt);ve(Ht),Ht.value=Ht.__value="true";var Nt=l(Ht);u(Tt);var Vt=l(Tt,2),or=Ot=>{var sr=y_(),nt=c(sr),it=c(nt,!0),St=l(it,3);ve(St),u(nt);var zt=l(nt,2),Dt=c(zt,!0),rr=l(Dt,3);ve(rr),u(zt);var Ct=l(zt,2),Rt=c(Ct,!0),Mr=l(Rt,3);ve(Mr),u(Ct);var Xt=l(Ct,2),ur=c(Xt,!0),pr=l(ur,3);ve(pr),u(Xt),u(sr),j(()=>{h(it,(e(i),v(()=>e(i).conf?.meter?.multipliers?.watt??"Watt"))),h(Dt,(e(i),v(()=>e(i).conf?.meter?.multipliers?.volt??"Volt"))),h(Rt,(e(i),v(()=>e(i).conf?.meter?.multipliers?.amp??"Amp"))),h(ur,(e(i),v(()=>e(i).conf?.meter?.multipliers?.kwh??"kWh")))}),Me(St,()=>e(o).m.m.w,Qt=>(ee(o,e(o).m.m.w=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(rr,()=>e(o).m.m.v,Qt=>(ee(o,e(o).m.m.v=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Mr,()=>e(o).m.m.a,Qt=>(ee(o,e(o).m.m.a=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(pr,()=>e(o).m.m.c,Qt=>(ee(o,e(o).m.m.c=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ot,sr)};I(Vt,Ot=>{e(o),v(()=>e(o).m.m.e)&&Ot(or)}),j(()=>h(Nt,` ${e(i),v(()=>e(i).conf?.meter?.multipliers?.title??"Multipliers")??""}`)),hr(Ht,()=>e(o).m.m.e,Ot=>(ee(o,e(o).m.m.e=Ot),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)};I(Ur,Be=>{e(o),v(()=>e(o).m.a!==18)&&Be(_r)}),u(V),j(Be=>{h(Ee,(e(i),v(()=>e(i).conf?.meter?.title??"Meter"))),Q(ce,"href",Be),h(Te,(e(i),v(()=>e(i).conf?.meter?.comm?.title??"Communication"))),h(ae,(e(i),v(()=>e(i).conf?.meter?.comm?.passive??"Passive"))),h(me,(e(i),v(()=>e(i).conf?.meter?.comm?.pulse??"Pulse"))),h(rt,(e(i),v(()=>e(i).common?.voltage??"Voltage"))),h(tr,(e(i),v(()=>e(i).conf?.meter?.fuse??"Main fuse"))),h(Pt,(e(i),v(()=>e(i).conf?.meter?.prod??"Production")))},[()=>($(Jt),v(()=>Jt("meter")))]),At(Ne,()=>e(o).m.a,Be=>(ee(o,e(o).m.a=Be),G(()=>{e(i),e(a),e(g),e(m)}))),At(at,()=>e(o).m.d,Be=>(ee(o,e(o).m.d=Be),G(()=>{e(i),e(a),e(g),e(m)}))),Me(vt,()=>e(o).m.f,Be=>(ee(o,e(o).m.f=Be),G(()=>{e(i),e(a),e(g),e(m)}))),Me(lr,()=>e(o).m.r,Be=>(ee(o,e(o).m.r=Be),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(We,D=>{e(o),v(()=>e(o)?.m)&&D(Oe)});var He=l(We,2),pt=D=>{var V=E_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe),Ne=c(Te,!0);u(Te),Te.value=Te.__value=1;var Ie=l(Te),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=2;var pe=l(Ie),me=Ae=>{var re=jn(),ie=c(re,!0);u(re),re.value=re.__value=3,j(()=>h(ie,(e(i),v(()=>e(i).conf?.connection?.eth??"Ethernet")))),q(Ae,re)};I(pe,Ae=>{e(a),v(()=>e(a).if&&e(a).if.eth)&&Ae(me)}),u(Pe),u(we);var he=l(we,2),oe=Ae=>{var re=M_(),ie=fe(re),Se=c(ie),Fe=l(Se),De=c(Fe);ve(De),De.value=De.__value="true",Rr(),u(Fe);var gt=l(Fe,4),dt=nt=>{var it=$_();ve(it),j(()=>{Q(it,"pattern",Yn),it.required=(e(o),v(()=>e(o).n.c==1||e(o).n.c==2))}),Me(it,()=>e(o).w.s,St=>(ee(o,e(o).w.s=St),G(()=>{e(i),e(a),e(g),e(m)}))),q(nt,it)},rt=nt=>{var it=q_(),St=c(it),zt=Ct=>{var Rt=S_();Rt.value=Rt.__value="",q(Ct,Rt)};I(St,Ct=>{e(g),v(()=>e(g)?.c==-1)&&Ct(zt)});var Dt=l(St),rr=Ct=>{var Rt=qr(),Mr=fe(Rt);Gt(Mr,1,()=>(e(g),v(()=>e(g)?.n)),Yt,(Xt,ur)=>{var pr=jn(),Qt=c(pr);u(pr);var Ye={};j(()=>{h(Qt,`${e(ur),v(()=>e(ur).s)??""} (${e(ur),v(()=>e(ur).e)??""}, RSSI: ${e(ur),v(()=>e(ur).r)??""})`),Ye!==(Ye=(e(ur),v(()=>e(ur).s)))&&(pr.value=(pr.__value=(e(ur),v(()=>e(ur).s)))??"")}),q(Xt,pr)}),q(Ct,Rt)};I(Dt,Ct=>{e(g),v(()=>e(g)?.n)&&Ct(rr)}),u(it),j(()=>it.required=(e(o),v(()=>e(o).n.c==1||e(o).n.c==2))),At(it,()=>e(o).w.s,Ct=>(ee(o,e(o).w.s=Ct),G(()=>{e(i),e(a),e(g),e(m)}))),q(nt,it)};I(gt,nt=>{e(k)?nt(dt):nt(rt,-1)}),u(ie);var at=l(ie,2),Xe=c(at,!0),bt=l(Xe,3),wt=c(bt);ve(wt);var Ut=l(wt,2);u(bt),u(at);var tr=l(at,2),ar=c(tr),vt=c(ar,!0),nr=l(vt,3),Pt=c(nr),ir=c(Pt,!0);u(Pt),Pt.value=Pt.__value=255;var lr=l(Pt),Lr=c(lr,!0);u(lr),lr.value=lr.__value=0;var vr=l(lr),Ur=c(vr,!0);u(vr),vr.value=vr.__value=1;var _r=l(vr),Be=c(_r,!0);u(_r),_r.value=_r.__value=2,u(nr),u(ar);var Je=l(ar,2),Tt=c(Je,!0),Ht=l(Tt,3),Nt=c(Ht);ve(Nt),Rr(2),u(Ht),u(Je),u(tr);var Vt=l(tr,2),or=c(Vt),Ot=c(or);ve(Ot),Ot.value=Ot.__value="true";var sr=l(Ot);u(or),u(Vt),j(()=>{h(Se,`${e(i),v(()=>e(i).conf?.connection?.ssid??"SSID")??""} `),h(Xe,(e(i),v(()=>e(i).conf?.connection?.psk??"Password"))),Q(wt,"pattern",Yn),h(vt,(e(i),v(()=>e(i).conf?.connection?.ps?.title??"Power saving"))),h(ir,(e(i),v(()=>e(i).conf?.connection?.ps?.default??"Default"))),h(Lr,(e(i),v(()=>e(i).conf?.connection?.ps?.off??"Off"))),h(Ur,(e(i),v(()=>e(i).conf?.connection?.ps?.min??"Min"))),h(Be,(e(i),v(()=>e(i).conf?.connection?.ps?.max??"Max"))),h(Tt,(e(i),v(()=>e(i).conf?.connection?.pwr??"Power"))),h(sr,` ${e(i),v(()=>e(i).conf?.connection?.tick_11b??"802.11b")??""}`)}),hr(De,()=>e(k),nt=>E(k,nt)),Me(wt,()=>e(o).w.p,nt=>(ee(o,e(o).w.p=nt),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("click",Ut,x),At(nr,()=>e(o).w.z,nt=>(ee(o,e(o).w.z=nt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Nt,()=>e(o).w.w,nt=>(ee(o,e(o).w.w=nt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Ot,()=>e(o).w.b,nt=>(ee(o,e(o).w.b=nt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ae,re)};I(he,Ae=>{e(o),v(()=>e(o).n.c==1||e(o).n.c==2)&&Ae(oe)}),u(V),j(Ae=>{h(Ee,(e(i),v(()=>e(i).conf?.connection?.title??"Connection"))),Q(ce,"href",Ae),h(Ne,(e(i),v(()=>e(i).conf?.connection?.wifi??"WiFi"))),h(ae,(e(i),v(()=>e(i).conf?.connection?.ap??"AP")))},[()=>($(Jt),v(()=>Jt("connection")))]),At(Pe,()=>e(o).n.c,Ae=>(ee(o,e(o).n.c=Ae),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(He,D=>{e(o),v(()=>e(o)?.w)&&D(pt)});var Ze=l(He,2),Et=D=>{var V=A_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=c(ye,!0),Pe=l(we,3),Te=c(Pe),Ne=c(Te),Ie=c(Ne,!0);u(Ne),Ne.value=Ne.__value="dhcp";var ae=l(Ne),pe=c(ae,!0);u(ae),ae.value=ae.__value="static",u(Te);var me=l(Te,2);ve(me);var he=l(me,2);dn(he,()=>{var vt=c(he),nr=Vi();xu(fe(nr),{}),q(vt,nr)}),u(Pe),u(ye);var oe=l(ye,2),Ae=vt=>{var nr=T_(),Pt=fe(nr),ir=c(Pt,!0),lr=l(ir,3);ve(lr),u(Pt);var Lr=l(Pt,2),vr=c(Lr,!0),Ur=l(vr,3),_r=c(Ur);ve(_r);var Be=l(_r,2);ve(Be),u(Ur),u(Lr),j(()=>{h(ir,(e(i),v(()=>e(i).conf?.network?.gw??"Gateway"))),Q(lr,"pattern",_n),h(vr,(e(i),v(()=>e(i).conf?.network?.dns??"DNS"))),Q(_r,"pattern",_n),Q(Be,"pattern",_n)}),Me(lr,()=>e(o).n.g,Je=>(ee(o,e(o).n.g=Je),G(()=>{e(i),e(a),e(g),e(m)}))),Me(_r,()=>e(o).n.d1,Je=>(ee(o,e(o).n.d1=Je),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Be,()=>e(o).n.d2,Je=>(ee(o,e(o).n.d2=Je),G(()=>{e(i),e(a),e(g),e(m)}))),q(vt,nr)};I(oe,vt=>{e(o),v(()=>e(o).n.m=="static")&&vt(Ae)});var re=l(oe,2),ie=c(re),Se=c(ie);ve(Se),Se.value=Se.__value="true",Rr(),u(ie),u(re);var Fe=l(re,2),De=c(Fe),gt=c(De);ve(gt),gt.value=gt.__value="true";var dt=l(gt);u(De),u(Fe);var rt=l(Fe,2),at=l(rt,2),Xe=c(at),bt=l(Xe),wt=c(bt);ve(wt),wt.value=wt.__value="true";var Ut=l(wt);u(bt);var tr=l(bt,3),ar=c(tr);ve(ar),u(tr),u(at),u(V),j(vt=>{h(Ee,(e(i),v(()=>e(i).conf?.network?.title??"Network"))),Q(ce,"href",vt),h(we,(e(i),v(()=>e(i).conf?.network?.ip??"IP"))),h(Ie,(e(i),v(()=>e(i).conf?.network?.dhcp??"DHCP"))),h(pe,(e(i),v(()=>e(i).conf?.network?.static??"Static"))),me.disabled=(e(o),v(()=>e(o).n.m=="dhcp")),me.required=(e(o),v(()=>e(o).n.m=="static")),Q(me,"pattern",_n),he.disabled=(e(o),v(()=>e(o).n.m=="dhcp")),he.required=(e(o),v(()=>e(o).n.m=="static")),h(dt,` ${e(i),v(()=>e(i).conf?.network?.tick_mdns??"mDNS")??""}`),h(Xe,`${e(i),v(()=>e(i).conf?.network?.ntp??"NTP")??""} `),h(Ut,` ${e(i),v(()=>e(i).conf?.network?.tick_ntp_dhcp??"from DHCP")??""}`),Q(ar,"pattern",ja)},[()=>($(Jt),v(()=>Jt("network")))]),At(Te,()=>e(o).n.m,vt=>(ee(o,e(o).n.m=vt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(me,()=>e(o).n.i,vt=>(ee(o,e(o).n.i=vt),G(()=>{e(i),e(a),e(g),e(m)}))),At(he,()=>e(o).n.s,vt=>(ee(o,e(o).n.s=vt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Se,()=>e(o).n.x,vt=>(ee(o,e(o).n.x=vt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(gt,()=>e(o).n.d,vt=>(ee(o,e(o).n.d=vt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(wt,()=>e(o).n.h,vt=>(ee(o,e(o).n.h=vt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ar,()=>e(o).n.n1,vt=>(ee(o,e(o).n.n1=vt),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ze,D=>{e(o),v(()=>e(o)?.n)&&D(Et)});var be=l(Ze,2),Le=D=>{var V=F_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=l(Pe),Ne=ot=>{var Ma=P_(),ta=c(Ma);ve(ta),ta.value=ta.__value="true",Rr(),u(Ma),hr(ta,()=>e(o).q.s.e,Cn=>(ee(o,e(o).q.s.e=Cn),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("change",ta,J),q(ot,Ma)};I(Te,ot=>{e(a),v(()=>e(a).chip!="esp8266")&&ot(Ne)});var Ie=l(Te,4),ae=c(Ie);ve(ae);var pe=l(ae,2);ve(pe),u(Ie),u(we);var me=l(we,2),he=ot=>{var Ma=j_(),ta=c(Ma),Cn=c(ta),Ni=br=>{var cr=O_(),Er=fe(cr),Cr=c(Er),Dr=c(Cr,!0);u(Cr),u(Er);var Ea=l(Er,2);j(()=>h(Dr,(e(i),v(()=>e(i).conf?.mqtt?.ca_ok??"CA OK")))),Ue("click",Ea,O),Ue("keypress",Ea,O),q(br,cr)},ti=br=>{var cr=C_(),Er=c(cr);{let Cr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_ca_upload??"Upload CA"))),Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_ca??"")));hn(Er,{color:"blue",get text(){return e(Cr)},get title(){return e(Dr)}})}u(cr),q(br,cr)};I(Cn,br=>{e(o),v(()=>e(o).q.s.c)?br(Ni):br(ti,-1)}),u(ta);var tn=l(ta,2),Li=c(tn),No=br=>{var cr=N_(),Er=fe(cr),Cr=c(Er),Dr=c(Cr,!0);u(Cr),u(Er);var Ea=l(Er,2);j(()=>h(Dr,(e(i),v(()=>e(i).conf?.mqtt?.crt_ok??"Cert OK")))),Ue("click",Ea,C),Ue("keypress",Ea,C),q(br,cr)},ri=br=>{var cr=L_(),Er=c(cr);{let Cr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_crt_upload??"Upload cert"))),Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_crt??"")));hn(Er,{color:"blue",get text(){return e(Cr)},get title(){return e(Dr)}})}u(cr),q(br,cr)};I(Li,br=>{e(o),v(()=>e(o).q.s.r)?br(No):br(ri,-1)}),u(tn);var Nn=l(tn,2),rn=c(Nn),Lo=br=>{var cr=D_(),Er=fe(cr),Cr=c(Er),Dr=c(Cr,!0);u(Cr),u(Er);var Ea=l(Er,2);j(()=>h(Dr,(e(i),v(()=>e(i).conf?.mqtt?.key_ok??"Key OK")))),Ue("click",Ea,B),Ue("keypress",Ea,B),q(br,cr)},Do=br=>{var cr=R_(),Er=c(cr);{let Cr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_key_upload??"Upload key"))),Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_key??"")));hn(Er,{color:"blue",get text(){return e(Cr)},get title(){return e(Dr)}})}u(cr),q(br,cr)};I(rn,br=>{e(o),v(()=>e(o).q.s.k)?br(Lo):br(Do,-1)}),u(Nn),u(Ma),q(ot,Ma)};I(me,ot=>{e(o),v(()=>e(o).q.s.e)&&ot(he)});var oe=l(me,2),Ae=c(oe,!0),re=l(Ae,3);ve(re),u(oe);var ie=l(oe,2),Se=c(ie,!0),Fe=l(Se,3),De=c(Fe);ve(De);var gt=l(De,2);u(Fe),u(ie);var dt=l(ie,2),rt=c(dt),at=c(rt,!0),Xe=l(at,3);ve(Xe),u(rt);var bt=l(rt,2),wt=c(bt,!0),Ut=l(wt,3),tr=c(Ut);tr.value=tr.__value=1;var ar=l(tr);ar.value=ar.__value=2;var vt=l(ar);vt.value=vt.__value=3;var nr=l(vt);nr.value=nr.__value=4;var Pt=l(nr);Pt.value=Pt.__value=0;var ir=l(Pt);ir.value=ir.__value=5;var lr=l(ir);lr.value=lr.__value=6;var Lr=l(lr);Lr.value=Lr.__value=255,u(Ut),u(bt),u(dt);var vr=l(dt,2),Ur=c(vr,!0),_r=l(Ur,3);ve(_r),u(vr);var Be=l(vr,2),Je=c(Be,!0),Tt=l(Je,3);ve(Tt),u(Be);var Ht=l(Be,2),Nt=c(Ht),Vt=l(Nt),or=c(Vt,!0);u(Vt);var Ot=l(Vt,2),sr=c(Ot),nt=c(sr),it=c(nt,!0);u(nt),nt.value=nt.__value=0;var St=l(nt),zt=c(St,!0);u(St),St.value=St.__value=1,u(sr);var Dt=l(sr,2);ve(Dt),u(Ot),u(Ht);var rr=l(Ht,2),Ct=c(rr),Rt=c(Ct),Mr=c(Rt,!0);u(Rt);var Xt=l(Rt,2),ur=c(Xt,!0);u(Xt);var pr=l(Xt,2),Qt=c(pr,!0);u(pr),u(Ct);var Ye=l(Ct,2),Zt=c(Ye);ve(Zt);var Hr=l(Zt,2);ve(Hr);var Wr=l(Hr,2);ve(Wr),u(Ye),u(rr);var Jr=l(rr,2),qa=c(Jr),ea=c(qa);ve(ea),ea.value=ea.__value="true";var Ci=l(ea);u(qa),u(Jr),u(V),j(ot=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.title??"MQTT"))),Q(ce,"href",ot),h(Pe,`${e(i),v(()=>e(i).conf?.mqtt?.server??"Server")??""} `),Q(ae,"pattern",ja),h(Ae,(e(i),v(()=>e(i).conf?.mqtt?.user??"Username"))),Q(re,"pattern",Yn),h(Se,(e(i),v(()=>e(i).conf?.mqtt?.pass??"Password"))),Q(De,"pattern",Yn),h(at,(e(i),v(()=>e(i).conf?.mqtt?.id??"Client ID"))),Xe.required=(e(o),v(()=>e(o).q.h)),Q(Xe,"pattern",to),h(wt,(e(i),v(()=>e(i).conf?.mqtt?.payload??"Payload"))),h(Ur,(e(i),v(()=>e(i).conf?.mqtt?.publish??"Publish topic"))),Q(_r,"pattern",ja),h(Je,(e(i),v(()=>e(i).conf?.mqtt?.subscribe??"Subscribe topic"))),Q(Tt,"pattern",ja),Q(Tt,"placeholder",`${e(o),v(()=>e(o).q.b)??""}/command`),h(Nt,`${e(i),v(()=>e(i).conf?.mqtt?.update??"Update method")??""} `),h(or,(e(i),v(()=>e(i).conf?.mqtt?.interval??"Interval"))),h(it,(e(i),v(()=>e(i).conf?.mqtt?.realtime??"Real time"))),h(zt,(e(i),v(()=>e(i).conf?.mqtt?.interval??"Interval"))),Dt.disabled=(e(o),v(()=>e(o)?.q?.t!=1)),h(Mr,(e(i),v(()=>e(i).conf?.mqtt?.timeout??"Timeout"))),h(ur,(e(i),v(()=>e(i).conf?.mqtt?.keepalive??"Keep-alive"))),h(Qt,(e(i),v(()=>e(i).conf?.mqtt?.autoreboot??"Auto-reboot"))),h(Ci,` ${e(i),v(()=>e(i).conf?.mqtt?.allowdestructive??"Allow destructive commands")??""}`)},[()=>($(Jt),v(()=>Jt("mqtt")))]),Me(ae,()=>e(o).q.h,ot=>(ee(o,e(o).q.h=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(pe,()=>e(o).q.p,ot=>(ee(o,e(o).q.p=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(re,()=>e(o).q.u,ot=>(ee(o,e(o).q.u=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(De,()=>e(o).q.a,ot=>(ee(o,e(o).q.a=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("click",gt,_),Me(Xe,()=>e(o).q.c,ot=>(ee(o,e(o).q.c=ot),G(()=>{e(i),e(a),e(g),e(m)}))),At(Ut,()=>e(o).q.m,ot=>(ee(o,e(o).q.m=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(_r,()=>e(o).q.b,ot=>(ee(o,e(o).q.b=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Tt,()=>e(o).q.r,ot=>(ee(o,e(o).q.r=ot),G(()=>{e(i),e(a),e(g),e(m)}))),At(sr,()=>e(o).q.t,ot=>(ee(o,e(o).q.t=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Dt,()=>e(o).q.d,ot=>(ee(o,e(o).q.d=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Zt,()=>e(o).q.i,ot=>(ee(o,e(o).q.i=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Hr,()=>e(o).q.k,ot=>(ee(o,e(o).q.k=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Wr,()=>e(o).q.e,ot=>(ee(o,e(o).q.e=ot),G(()=>{e(i),e(a),e(g),e(m)}))),hr(ea,()=>e(o).q.dc,ot=>(ee(o,e(o).q.dc=ot),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(be,D=>{e(o),v(()=>e(o)?.q)&&D(Le)});var Ve=l(be,2),ct=D=>{var V=I_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe,!0),Ne=l(Te,3);ve(Ne),u(Pe);var Ie=l(Pe,2),ae=c(Ie,!0),pe=l(ae,3);ve(pe),u(Ie),u(we);var me=l(we,2),he=c(me),oe=l(he),Ae=c(oe);ve(Ae);var re=l(Ae,2);ve(re);var ie=l(re,2);ve(ie),u(oe),u(me),u(V),j(Se=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.title??"Domoticz"))),Q(ce,"href",Se),h(Te,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.eidx??"Electricity IDX"))),Q(Ne,"pattern",ui),h(ae,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.cidx??"Current IDX"))),Q(pe,"pattern",ui),h(he,`${e(i),v(()=>e(i).conf?.mqtt?.domoticz?.vidx??"Voltage IDX")??""}: L1, L2 & L3 `),Q(Ae,"pattern",ui),Q(re,"pattern",ui),Q(ie,"pattern",ui)},[()=>($(Jt),v(()=>Jt("MQTT-configuration#domoticz")))]),Me(Ne,()=>e(o).o.e,Se=>(ee(o,e(o).o.e=Se),G(()=>{e(i),e(a),e(g),e(m)}))),Me(pe,()=>e(o).o.c,Se=>(ee(o,e(o).o.c=Se),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Ae,()=>e(o).o.u1,Se=>(ee(o,e(o).o.u1=Se),G(()=>{e(i),e(a),e(g),e(m)}))),Me(re,()=>e(o).o.u2,Se=>(ee(o,e(o).o.u2=Se),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ie,()=>e(o).o.u3,Se=>(ee(o,e(o).o.u3=Se),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ve,D=>{e(o),v(()=>e(o)?.q?.m==3)&&D(ct)});var Ge=l(Ve,2),ht=D=>{var V=W_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we,!0),Te=l(Pe,3);ve(Te),u(we);var Ne=l(we,2),Ie=c(Ne,!0),ae=l(Ie,3);ve(ae),u(Ne);var pe=l(Ne,2),me=c(pe,!0),he=l(me,3);ve(he),u(pe),u(V),j(oe=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.ha?.title??"Home-Assistant"))),Q(ce,"href",oe),h(Pe,(e(i),v(()=>e(i).conf?.mqtt?.ha?.discovery??"Discovery topic prefix"))),Q(Te,"pattern",ja),h(Ie,(e(i),v(()=>e(i).conf?.mqtt?.ha?.hostname??"Hostname for URL"))),Q(ae,"placeholder",`${e(o),v(()=>e(o).g.h)??""}.local`),Q(ae,"pattern",ja),h(me,(e(i),v(()=>e(i).conf?.mqtt?.ha?.tag??"Name tag"))),Q(he,"pattern",ja)},[()=>($(Jt),v(()=>Jt("MQTT-configuration#home-assistant")))]),Me(Te,()=>e(o).h.t,oe=>(ee(o,e(o).h.t=oe),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ae,()=>e(o).h.h,oe=>(ee(o,e(o).h.h=oe),G(()=>{e(i),e(a),e(g),e(m)}))),Me(he,()=>e(o).h.n,oe=>(ee(o,e(o).h.n=oe),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ge,D=>{e(o),v(()=>e(o)?.q?.m==4)&&D(ht)});var ut=l(Ge,2),mt=D=>{var V=X_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=re=>{var ie=z_(),Se=c(ie),Fe=c(Se);ve(Fe),Fe.value=Fe.__value="true";var De=l(Fe);u(Se);var gt=l(Se,2),dt=rt=>{var at=H_(),Xe=fe(at),bt=l(c(Xe),2),wt=c(bt),Ut=Pt=>{var ir=B_();ir.value=ir.__value=0,q(Pt,ir)};I(wt,Pt=>{e(o),v(()=>e(o).c.p==0)&&Pt(Ut)});var tr=l(wt);tr.value=tr.__value=1;var ar=l(tr);ar.value=ar.__value=2,u(bt),u(Xe);var vt=l(Xe,2),nr=Pt=>{var ir=U_();Ue("click",ir,qe),q(Pt,ir)};I(vt,Pt=>{e(S)&&Pt(nr)}),At(bt,()=>e(o).c.p,Pt=>(ee(o,e(o).c.p=Pt),G(()=>{e(i),e(a),e(g),e(m)}))),q(rt,at)};I(gt,rt=>{e(o),v(()=>e(o).c.e)&&rt(dt)}),u(ie),j(()=>h(De,` ${e(i),v(()=>e(i).conf?.cloud?.ams??"AMS reader cloud")??""}`)),hr(Fe,()=>e(o).c.e,rt=>(ee(o,e(o).c.e=rt),G(()=>{e(i),e(a),e(g),e(m)}))),q(re,ie)},Te=er(()=>(e(a),v(()=>e(a)?.features?.includes("cloud"))));I(we,re=>{e(Te)&&re(Pe)});var Ne=l(we,2),Ie=c(Ne),ae=c(Ie);ve(ae),ae.value=ae.__value="true";var pe=l(ae,2),me=re=>{var ie=G_(),Se=fe(ie),Fe=c(Se);u(Se);var De=l(Se,2),gt=c(De);u(De);var dt=l(De,2),rt=at=>{var Xe=Y_(),bt=c(Xe);{let wt=Ce(()=>(e(a),v(()=>e(a).mac))),Ut=Ce(()=>(e(a),v(()=>e(a).meter.id)));l_(bt,{get value(){return`{"mac":"${e(wt)??""}","meter":"${e(Ut)??""}"}`}})}u(Xe),q(at,Xe)};I(dt,at=>{e(a),v(()=>e(a).mac&&e(a).meter.id)&&at(rt)}),j(()=>{h(Fe,`MAC: ${e(a),v(()=>e(a).mac)??""}`),h(gt,`Meter ID: ${e(a),v(()=>e(a).meter.id?e(a).meter.id:"missing, required")??""}`)}),q(re,ie)};I(pe,re=>{e(o),v(()=>e(o)?.c?.es)&&re(me)}),u(Ie),u(Ne);var he=l(Ne,2),oe=re=>{var ie=V_(),Se=fe(ie),Fe=c(Se),De=c(Fe);ve(De),De.value=De.__value="true",Rr(),u(Fe),u(Se);var gt=l(Se,2),dt=rt=>{var at=K_(),Xe=c(at);ve(Xe),u(at),Me(Xe,()=>e(o).c.zt,bt=>(ee(o,e(o).c.zt=bt),G(()=>{e(i),e(a),e(g),e(m)}))),q(rt,at)};I(gt,rt=>{e(o),v(()=>e(o).c.ze)&&rt(dt)}),hr(De,()=>e(o).c.ze,rt=>(ee(o,e(o).c.ze=rt),G(()=>{e(i),e(a),e(g),e(m)}))),q(re,ie)},Ae=er(()=>(e(a),v(()=>e(a)?.features?.includes("zc"))));I(he,re=>{e(Ae)&&re(oe)}),u(V),j(re=>{h(Ee,(e(i),v(()=>e(i).conf?.cloud?.title??"Cloud connections"))),Q(ce,"href",re)},[()=>($(Jt),v(()=>Jt("cloud-connections")))]),hr(ae,()=>e(o).c.es,re=>(ee(o,e(o).c.es=re),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(ut,D=>{e(o),v(()=>e(o)?.c)&&D(mt)});var kr=l(ut,2),Ir=D=>{var V=Z_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2);Gt(we,4,()=>({length:9}),Yt,(me,he,oe)=>{var Ae=Q_(),re=c(Ae);re.textContent=oe+1;var ie=l(re,2);ve(ie),Q(ie,"name",`t${oe}`),Rr(2),u(Ae),Me(ie,()=>e(o).t.t[oe],Se=>(ee(o,e(o).t.t[oe]=Se),G(()=>{e(i),e(a),e(g),e(m)}))),q(me,Ae)}),u(we);var Pe=l(we,2),Te=c(Pe),Ne=c(Te,!0);u(Te);var Ie=l(Te,2);ve(Ie);var ae=l(Ie,2),pe=c(ae,!0);u(ae),u(Pe),u(V),j(me=>{h(Ee,(e(i),v(()=>e(i).conf?.thresholds?.title??"Thresholds"))),Q(ce,"href",me),h(Ne,(e(i),v(()=>e(i).conf?.thresholds?.avg??"Average of"))),h(pe,(e(i),v(()=>e(i).common?.hours??"hours")))},[()=>($(Jt),v(()=>Jt("tariff-thresholds")))]),Me(Ie,()=>e(o).t.h,me=>(ee(o,e(o).t.h=me),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)},Tr=er(()=>(e(o),v(()=>e(o)?.p?.r?.startsWith("NO")||e(o)?.p?.r?.startsWith("10YNO")||e(o)?.p?.r?.startsWith("10Y1001A1001A4"))));I(kr,D=>{e(Tr)&&D(Ir)});var ke=l(kr,2),je=D=>{var V=J_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we);Gt(Pe,1,()=>d,Yt,(ae,pe)=>{n_(ae,{get cfg(){return e(o),v(()=>e(o).u)},get item(){return e(pe)},get translations(){return e(i)}})});var Te=l(Pe,2),Ne=c(Te),Ie=l(Ne);Gt(Ie,5,()=>e(m),Yt,(ae,pe)=>{var me=jn(),he=c(me,!0);u(me);var oe={};j(()=>{h(he,(e(pe),v(()=>e(pe).name))),oe!==(oe=(e(pe),v(()=>e(pe).code)))&&(me.value=(me.__value=(e(pe),v(()=>e(pe).code)))??"")}),q(ae,me)}),u(Ie),u(Te),u(we),u(V),j(ae=>{h(Ee,(e(i),v(()=>e(i).conf?.ui?.title??"User interface"))),Q(ce,"href",ae),h(Ne,`${e(i),v(()=>e(i).conf?.ui?.lang??"Language")??""} `)},[()=>($(Jt),v(()=>Jt("user-interface")))]),At(Ie,()=>e(o).u.lang,ae=>(ee(o,e(o).u.lang=ae),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("change",Ie,te),q(D,V)};I(ke,D=>{e(o),v(()=>e(o)?.u)&&D(je)});var ze=l(ke,2),tt=D=>{var V=sp(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=he=>{var oe=rp(),Ae=fe(oe),re=l(Ae,2),ie=c(re),Se=c(ie,!0),Fe=l(Se,3);dn(Fe,()=>{var Ye=c(Fe),Zt=Vi();Ms(fe(Zt),{get chip(){return e(a),v(()=>e(a).chip)}}),q(Ye,Zt)}),u(ie);var De=l(ie,2),gt=c(De,!0),dt=l(gt,3);dn(dt,()=>{var Ye=c(dt),Zt=Vi();Ms(fe(Zt),{get chip(){return e(a),v(()=>e(a).chip)}}),q(Ye,Zt)}),u(De);var rt=l(De,2),at=c(rt),Xe=c(at);ve(Xe),Xe.value=Xe.__value="true";var bt=l(Xe);u(at),u(rt),u(re);var wt=l(re,2),Ut=c(wt),tr=c(Ut,!0),ar=l(tr,3);ve(ar),u(Ut);var vt=l(Ut,2),nr=c(vt,!0),Pt=l(nr,3),ir=c(Pt);ve(ir),u(Pt),u(vt);var lr=l(vt,2),Lr=c(lr),vr=c(Lr);ve(vr),vr.value=vr.__value="true";var Ur=l(vr);u(Lr),u(lr);var _r=l(lr,2),Be=c(_r,!0),Je=l(Be),Tt=c(Je);ve(Tt),Tt.value=Tt.__value="true";var Ht=l(Tt);u(Je);var Nt=l(Je,3),Vt=c(Nt);ve(Vt);var or=l(Vt,2);ve(or);var Ot=l(or,2);ve(Ot),u(Nt),u(_r);var sr=l(_r,2),nt=c(sr),it=c(nt),St=l(it);ve(St),u(nt),u(sr);var zt=l(sr,2),Dt=c(zt,!0),rr=l(Dt,3);ve(rr),u(zt);var Ct=l(zt,2),Rt=c(Ct,!0),Mr=l(Rt,3);ve(Mr),u(Ct);var Xt=l(Ct,2),ur=Ye=>{var Zt=ep(),Hr=c(Zt,!0),Wr=l(Hr,3);ve(Wr),u(Zt),j(()=>{h(Hr,(e(i),v(()=>e(i).conf?.hw?.vcc?.title??"Vcc"))),Q(Wr,"max",e(le))}),Me(Wr,()=>e(o).i.v.p,Jr=>(ee(o,e(o).i.v.p=Jr),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ye,Zt)};I(Xt,Ye=>{e(a),v(()=>e(a).chip!="esp8266")&&Ye(ur)});var pr=l(Xt,2),Qt=Ye=>{var Zt=tp(),Hr=c(Zt,!0),Wr=l(Hr,3),Jr=c(Wr);ve(Jr);var qa=l(Jr,2);ve(qa),u(Wr),u(Zt),j(()=>{h(Hr,(e(i),v(()=>e(i).conf?.hw?.vcc?.divider??"Voltage divider"))),Q(Jr,"placeholder",(e(i),v(()=>e(i).conf?.hw?.vcc?.div_vcc??"VCC"))),Q(qa,"placeholder",(e(i),v(()=>e(i).conf?.hw?.vcc?.div_gnd??"GND")))}),Me(Jr,()=>e(o).i.v.d.v,ea=>(ee(o,e(o).i.v.d.v=ea),G(()=>{e(i),e(a),e(g),e(m)}))),Me(qa,()=>e(o).i.v.d.g,ea=>(ee(o,e(o).i.v.d.g=ea),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ye,Zt)};I(pr,Ye=>{e(o),v(()=>e(o)?.i?.v?.p>0)&&Ye(Qt)}),u(wt),j(()=>{h(Se,(e(i),v(()=>e(i).conf?.hw?.han?.rx??"HAN RX"))),h(gt,(e(i),v(()=>e(i).conf?.hw?.han?.tx??"HAN TX"))),h(bt,` ${e(i),v(()=>e(i).conf?.hw?.han?.pullup??"pullup")??""}`),h(tr,(e(i),v(()=>e(i).conf?.hw?.ap_btn??"AP button"))),Q(ar,"max",e(le)),h(nr,(e(i),v(()=>e(i).conf?.hw?.led?.title??"LED"))),Q(ir,"max",e(le)),h(Ur,` ${e(i),v(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),h(Be,(e(i),v(()=>e(i).conf?.hw?.led?.rgb??"RGB"))),h(Ht,` ${e(i),v(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),Q(Vt,"max",e(le)),Q(or,"max",e(le)),Q(Ot,"max",e(le)),h(it,`${e(i),v(()=>e(i).conf?.hw?.led?.disable??"LED dis. GPIO")??""} `),Q(St,"max",e(le)),h(Dt,(e(i),v(()=>e(i).conf?.hw?.temp??"Temperature"))),Q(rr,"max",e(le)),h(Rt,(e(i),v(()=>e(i).conf?.hw?.temp_analog??"Analog temp"))),Q(Mr,"max",e(le))}),At(Fe,()=>e(o).i.h.p,Ye=>(ee(o,e(o).i.h.p=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),At(dt,()=>e(o).i.h.t,Ye=>(ee(o,e(o).i.h.t=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Xe,()=>e(o).i.h.u,Ye=>(ee(o,e(o).i.h.u=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ar,()=>e(o).i.a,Ye=>(ee(o,e(o).i.a=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ir,()=>e(o).i.l.p,Ye=>(ee(o,e(o).i.l.p=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),hr(vr,()=>e(o).i.l.i,Ye=>(ee(o,e(o).i.l.i=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Tt,()=>e(o).i.r.i,Ye=>(ee(o,e(o).i.r.i=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Vt,()=>e(o).i.r.r,Ye=>(ee(o,e(o).i.r.r=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(or,()=>e(o).i.r.g,Ye=>(ee(o,e(o).i.r.g=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Ot,()=>e(o).i.r.b,Ye=>(ee(o,e(o).i.r.b=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(St,()=>e(o).i.d.d,Ye=>(ee(o,e(o).i.d.d=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(rr,()=>e(o).i.t.d,Ye=>(ee(o,e(o).i.t.d=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Mr,()=>e(o).i.t.a,Ye=>(ee(o,e(o).i.t.a=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,oe)};I(ye,he=>{e(a),v(()=>e(a).board>20)&&he(we)});var Pe=l(ye,2),Te=he=>{var oe=ap(),Ae=c(oe),re=l(Ae),ie=c(re),Se=c(ie,!0);u(ie),ie.value=ie.__value=0;var Fe=l(ie),De=c(Fe,!0);u(Fe),Fe.value=Fe.__value=1,u(re),u(oe),j(()=>{h(Ae,`${e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.title??"LED behaviour")??""} `),h(Se,(e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.enabled??"Enabled"))),h(De,(e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.disabled??"Disabled")))}),At(re,()=>e(o).i.d.b,gt=>(ee(o,e(o).i.d.b=gt),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,oe)};I(Pe,he=>{e(o),v(()=>e(o)?.i?.d?.d>0)&&he(Te)});var Ne=l(Pe,2),Ie=he=>{var oe=np(),Ae=l(fe(oe)),re=c(Ae),ie=c(re,!0);u(re),re.value=re.__value=0;var Se=l(re),Fe=c(Se,!0);u(Se),Se.value=Se.__value=3,u(Ae),j(()=>{h(ie,(e(i),v(()=>e(i).conf?.hw?.powersaving?.[0]??"Normal"))),h(Fe,(e(i),v(()=>e(i).conf?.hw?.powersaving?.[3]??"Extreme (Experimental)")))}),At(Ae,()=>e(o).i.p,De=>(ee(o,e(o).i.p=De),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,oe)},ae=er(()=>($($n),e(a),v(()=>$n(e(a).board))));I(Ne,he=>{e(ae)&&he(Ie)});var pe=l(Ne,2),me=he=>{var oe=op(),Ae=fe(oe),re=l(Ae,2),ie=c(re),Se=c(ie,!0),Fe=l(Se,3);ve(Fe),u(ie);var De=l(ie,2),gt=c(De,!0),dt=l(gt,3);ve(dt),u(De);var rt=l(De,2),at=Xe=>{var bt=ip(),wt=c(bt,!0),Ut=l(wt,3);ve(Ut),u(bt),j(()=>h(wt,(e(i),v(()=>e(i).conf?.hw?.vcc?.boot??"Boot limit")))),Me(Ut,()=>e(o).i.v.b,tr=>(ee(o,e(o).i.v.b=tr),G(()=>{e(i),e(a),e(g),e(m)}))),q(Xe,bt)};I(rt,Xe=>{e(a),v(()=>e(a).board==2||e(a).board==100)&&Xe(at)}),u(re),j(()=>{h(Se,(e(i),v(()=>e(i).conf?.hw?.vcc?.offset??"Vcc offset"))),h(gt,(e(i),v(()=>e(i).conf?.hw?.vcc?.multiplier??"Multiplier")))}),Me(Fe,()=>e(o).i.v.o,Xe=>(ee(o,e(o).i.v.o=Xe),G(()=>{e(i),e(a),e(g),e(m)}))),Me(dt,()=>e(o).i.v.m,Xe=>(ee(o,e(o).i.v.m=Xe),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,oe)};I(pe,he=>{e(a),v(()=>e(a).chip=="esp8266")&&he(me)}),u(V),j(he=>{h(Ee,(e(i),v(()=>e(i).conf?.hw?.title??"Hardware"))),Q(ce,"href",he)},[()=>($(Jt),v(()=>Jt("hardware")))]),q(D,V)};I(ze,D=>{e(o),e(a),v(()=>e(o)?.i?.h&&(e(a)?.board>20||e(a)?.chip=="esp8266"||e(o)?.i?.d?.d>0))&&D(tt)});var Bt=l(ze,2),ft=D=>{var V=up(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,4),ye=l(ce,2),we=c(ye),Pe=c(we);ve(Pe),Pe.value=Pe.__value="true";var Te=l(Pe);u(we),u(ye);var Ne=l(ye,2),Ie=ae=>{var pe=vp(),me=fe(pe),he=c(me,!0);u(me);var oe=l(me,2),Ae=c(oe),re=c(Ae);ve(re),re.value=re.__value="true";var ie=l(re);u(Ae),u(oe);var Se=l(oe,2),Fe=bt=>{var wt=lp(),Ut=c(wt,!0);u(wt),j(()=>h(Ut,(e(i),v(()=>e(i).conf?.debug?.telnet_danger??"Disable when done")))),q(bt,wt)};I(Se,bt=>{e(o),v(()=>e(o).d.t)&&bt(Fe)});var De=l(Se,2),gt=c(De),dt=c(gt);dt.value=dt.__value=1;var rt=l(dt);rt.value=rt.__value=2;var at=l(rt);at.value=at.__value=3;var Xe=l(at);Xe.value=Xe.__value=4,u(gt),u(De),j(()=>{h(he,(e(i),v(()=>e(i).conf?.debug?.danger??"Disable when done"))),h(ie,` ${e(i),v(()=>e(i).conf?.debug?.telnet??"Enable telnet")??""}`)}),hr(re,()=>e(o).d.t,bt=>(ee(o,e(o).d.t=bt),G(()=>{e(i),e(a),e(g),e(m)}))),At(gt,()=>e(o).d.l,bt=>(ee(o,e(o).d.l=bt),G(()=>{e(i),e(a),e(g),e(m)}))),q(ae,pe)};I(Ne,ae=>{e(o),v(()=>e(o)?.d?.s)&&ae(Ie)}),u(V),j(()=>{h(Ee,(e(i),v(()=>e(i).conf?.debug?.title??"Debugging"))),h(Te,` ${e(i),v(()=>e(i).conf?.debug?.enable??"Enable debugging")??""}`)}),hr(Pe,()=>e(o).d.s,ae=>(ee(o,e(o).d.s=ae),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)},Ft=er(()=>(e(o),e(a),v(()=>e(o)?.d&&e(a)?.features?.includes("rdebug"))));I(Bt,D=>{e(Ft)&&D(ft)}),u(z);var Kt=l(z,2),Nr=c(Kt),gr=D=>{var V=cp(),ne=fe(V),Ee=c(ne),ce=c(Ee,!0);u(Ee),u(ne);var ye=l(ne,2),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>{h(ce,(e(i),v(()=>e(i).conf?.btn_reset??"Factory reset"))),h(Pe,(e(i),v(()=>e(i).btn?.reboot??"Reboot")))}),Ue("click",Ee,R),Ue("click",we,T),q(D,V)};I(Nr,D=>{e(s),v(()=>e(s)?.a)&&D(gr)});var _e=l(Nr,2),U=D=>{var V=fp(),ne=c(V),Ee=c(ne,!0);u(ne),u(V),j(()=>h(Ee,(e(i),v(()=>e(i).btn?.save??"Save")))),q(D,V)};I(_e,D=>{e(o)&&D(U)}),u(Kt),u(N),go(N,D=>E(f,D),()=>e(f));var X=l(N,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.loading??"Loading")));jr(X,{get active(){return e(b)},get message(){return e(D)}})}var xe=l(X,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.saving??"Saving")));jr(xe,{get active(){return e(p)},get message(){return e(D)}})}var ue=l(xe,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.reset??"Factory reset")));jr(ue,{get active(){return e(A)},get message(){return e(D)}})}var $e=l(ue,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.reset_done??"Done")));jr($e,{get active(){return e(P)},get message(){return e(D)}})}Ue("submit",N,Pn(Y)),q(t,M),yt()}var pp=F('
'),hp=F(' '),mp=F(' '),gp=F('
 
'),bp=F('
');function xp(t,n){xt(n,!1);let r=de(n,"services",24,()=>[]),a=de(n,"translations",24,()=>({}));const s={mqtt:"MQTT",mqtt_c:"MQTT (custom)",mqtt_es:"Flexpartner.Energy",price:"Price service",ntp:"NTP",cloud:"Cloud",zc:"ZmartCharge"};function f(A){return A.n??a().status?.services?.[A.k]??a().header?.[A.k]??s[A.k]??A.k}function i(A){return a().status?.services?.state?.[A]??{0:"Disabled",1:"OK",2:"Connecting",3:"Error"}[A]??A}const d={mqtt:"mqtt",mqtt_c:"mqtt",mqtt_es:"mqtt",price:"price",cloud:"http",zc:"http"};function b(A){if(!A.e)return"";const P=d[A.k];return a().errors?.[P]?.[A.e]??A.e}Mt();var p=bp(),S=c(p),o=c(S,!0);u(S);var m=l(S,2),k=A=>{var P=pp(),R=c(P,!0);u(P),j(()=>h(R,($(a()),v(()=>a().status?.services?.none??"No services configured")))),q(A,P)},g=A=>{var P=qr(),R=fe(P);Gt(R,1,r,Yt,(Y,H)=>{var T=gp(),O=c(T),C=l(O,2),B=c(C),J=c(B,!0);u(B);var te=l(B,2),se=_=>{var w=hp(),y=c(w,!0);u(w),j(()=>{Q(w,"title",(e(H),v(()=>e(H).d))),h(y,(e(H),v(()=>e(H).d)))}),q(_,w)};I(te,_=>{e(H),v(()=>e(H).d)&&_(se)}),u(C);var le=l(C,2),qe=c(le,!0);u(le);var K=l(le,2),x=_=>{var w=mp(),y=c(w,!0);u(w),j(M=>{Q(w,"title",(e(H),v(()=>e(H).e))),h(y,M)},[()=>(e(H),v(()=>b(e(H))))]),q(_,w)};I(K,_=>{e(H),v(()=>e(H).e)&&_(x)}),u(T),j((_,w,y)=>{Vr(O,1,`bd-${_??""} mr-2 flex-none`),h(J,w),h(qe,y)},[()=>($(Aa),e(H),v(()=>Aa(e(H).s))),()=>(e(H),v(()=>f(e(H)))),()=>(e(H),v(()=>i(e(H).s)))]),q(Y,T)}),q(A,P)};I(m,A=>{$(r()),v(()=>!r()||r().length===0)?A(k):A(g,-1)}),u(p),j(()=>h(o,($(a()),v(()=>a().status?.services?.title??"Services")))),q(t,p),yt()}var yp=F('
',1),wp=F(''),kp=F('
'),Xl=F('DNSv6: ',1),$p=F('
IPv6:
',1),Sp=F('
'),qp=F('
Channel:
'),Ql=F('
'),Mp=F('
'),Ep=F(' ',1),Tp=F('
'),Ap=F(''),Pp=F(' ',1),Op=F('
'),Cp=F(''),Np=F(''),Lp=F(''),Dp=F(' ',1),Rp=F('
'),jp=F(' ',1);function Fp(t,n){xt(n,!1);let r=W(),a=W();Co.subscribe(_e=>E(r,_e)),Sr.subscribe(_e=>E(a,_e));const s=_e=>{if(!_e)return _e;const U=_e.toLowerCase().split(":").map(D=>D.replace(/^0+/,"")||"0");let X=-1,xe=0,ue=-1,$e=0;for(let D=0;Dxe&&(X=ue,xe=$e),ue=-1,$e=0);if($e>xe&&(X=ue,xe=$e),xe>1){const D=U.slice(0,X),V=U.slice(X+xe);return D.length===0&&V.length===0?"::":D.length===0?"::"+V.join(":"):V.length===0?D.join(":")+"::":D.join(":")+"::"+V.join(":")}return U.join(":")};let f=[{name:"WiFi",key:"iw"},{name:"MQTT",key:"im"},{name:"Web",key:"ie"},{name:"Meter",key:"it"},{name:"Thresholds",key:"ih"},{name:"GPIO",key:"ig"},{name:"NTP",key:"in"},{name:"Price",key:"is"}],i=W({});Gr.subscribe(_e=>{E(i,_e)});let d;Oo(()=>{d=setInterval(pn,1e4)}),ou(()=>{d&&clearInterval(d)});let b=W();function p(){confirm((e(i).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(a).upgrade.n))&&(hu(e(a).upgrade.n),Sr.update(_e=>(_e.upgrade.t=e(a).upgrade.n,_e.upgrade.p=0,_e.upgrading=!0,_e)))}async function S(){await(await fetch("reboot",{method:"POST"})).json()}const o=function(){confirm(e(i).device?.reboot_confirm??"Reboot?")&&(Sr.update(_e=>(_e.booting=!0,_e)),S())};let m=W(),k=W(null),g=W(!1),A=W(),P=W(null),R=W(!1);pn();let Y=W({hostname:"",ip:""});function H(_e){E(R,!0);const U=new FormData;U.append("file",e(P)[0]),fetch("configfile",{method:"POST",body:U}).then(X=>X.json()).then(X=>{Sr.update(xe=>(e(Y)&&e(Y).hostname&&(xe.hostname=e(Y).hostname),xe.booting=X.reboot,e(Y)&&e(Y).ip&&(xe.net.ip=e(Y).ip),setTimeout(Ei,5e3,e(a)),xe))}).catch(X=>{console.error("Error:",X),setTimeout(Ei,5e3,e(a))})}function T(){const _e=new FormData;_e.append("channel",e(a).upgrade.c),fetch("fwchannel",{method:"POST",body:_e})}mr(()=>(e(r),e(b),pn),()=>{e(r)&&e(r).sa!==void 0&&e(r).sa!==e(b)&&(e(b)!==void 0&&pn(),E(b,e(r).sa))}),mr(()=>e(P),()=>{if(e(P)&&e(P).length==1){let _e=e(P)[0],U=new FileReader,X=xe=>{let ue=xe.target.result.split(` +`);for(let $e in ue){let D=ue[$e];D.startsWith("hostname ")?ee(Y,e(Y).hostname=D.split(" ")[1]):D.startsWith("ip ")&&ee(Y,e(Y).ip=D.split(" ")[1])}};U.onload=X,U.readAsText(_e)}}),wr(),Mt();var O=jp(),C=fe(O),B=c(C),J=c(B),te=c(J,!0);u(J);var se=l(J,2),le=c(se),qe=l(le),K=_e=>{var U=ca();j(()=>h(U,`(${e(a),v(()=>e(a).cpu)??""}MHz)`)),q(_e,U)};I(qe,_e=>{e(a),v(()=>e(a).cpu)&&_e(K)}),u(se);var x=l(se,2),_=c(x),w=l(_),y=c(w,!0);u(w),u(x);var M=l(x,2),N=c(M);u(M);var z=l(M,2),Z=_e=>{var U=yp(),X=fe(U),xe=c(X);u(X);var ue=l(X,2),$e=c(ue),D=l($e),V=ye=>{{let we=Ce(()=>(e(r),v(()=>new Date(new Date().getTime()-e(r).u*1e3))));mu(ye,{get timestamp(){return e(we)},fullTimeColor:"",get offset(){return e(a),v(()=>e(a).clock_offset)}})}},ne=ye=>{var we=ca("-");q(ye,we)};I(D,ye=>{e(r),v(()=>e(r).u>0)?ye(V):ye(ne,-1)}),u(ue);var Ee=l(ue,2),ce=c(Ee);u(Ee),j(ye=>{h(xe,`${e(i),v(()=>e(i).status?.device?.apmac??"AP MAC")??""}: ${e(a),v(()=>e(a).apmac)??""}`),h($e,`${e(i),v(()=>e(i).status?.device?.last_boot??"Last boot")??""}: `),h(ce,`${e(i),v(()=>e(i).status?.device?.reason??"Reason")??""}: ${ye??""} (${e(a),v(()=>e(a).boot_reason)??""}/${e(a),v(()=>e(a).ex_cause)??""})`)},[()=>(e(i),$(jl),e(a),v(()=>e(i)[jl(e(a).chip)]?.reason?.[e(a).boot_reason]??e(a).boot_reason))]),q(_e,U)};I(z,_e=>{e(a),v(()=>e(a).apmac&&e(a).apmac!=e(a).mac)&&_e(Z)});var ge=l(z,2),We=_e=>{var U=wp(),X=c(U),xe=c(X),ue=c(xe,!0);u(xe),u(X);var $e=l(X,2),D=c($e,!0);u($e),u(U),j(()=>{h(ue,(e(i),v(()=>e(i).status?.device?.btn_consents??"Consents"))),h(D,(e(i),v(()=>e(i).btn?.reboot??"Reboot")))}),Ue("click",$e,o),q(_e,U)};I(ge,_e=>{e(r),v(()=>e(r)?.a)&&_e(We)}),u(B);var Oe=l(B,2),He=_e=>{var U=kp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne),u(U),j(ce=>{h(xe,(e(i),v(()=>e(i).status?.meter?.title??"Meter"))),h($e,`${e(i),v(()=>e(i).status?.meter?.manufacturer??"Manufacturer")??""}: ${ce??""}`),h(V,`${e(i),v(()=>e(i).status?.meter?.model??"Model")??""}: ${e(a),v(()=>e(a).meter.model?e(a).meter.model:"unknown")??""}`),h(Ee,`${e(i),v(()=>e(i).status?.meter?.id??"ID")??""}: ${e(a),v(()=>e(a).meter.id?e(a).meter.id:"unknown")??""}`)},[()=>($(bo),e(a),v(()=>bo(e(a).meter.mfg)))]),q(_e,U)};I(Oe,_e=>{e(a),v(()=>e(a).meter)&&_e(He)});var pt=l(Oe,2);xp(pt,{get services(){return e(a),v(()=>e(a).services)},get translations(){return e(i)}});var Ze=l(pt,2),Et=_e=>{var U=Sp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne);var ce=l(ne,2),ye=c(ce),we=ae=>{var pe=ca();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns1)??""}`)),q(ae,pe)};I(ye,ae=>{e(a),v(()=>e(a).net.dns1)&&ae(we)});var Pe=l(ye,2),Te=ae=>{var pe=ca();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns2)??""}`)),q(ae,pe)};I(Pe,ae=>{e(a),v(()=>e(a).net.dns2)&&ae(Te)}),u(ce);var Ne=l(ce,2),Ie=ae=>{var pe=$p(),me=fe(pe),he=l(c(me)),oe=c(he,!0);u(he),u(me);var Ae=l(me,2),re=c(Ae),ie=De=>{var gt=Xl(),dt=l(fe(gt)),rt=c(dt,!0);u(dt),j(at=>h(rt,at),[()=>(e(a),v(()=>s(e(a).net.dns1v6)))]),q(De,gt)};I(re,De=>{e(a),v(()=>e(a).net.dns1v6)&&De(ie)});var Se=l(re,2),Fe=De=>{var gt=Xl(),dt=l(fe(gt)),rt=c(dt,!0);u(dt),j(at=>h(rt,at),[()=>(e(a),v(()=>s(e(a).net.dns2v6)))]),q(De,gt)};I(Se,De=>{e(a),v(()=>e(a).net.dns2v6)&&De(Fe)}),u(Ae),j(De=>h(oe,De),[()=>(e(a),v(()=>s(e(a).net.ipv6)))]),q(ae,pe)};I(Ne,ae=>{e(a),v(()=>e(a).net.ipv6)&&ae(Ie)}),u(U),j(()=>{h(xe,(e(i),v(()=>e(i).status?.network?.title??"Network"))),h($e,`${e(i),v(()=>e(i).conf?.network?.ip??"IP")??""}: ${e(a),v(()=>e(a).net.ip)??""}`),h(V,`${e(i),v(()=>e(i).conf?.network?.mask??"Mask")??""}: ${e(a),v(()=>e(a).net.mask)??""}`),h(Ee,`${e(i),v(()=>e(i).conf?.network?.gw??"Gateway")??""}: ${e(a),v(()=>e(a).net.gw)??""}`)}),q(_e,U)};I(Ze,_e=>{e(a),v(()=>e(a).net)&&_e(Et)});var be=l(Ze,2),Le=c(be),Ve=c(Le,!0);u(Le);var ct=l(Le,2),Ge=l(ct,2),ht=_e=>{var U=qp(),X=l(c(U)),xe=c(X);xe.value=xe.__value=0;var ue=l(xe);ue.value=ue.__value=1;var $e=l(ue);$e.value=$e.__value=2;var D=l($e);D.value=D.__value=3,u(X),u(U),At(X,()=>e(a).upgrade.c,V=>(ee(a,e(a).upgrade.c=V),G(()=>{}))),Ue("change",X,T),q(_e,U)};I(Ge,_e=>{e(a),v(()=>e(a).fwconsent===1)&&_e(ht)});var ut=l(Ge,2),mt=c(ut);u(ut);var kr=l(ut,2),Ir=_e=>{var U=Ql(),X=c(U),xe=c(X);u(X),u(U),j(ue=>h(xe,`${ue??""} + ${e(i),e(a),v(()=>e(i).errors?.upgrade?.[e(a).upgrade.e]??e(a).upgrade.e)??""}`),[()=>(e(i),e(a),v(()=>(e(i).status?.firmware?.failed??"Upgrade from {0} to {1} failed").replace("{0}",e(a).upgrade.f).replace("{1}",e(a).upgrade.t)))]),q(_e,U)};I(kr,_e=>{e(a),v(()=>e(a).upgrade.t&&e(a).upgrade.t!=e(a).version&&e(a).upgrade.e!=0&&e(a).upgrade.e!=123)&&_e(Ir)});var Tr=l(kr,2),ke=_e=>{var U=Ep(),X=fe(U),xe=c(X),ue=l(xe),$e=c(ue,!0);u(ue);var D=l(ue,2),V=ce=>{var ye=Mp(),we=c(ye);u(ye),j(()=>Q(ye,"title",(e(i),v(()=>e(i).status?.firmware?.install??"Install")))),Ue("click",we,p),q(ce,ye)};I(D,ce=>{e(a),e(r),v(()=>(e(a).security==0||e(r).a)&&e(a).fwconsent===1&&e(a).upgrade.n&&e(a).upgrade.n!=e(a).version)&&ce(V)}),u(X);var ne=l(X,2),Ee=ce=>{var ye=Ql(),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>h(Pe,(e(i),v(()=>e(i).status?.firmware?.no_one_click??"One-click upgrade disabled")))),q(ce,ye)};I(ne,ce=>{e(a),v(()=>e(a).fwconsent===2)&&ce(Ee)}),j(()=>{h(xe,`${e(i),v(()=>e(i).status?.firmware?.latest??"Latest")??""}: `),Q(ue,"href",(e(a),v(()=>"https://github.com/UtilitechAS/amsreader-firmware/releases/tag/"+e(a).upgrade.n))),h($e,(e(a),v(()=>e(a).upgrade.n)))}),q(_e,U)};I(Tr,_e=>{e(a),v(()=>e(a).upgrade.n)&&_e(ke)});var je=l(Tr,2),ze=_e=>{var U=Tp(),X=c(U,!0);u(U),j(xe=>h(X,xe),[()=>($(Bl),$(Re),e(a),v(()=>Bl(Re(e(a).chip,e(a).board))))]),q(_e,U)},tt=er(()=>(e(a),e(r),$($n),v(()=>(e(a).security==0||e(r).a)&&$n(e(a).board))));I(je,_e=>{e(tt)&&_e(ze)});var Bt=l(je,2),ft=_e=>{var U=Op(),X=c(U),xe=c(X);go(xe,V=>E(m,V),()=>e(m));var ue=l(xe,2),$e=V=>{var ne=Ap(),Ee=c(ne,!0);u(ne),j(()=>h(Ee,(e(i),v(()=>e(i).status?.firmware?.btn_select_file??"Select file")))),Ue("click",ne,()=>{e(m).click()}),q(V,ne)},D=V=>{var ne=Pp(),Ee=fe(ne),ce=l(Ee),ye=c(ce,!0);u(ce),j(()=>{h(Ee,`${e(k),v(()=>e(k)[0].name)??""} `),h(ye,(e(i),v(()=>e(i).btn?.upload??"Upload")))}),q(V,ne)};I(ue,V=>{e(k),v(()=>!e(k)||e(k).length==0)?V($e):V(D,-1)}),u(X),u(U),El(xe,()=>e(k),V=>E(k,V)),Ue("submit",X,()=>E(g,!0)),q(_e,U)};I(Bt,_e=>{e(a),e(r),v(()=>e(a).security==0||e(r).a)&&_e(ft)}),u(be);var Ft=l(be,2),Kt=_e=>{var U=Rp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue),D=c($e);Gt(D,1,()=>f,Yt,(me,he)=>{var oe=Cp(),Ae=c(oe);ve(Ae);var re=l(Ae);u(oe),j(()=>{Q(Ae,"name",(e(he),v(()=>e(he).key))),h(re,` ${e(i),e(he),v(()=>e(i).status?.backup?.[e(he).key]??e(he).name)??""}`)}),q(me,oe)});var V=l(D,2),ne=c(V),Ee=l(ne),ce=l(Ee,2),ye=c(ce,!0);u(ce),u(V),u($e);var we=l($e,2),Pe=me=>{var he=Np(),oe=c(he,!0);u(he),j(()=>h(oe,(e(i),v(()=>e(i).status?.backup?.btn_download??"Download")))),q(me,he)};I(we,me=>{e(P),v(()=>!e(P)||e(P).length==0)&&me(Pe)}),u(ue);var Te=l(ue,2),Ne=c(Te);go(Ne,me=>E(A,me),()=>e(A));var Ie=l(Ne,2),ae=me=>{var he=Lp(),oe=c(he,!0);u(he),j(()=>h(oe,(e(i),v(()=>e(i).status?.backup?.btn_select_file??"Select file")))),Ue("click",he,()=>{e(A).click()}),q(me,he)},pe=me=>{var he=Dp(),oe=fe(he),Ae=l(oe),re=c(Ae,!0);u(Ae),j(()=>{h(oe,`${e(P),v(()=>e(P)[0].name)??""} `),h(re,(e(i),v(()=>e(i).btn?.upload??"Upload")))}),q(me,he)};I(Ie,me=>{e(P),v(()=>!e(P)||e(P).length==0)?me(ae):me(pe,-1)}),u(Te),u(U),j(()=>{h(xe,(e(i),v(()=>e(i).status?.backup?.title??"Backup"))),h(Ee,` ${e(i),v(()=>e(i).status?.backup?.secrets??"Include secrets")??""}`),h(ye,(e(i),v(()=>e(i).status?.backup?.secrets_desc??"")))}),El(Ne,()=>e(P),me=>E(P,me)),Ue("submit",Te,Pn(H)),q(_e,U)};I(Ft,_e=>{e(a),e(r),v(()=>e(a).security==0||e(r).a)&&_e(Kt)}),u(C);var Nr=l(C,2);{let _e=Ce(()=>(e(i),v(()=>e(i).status?.mask?.firmware??"Uploading")));jr(Nr,{get active(){return e(g)},get message(){return e(_e)}})}var gr=l(Nr,2);{let _e=Ce(()=>(e(i),v(()=>e(i).status?.mask?.config??"Uploading")));jr(gr,{get active(){return e(R)},get message(){return e(_e)}})}j((_e,U)=>{h(te,(e(i),v(()=>e(i).status?.device.title??"Device"))),h(le,`${e(i),v(()=>e(i).status?.device?.chip??"Chip")??""}: ${e(a),v(()=>e(a).chip)??""} `),h(_,`${e(i),v(()=>e(i).status?.device?.device??"Device")??""}: `),h(y,_e),h(N,`${e(i),v(()=>e(i).status?.device?.mac??"MAC")??""}: ${e(a),v(()=>e(a).mac)??""}`),h(Ve,(e(i),v(()=>e(i).status?.firmware?.title??"Firmware"))),Q(ct,"href",U),h(mt,`${e(i),v(()=>e(i).status?.firmware?.installed??"Installed")??""}: ${e(a),v(()=>e(a).version)??""}`)},[()=>($(Re),e(a),v(()=>Re(e(a).chip,e(a).board))),()=>($(Jt),v(()=>Jt("statusinformation-screen")))]),q(t,O),yt()}var Xi=F(" "),Zl=F(""),Jl=F(""),Ip=F('
🗑

',1),Wp=F('

',1);function Bp(t,n){xt(n,!1);let r=W({});Gr.subscribe(y=>{E(r,y)});let a=["mo","tu","we","th","fr","sa","su"],s=W({}),f=W(!0),i=W(!1);bu.subscribe(y=>{y.o&&(E(s,y),E(f,!1))}),Gd();async function d(y){E(i,!0);const M=new URLSearchParams;M.append("r","true"),M.append("rc",e(s).o.length),e(s).o.forEach(function(N,z){M.append("rt"+z,N.t),M.append("rn"+z,N.n),M.append("rd"+z,N.d),M.append("ra"+z,N.a),M.append("rh"+z,N.h),M.append("rv"+z,N.v),M.append("rsm"+z,N.s.m),M.append("rsd"+z,N.s.d),M.append("rem"+z,N.e.m),M.append("red"+z,N.e.d)}),await(await fetch("save",{method:"POST",body:M})).json(),E(i,!1),Za("/configuration")}let b=function(y,M){return y.includes(M)?y=y.filter(function(N){return N!==M}):y.push(M),y},p=function(){let y=e(s).o;y.push({t:1,n:"",d:3,a:[0,1,2,3,4,5,6,7],h:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],v:.001,s:{m:0,d:0},e:{m:0,d:0}}),ee(s,e(s).o=y)},S=function(y){let M=e(s).o;M.splice(y,1),ee(s,e(s).o=M)},o=function(y){if(y<=0)return;let M=e(s).o;var N=M[y];M[y]=M[y-1],M[y-1]=N,ee(s,e(s).o=M)};function m(y){return y===0?31:new Date(2024,y,0).getDate()}function k(y,M){const N=m(M);y.d>N&&(y.d=N)}let g=function(y){let M=e(s).o;if(!(y>=M.length-1)){var N=M[y];M[y]=M[y+1],M[y+1]=N,ee(s,e(s).o=M)}};Mt();var A=Wp(),P=fe(A),R=c(P),Y=c(R,!0);u(R);var H=l(R,2),T=l(H,4),O=c(T),C=l(O,2),B=y=>{var M=qr(),N=fe(M);Gt(N,1,()=>e(s).o,Yt,(z,Z,ge)=>{var We=Ip(),Oe=fe(We),He=c(Oe),pt=c(He);ve(pt),u(He);var Ze=l(He,2),Et=c(Ze),be=c(Et),Le=c(be,!0);u(be),be.value=be.__value=1;var Ve=l(be),ct=c(Ve,!0);u(Ve),Ve.value=Ve.__value=2;var Ge=l(Ve),ht=c(Ge,!0);u(Ge),Ge.value=Ge.__value=3,u(Et);var ut=l(Et,2),mt=c(ut),kr=c(mt,!0);u(mt),mt.value=mt.__value=0;var Ir=l(mt);Ir.value=Ir.__value=1;var Tr=l(Ir);Tr.value=Tr.__value=3;var ke=l(Tr);ke.value=ke.__value=2,u(ut);var je=l(ut,2);ve(je),u(Ze);var ze=l(Ze,2),tt=c(ze),Bt=c(tt);u(tt);var ft=l(tt,2);Gt(ft,4,()=>({length:7}),Yt,(oe,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j(Fe=>{Vr(ie,1,Fe),h(Se,a[re])},[()=>ln(e(Z).a.includes(re)?"bd-on":"bd-off")]),Ue("click",ie,()=>(e(Z).a=b(e(Z).a,re),G(()=>e(s)),G(()=>{e(r)}))),q(oe,ie)}),u(ft),u(ze);var Ft=l(ze,2),Kt=c(Ft),Nr=c(Kt);u(Kt);var gr=l(Kt,2),_e=c(gr);Gt(_e,4,()=>({length:8}),Yt,(oe,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Vr(ie,1,Fe),h(Se,De)},[()=>ln(e(Z).h.includes(re)?"bd-on":"bd-off"),()=>re.toString().padStart(2,"0")]),Ue("click",ie,()=>(e(Z).h=b(e(Z).h,re),G(()=>e(s)),G(()=>{e(r)}))),q(oe,ie)}),u(_e);var U=l(_e,2);Gt(U,4,()=>({length:8}),Yt,(oe,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Vr(ie,1,Fe),h(Se,De)},[()=>ln(e(Z).h.includes(re+8)?"bd-on":"bd-off"),()=>(re+8).toString().padStart(2,"0")]),Ue("click",ie,()=>(e(Z).h=b(e(Z).h,re+8),G(()=>e(s)),G(()=>{e(r)}))),q(oe,ie)}),u(U);var X=l(U,2);Gt(X,4,()=>({length:8}),Yt,(oe,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Vr(ie,1,Fe),h(Se,De)},[()=>ln(e(Z).h.includes(re+16)?"bd-on":"bd-off"),()=>(re+16).toString().padStart(2,"0")]),Ue("click",ie,()=>(e(Z).h=b(e(Z).h,re+16),G(()=>e(s)),G(()=>{e(r)}))),q(oe,ie)}),u(X),u(gr),u(Ft);var xe=l(Ft,2),ue=c(xe),$e=c(ue);$e.value=$e.__value=0;var D=l($e);Gt(D,1,()=>({length:m(e(Z).s.m)}),Yt,(oe,Ae,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(oe,ie)}),u(ue);var V=l(ue,2),ne=c(V);ne.value=ne.__value=0;var Ee=l(ne);Gt(Ee,0,()=>({length:12}),Yt,(oe,Ae,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Fe=>h(Se,Fe),[()=>e(r).months?e(r).months?.[re]:Wt(re+1)]),q(oe,ie)}),u(V);var ce=l(V,2),ye=l(ce,2),we=c(ye);we.value=we.__value=0;var Pe=l(we);Gt(Pe,1,()=>({length:m(e(Z).e.m)}),Yt,(oe,Ae,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(oe,ie)}),u(ye);var Te=l(ye,2),Ne=c(Te);Ne.value=Ne.__value=0;var Ie=l(Ne);Gt(Ie,0,()=>({length:12}),Yt,(oe,Ae,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Fe=>h(Se,Fe),[()=>e(r).months?e(r).months?.[re]:Wt(re+1)]),q(oe,ie)}),u(Te),u(xe);var ae=l(xe,2),pe=c(ae);Vr(pe,1,ln(ge>0?"text-green-600":"text-gray-300"));var me=l(pe,2),he=l(me,2);u(ae),u(Oe),Rr(2),j(()=>{h(Le,e(r).conf?.common?.import??"Import"),h(ct,e(r).conf?.common?.export??"Export"),h(ht,e(r).conf?.price?.both??"Both"),h(kr,e(r).conf?.price?.fixed??"Fixed"),h(Bt,`${e(r).common?.days??"Days"??""}:`),h(Nr,`${e(r).common?.hours??"Hours"??""}:`),Vr(me,1,ln(gee(Z).n,oe=>(e(Z).n=oe,G(()=>e(s)),G(()=>{e(r)}))),At(Et,()=>e(Z).d,oe=>(e(Z).d=oe,G(()=>e(s)),G(()=>{e(r)}))),At(ut,()=>e(Z).t,oe=>(e(Z).t=oe,G(()=>e(s)),G(()=>{e(r)}))),Me(je,()=>e(Z).v,oe=>(e(Z).v=oe,G(()=>e(s)),G(()=>{e(r)}))),At(ue,()=>e(Z).s.d,oe=>(e(Z).s.d=oe,G(()=>e(s)),G(()=>{e(r)}))),At(V,()=>e(Z).s.m,oe=>(e(Z).s.m=oe,G(()=>e(s)),G(()=>{e(r)}))),Ue("change",V,()=>k(e(Z).s,e(Z).s.m)),At(ye,()=>e(Z).e.d,oe=>(e(Z).e.d=oe,G(()=>e(s)),G(()=>{e(r)}))),At(Te,()=>e(Z).e.m,oe=>(e(Z).e.m=oe,G(()=>e(s)),G(()=>{e(r)}))),Ue("change",Te,()=>k(e(Z).e,e(Z).e.m)),Ue("click",pe,()=>o(ge)),Ue("keypress",pe,()=>o(ge)),Ue("click",me,()=>g(ge)),Ue("keypress",me,()=>g(ge)),Ue("click",he,()=>S(ge)),Ue("keypress",he,()=>S(ge)),q(z,We)}),q(y,M)};I(C,y=>{e(s).o&&y(B)});var J=l(C,2),te=c(J),se=c(te),le=c(se,!0);u(se),u(te);var qe=l(te,4),K=c(qe),x=c(K,!0);u(K),u(qe),u(J),u(T),u(P);var _=l(P,2);{let y=Ce(()=>e(r).conf?.price?.mask_loading??"Loading");jr(_,{get active(){return e(f)},get message(){return e(y)}})}var w=l(_,2);{let y=Ce(()=>e(r).conf?.price?.mask_saving??"Saving");jr(w,{get active(){return e(i)},get message(){return e(y)}})}j(y=>{h(Y,e(r).conf?.price?.title??"Price"),Q(H,"href",y),h(le,e(r).conf?.price?.btn_add??"Add"),h(x,e(r).btn?.save??"Save")},[()=>Jt("configure-price-price-modifiers")]),Ue("click",se,p),Ue("submit",T,Pn(d)),q(t,A),yt()}var Up=F('

',1);function Hp(t,n){xt(n,!1);let r=W({});Gr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var s=Up(),f=fe(s),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var o=l(p,2),m=l(c(o),2),k=c(m),g=c(k,!0);u(k),u(m),u(o),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");jr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} CA`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),Ue("submit",o,()=>E(a,!0)),q(t,s),yt()}var zp=F('

',1);function Yp(t,n){xt(n,!1);let r=W({});Gr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var s=zp(),f=fe(s),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var o=l(p,2),m=l(c(o),2),k=c(m),g=c(k,!0);u(k),u(m),u(o),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");jr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} certificate`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),Ue("submit",o,()=>E(a,!0)),q(t,s),yt()}var Gp=F('

',1);function Kp(t,n){xt(n,!1);let r=W({});Gr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var s=Gp(),f=fe(s),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var o=l(p,2),m=l(c(o),2),k=c(m),g=c(k,!0);u(k),u(m),u(o),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");jr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} private key`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),Ue("submit",o,()=>E(a,!0)),q(t,s),yt()}var Vp=F(' ',1);function Xp(t,n){xt(n,!1);let r="/",a=W({}),s=W({});Gr.subscribe(le=>{E(s,le)}),Sr.subscribe(le=>E(a,le));let f=W(!1);async function i(le){E(f,!0);const qe=new FormData(le.target),K=new URLSearchParams;for(let _ of qe){const[w,y]=_;K.append(w,y)}let x=await(await fetch("save",{method:"POST",body:K})).json();E(f,!1),Sr.update(_=>(_.fwconsent=qe.sf===!0?1:qe.sf===!1?2:0,_.booting=x.reboot,_)),Za(r)}Mt();var d=Vp(),b=fe(d),p=c(b),S=c(p),o=c(S),m=c(o,!0);u(o);var k=l(o,4),g=c(k,!0),A=l(g,3),P=c(A,!0);u(A);var R=l(A,3),Y=c(R);ve(Y),Sl(Y,1);var H=l(Y);u(R);var T=l(R,2),O=c(T);ve(O),Sl(O,2);var C=l(O);u(T),Rr(),u(k);var B=l(k,2),J=c(B),te=c(J,!0);u(J),u(B),u(S),u(p),u(b);var se=l(b,2);{let le=Ce(()=>e(s).consent?.mask_saving??"Saving");jr(se,{get active(){return e(f)},get message(){return e(le)}})}j(()=>{h(m,e(s).consent?.title??"Consents"),h(g,e(s).consent?.one_click??"One-click"),h(P,e(s).consent?.read_more??"Read more"),ql(Y,e(a).fwconsent===1),h(H,` ${e(s).consent?.yes??"Yes"??""}`),ql(O,e(a).fwconsent===2),h(C,` ${e(s).consent?.no??"No"??""}`),h(te,e(s).btn?.save??"Save")}),Ue("submit",S,Pn(i)),q(t,d),yt()}var ev=F(""),Qp=F(''),Zp=F(''),Jp=F(''),e1=F('


👁️
',1),t1=F("",1),r1=F('
',1),a1=F('


'),n1=F(''),i1=F('
',1),o1=F('
'),s1=F('
',1),l1=F(''),v1=F('

',1);function u1(t,n){xt(n,!1);let r=W({});Gr.subscribe(ke=>{E(r,ke)});let a=W(),s=W(""),f=W(""),i=W(!1),d=W({});Qs.subscribe(ke=>{E(d,ke),E(i,ke?.c==0),E(s,ke?.n[0]?.s??"")});let b=W({});Sr.subscribe(ke=>E(b,ke));let p=W(!1),S=W(1),o=W(!1),m=W(!1),k=W(!1),g=W(0);function A(ke){Sr.update(je=>(je.trying=ke,je))}async function P(){E(o,!0);const ke=new FormData(e(a)),je=new URLSearchParams;for(let tt of ke){const[Bt,ft]=tt;je.append(Bt,ft)}let ze=await(await fetch("save",{method:"POST",body:je})).json();E(o,!1),Sr.update(tt=>(tt.hostname=ke.get("sh"),tt.usrcfg=ze.success,tt.booting=ze.reboot,e(p)&&(tt.net.ip=ke.get("si"),tt.net.mask=ke.get("su"),tt.net.gw=ke.get("sg"),tt.net.dns1=ke.get("sd")),ze.reboot&&setTimeout(Ei,5e3,e(b),A),tt))}async function R(){let ke;if(e(m))ke=await fetch("wifitest.json");else{E(m,!0),E(k,!1);const ze=new URLSearchParams;ze.append("ssid",e(s)),ze.append("psk",e(f)),ke=await fetch("wifitest.json",{method:"POST",body:ze})}const je=await ke.json();je?.time==0?(E(m,!1),E(k,je.status==3),E(g,je.status),e(k)&&(Sr.update(ze=>(ze.net.ip=je.ip,ze)),setTimeout(P,1e3))):e(m)&&(je.time>3e4?(E(g,4),E(m,!1)):setTimeout(R,2e3))}async function Y(){E(m,!1),E(k,!1),E(g,0)}async function H(){const ke=e(a).querySelector('input[name="sp"]');ke.type==="password"?(ke.type="text",this.textContent="🙈"):(ke.type="password",this.textContent="👁️")}Mt();var T=v1(),O=fe(T),C=c(O),B=c(C),J=c(B),te=l(J,2),se=c(te,!0);u(te);var le=l(te,2),qe=c(le,!0),K=l(qe,3),x=c(K),_=c(x,!0);u(x),x.value=x.__value=1;var w=l(x),y=c(w,!0);u(w),w.value=w.__value=2;var M=l(w),N=ke=>{var je=ev(),ze=c(je,!0);u(je),je.value=je.__value=3,j(()=>h(ze,e(r).conf?.connection?.eth??"Ethernet")),q(ke,je)};I(M,ke=>{e(b).if&&e(b).if.eth&&ke(N)}),u(K),u(le);var z=l(le,2),Z=ke=>{var je=e1(),ze=fe(je),tt=c(ze),Bt=l(tt),ft=c(Bt);ve(ft),ft.value=ft.__value="true",Rr(),u(Bt);var Ft=l(Bt,4),Kt=ue=>{var $e=Qp();ve($e),j(()=>{Q($e,"pattern",Yn),$e.required=e(S)==1||e(S)==2}),Me($e,()=>e(s),D=>E(s,D)),Ue("input",$e,Y),q(ue,$e)},Nr=ue=>{var $e=Jp(),D=c($e),V=ce=>{var ye=Zp();ye.value=ye.__value="",q(ce,ye)};I(D,ce=>{e(d)?.c==-1&&ce(V)});var ne=l(D),Ee=ce=>{var ye=qr(),we=fe(ye);Gt(we,1,()=>e(d)?.n,Yt,(Pe,Te)=>{var Ne=ev(),Ie=c(Ne);u(Ne);var ae={};j(()=>{h(Ie,`${e(Te).s??""} (${e(Te).e??""}, RSSI: ${e(Te).r??""})`),ae!==(ae=e(Te).s)&&(Ne.value=(Ne.__value=e(Te).s)??"")}),q(Pe,Ne)}),q(ce,ye)};I(ne,ce=>{e(d)?.n&&ce(Ee)}),u($e),j(()=>$e.required=e(S)==1||e(S)==2),At($e,()=>e(s),ce=>E(s,ce)),Ue("change",$e,Y),q(ue,$e)};I(Ft,ue=>{e(i)?ue(Kt):ue(Nr,-1)}),u(ze);var gr=l(ze,2),_e=c(gr,!0),U=l(_e,3),X=c(U);ve(X);var xe=l(X,2);u(U),u(gr),j(()=>{h(tt,`${e(r).conf?.connection?.ssid??"SSID"??""} `),h(_e,e(r).conf?.connection?.psk??"Password"),Q(X,"pattern",Yn),X.required=e(S)==2}),hr(ft,()=>e(i),ue=>E(i,ue)),Me(X,()=>e(f),ue=>E(f,ue)),Ue("input",X,Y),Ue("click",xe,H),q(ke,je)};I(z,ke=>{(e(S)==1||e(S)==2)&&ke(Z)});var ge=l(z,2),We=c(ge),Oe=l(We);ve(Oe),u(ge);var He=l(ge,2),pt=c(He),Ze=c(pt);ve(Ze),Ze.value=Ze.__value="static";var Et=l(Ze);u(pt);var be=l(pt,2),Le=ke=>{var je=r1(),ze=l(fe(je),2),tt=c(ze),Bt=l(tt,2);dn(Bt,()=>{var ft=c(Bt),Ft=t1();xu(fe(Ft),{}),q(ft,Ft)}),u(ze),j(()=>{tt.required=e(p),Q(tt,"pattern",_n),Bt.required=e(p)}),q(ke,je)};I(be,ke=>{e(p)&&ke(Le)}),u(He);var Ve=l(He,2),ct=ke=>{var je=a1(),ze=c(je),tt=c(ze,!0),Bt=l(tt,3);u(ze);var ft=l(ze,2),Ft=c(ft,!0),Kt=l(Ft,3);u(ft),u(je),j(()=>{h(tt,e(r).conf?.network?.gw??"Gateway"),Q(Bt,"pattern",_n),h(Ft,e(r).conf?.network?.dns??"DNS"),Q(Kt,"pattern",_n)}),q(ke,je)};I(Ve,ke=>{e(p)&&ke(ct)});var Ge=l(Ve,2),ht=c(Ge),ut=ke=>{var je=n1(),ze=c(je,!0);u(je),j(()=>h(ze,e(r).btn?.save??"Save")),q(ke,je)},mt=ke=>{var je=i1(),ze=fe(je),tt=c(ze,!0);u(ze);var Bt=l(ze,2),ft=c(Bt,!0);u(Bt),j(()=>{h(tt,e(r).setup?.testok??"Connection successful ("+e(b).net.ip+")"),h(ft,e(r).btn?.save??"Save")}),q(ke,je)},kr=ke=>{var je=o1(),ze=c(je,!0);u(je),j(()=>h(ze,e(r).setup?.testconn??"Testing connection")),q(ke,je)},Ir=ke=>{var je=qr(),ze=fe(je),tt=ft=>{var Ft=s1(),Kt=fe(Ft),Nr=c(Kt,!0);u(Kt);var gr=l(Kt,2),_e=c(gr,!0);u(gr),j(()=>{h(Nr,(e(r).setup?.testfail??"Connection failed")+": "+(e(r).errors?.wifi?.[e(g)]??e(g))),h(_e,e(r).btn?.forcesave??"Force save")}),q(ft,Ft)},Bt=ft=>{var Ft=l1(),Kt=c(Ft,!0);u(Ft),j(()=>h(Kt,e(r).btn?.save??"Save")),Ue("click",Ft,R),q(ft,Ft)};I(ze,ft=>{e(g)?ft(tt):ft(Bt,-1)}),q(ke,je)};I(ht,ke=>{e(S)!=1?ke(ut):e(k)?ke(mt,1):e(m)?ke(kr,2):ke(Ir,-1)}),u(Ge),u(B),go(B,ke=>E(a,ke),()=>e(a)),u(C),u(O);var Tr=l(O,2);{let ke=Ce(()=>e(r).setup?.mask??"Saving");jr(Tr,{get active(){return e(o)},get message(){return e(ke)}})}j(()=>{h(se,e(r).setup?.title??"Setup"),h(qe,e(r).conf?.connection?.title??"Connection"),h(_,e(r).conf?.connection?.wifi??"Connect to WiFi"),h(y,e(r).conf?.connection?.ap??"Standalone access point"),h(We,`${e(r).conf?.general?.hostname??"Hostname"??""} `),Q(Oe,"pattern",to),h(Et,` ${e(r).setup?.static??"Static IP"??""}`)}),At(K,()=>e(S),ke=>E(S,ke)),Ue("input",K,Y),Me(Oe,()=>e(b).hostname,ke=>ee(b,e(b).hostname=ke)),hr(Ze,()=>e(p),ke=>E(p,ke)),Ue("submit",B,Pn(P)),q(t,T),yt()}var c1=F(' ',1),f1=F(' '),d1=F(' ',1),_1=F(' ',1),tv=F(''),p1=F(" ",1);function h1(t,n){xt(n,!1);let r=de(n,"chip",8);Mt();var a=p1(),s=fe(a);s.value=s.__value=-1;var f=l(s,2),i=R=>{var Y=c1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=l(T,2),B=c(C,!0);u(C),C.value=C.__value=5;var J=l(C,2),te=c(J,!0);u(J),J.value=J.__value=4;var se=l(J,2),le=c(se,!0);u(se),se.value=se.__value=3,u(H);var qe=l(H,2),K=c(qe),x=c(K,!0);u(K),K.value=K.__value=2;var _=l(K,2),w=c(_,!0);u(_),_.value=_.__value=1;var y=l(_,2),M=c(y,!0);u(y),y.value=y.__value=0,u(qe);var N=l(qe,2),z=c(N),Z=c(z,!0);u(z),z.value=z.__value=101;var ge=l(z,2),We=c(ge,!0);u(ge),ge.value=ge.__value=100,u(N),j((Oe,He,pt,Ze,Et,be,Le,Ve,ct)=>{h(O,Oe),h(B,He),h(te,pt),h(le,Ze),h(x,Et),h(w,be),h(M,Le),h(Z,Ve),h(We,ct)},[()=>($(Re),$(r()),v(()=>Re(r(),7))),()=>($(Re),$(r()),v(()=>Re(r(),5))),()=>($(Re),$(r()),v(()=>Re(r(),4))),()=>($(Re),$(r()),v(()=>Re(r(),3))),()=>($(Re),$(r()),v(()=>Re(r(),2))),()=>($(Re),$(r()),v(()=>Re(r(),1))),()=>($(Re),$(r()),v(()=>Re(r(),0))),()=>($(Re),$(r()),v(()=>Re(r(),101))),()=>($(Re),$(r()),v(()=>Re(r(),100)))]),q(R,Y)};I(f,R=>{r()=="esp8266"&&R(i)});var d=l(f,2),b=R=>{var Y=f1(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=201;var O=l(H,2),C=c(O,!0);u(O),O.value=O.__value=202;var B=l(O,2),J=c(B,!0);u(B),B.value=B.__value=203;var te=l(B,2),se=c(te,!0);u(te),te.value=te.__value=241;var le=l(te,2),qe=c(le,!0);u(le),le.value=le.__value=242;var K=l(le,2),x=c(K,!0);u(K),K.value=K.__value=243;var _=l(K,2),w=c(_,!0);u(_),_.value=_.__value=245;var y=l(_,2),M=c(y,!0);u(y),y.value=y.__value=200,u(Y),j((N,z,Z,ge,We,Oe,He,pt)=>{h(T,N),h(C,z),h(J,Z),h(se,ge),h(qe,We),h(x,Oe),h(w,He),h(M,pt)},[()=>($(Re),$(r()),v(()=>Re(r(),201))),()=>($(Re),$(r()),v(()=>Re(r(),202))),()=>($(Re),$(r()),v(()=>Re(r(),203))),()=>($(Re),$(r()),v(()=>Re(r(),241))),()=>($(Re),$(r()),v(()=>Re(r(),242))),()=>($(Re),$(r()),v(()=>Re(r(),243))),()=>($(Re),$(r()),v(()=>Re(r(),245))),()=>($(Re),$(r()),v(()=>Re(r(),200)))]),q(R,Y)};I(d,R=>{r()=="esp32"&&R(b)});var p=l(d,2),S=R=>{var Y=d1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=l(T,2),B=c(C,!0);u(C),C.value=C.__value=6;var J=l(C,2),te=c(J,!0);u(J),J.value=J.__value=5,u(H);var se=l(H,2),le=c(se),qe=c(le,!0);u(le),le.value=le.__value=51;var K=l(le,2),x=c(K,!0);u(K),K.value=K.__value=50,u(se),j((_,w,y,M,N)=>{h(O,_),h(B,w),h(te,y),h(qe,M),h(x,N)},[()=>($(Re),$(r()),v(()=>Re(r(),7))),()=>($(Re),$(r()),v(()=>Re(r(),6))),()=>($(Re),$(r()),v(()=>Re(r(),5))),()=>($(Re),$(r()),v(()=>Re(r(),51))),()=>($(Re),$(r()),v(()=>Re(r(),50)))]),q(R,Y)};I(p,R=>{r()=="esp32s2"&&R(S)});var o=l(p,2),m=R=>{var Y=_1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=8,u(H);var C=l(H,2),B=c(C),J=c(B,!0);u(B),B.value=B.__value=71;var te=l(B,2),se=c(te,!0);u(te),te.value=te.__value=70,u(C),j((le,qe,K)=>{h(O,le),h(J,qe),h(se,K)},[()=>($(Re),$(r()),v(()=>Re(r(),8))),()=>($(Re),$(r()),v(()=>Re(r(),71))),()=>($(Re),$(r()),v(()=>Re(r(),70)))]),q(R,Y)};I(o,R=>{r()=="esp32c3"&&R(m)});var k=l(o,2),g=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=200,u(Y),j(O=>h(T,O),[()=>($(Re),$(r()),v(()=>Re(r(),200)))]),q(R,Y)};I(k,R=>{r()=="esp32solo"&&R(g)});var A=l(k,2),P=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=80,u(Y),j(O=>h(T,O),[()=>($(Re),$(r()),v(()=>Re(r(),80)))]),q(R,Y)};I(A,R=>{r()=="esp32s3"&&R(P)}),q(t,a),yt()}var m1=F('
WARNING: Changing this configuration will affect basic configuration of your device. Only make changes here if instructed by vendor
'),rv=F("",1),g1=F('
HAN GPIO
'),b1=F('
Initial configuration
Board type
 
',1);function x1(t,n){xt(n,!1);let r=W({}),a=W(!1);async function s(T){E(a,!0);const O=new FormData(T.target),C=new URLSearchParams;for(let J of O){const[te,se]=J;C.append(te,se)}let B=await(await fetch("save",{method:"POST",body:C})).json();E(a,!1),Sr.update(J=>(J.vndcfg=B.success,J.booting=B.reboot,J.if.eth=J.boardType>240&&J.boardType<250,J)),Za(e(r).usrcfg?"/":"/setup")}let f=W(!0);Sr.subscribe(T=>{E(r,T),T.fwconsent===1&&E(f,!e(r).usrcfg)}),Mt();var i=b1(),d=fe(i),b=c(d),p=c(b),S=c(p),o=l(S,4),m=T=>{var O=m1();q(T,O)};I(o,T=>{e(r).usrcfg&&T(m)});var k=l(o,2),g=l(c(k),3);dn(g,()=>{var T=c(g),O=rv();h1(fe(O),{get chip(){return e(r).chip}}),q(T,O)}),u(k);var A=l(k,2),P=T=>{var O=g1(),C=l(c(O),3);dn(C,()=>{var B=c(C),J=rv();Ms(fe(J),{get chip(){return e(r).chip}}),q(B,J)}),u(O),q(T,O)};I(A,T=>{e(r).board&&e(r).board>20&&T(P)});var R=l(A,2),Y=c(R),H=c(Y);ve(H),H.value=H.__value="true",Rr(),u(Y),u(R),Rr(4),u(p),u(b),u(d),jr(l(d,2),{get active(){return e(a)},message:"Saving"}),At(g,()=>e(r).board,T=>(ee(r,e(r).board=T),G(()=>{}))),hr(H,()=>e(f),T=>E(f,T)),Ue("submit",p,Pn(s)),q(t,i),yt()}var av=F(''),y1=F('
Import
',1),w1=F('
Export
',1),k1=F('
',1);function yu(t,n){xt(n,!1);let r=de(n,"prefix",8),a=de(n,"data",12),s=de(n,"url",8),f=de(n,"basepath",8,"/"),i=W({});Gr.subscribe(le=>{E(i,le)});let d=W(!1),b=W(),p=W();async function S(){if(confirm("Clear all data?"))for(let le in a())(le.startsWith("i")||le.startsWith("e"))&&a(a()[le]=0,!0)}let o=W(!1);async function m(le){E(o,!0);const qe=new FormData(le.target),K=new URLSearchParams;for(let x of qe){const[_,w]=x;K.append(_,w)}await(await fetch(s(),{method:"POST",body:K})).json(),E(o,!1),Za(f())}mr(()=>(e(b),e(p),$(a()),$(r())),()=>{E(b,[]),E(p,[]);for(let le in a()){let qe=[];le.startsWith("i")?qe=e(b):le.startsWith("e")&&(qe=e(p),a()[le]&&E(d,!0)),qe.push({key:le,name:r()+" "+le.substring(1),value:a()[le]})}}),wr(),Mt();var k=k1(),g=fe(k),A=c(g),P=c(A),R=le=>{var qe=y1(),K=l(fe(qe),2);Gt(K,5,()=>e(b),Yt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=l(y,2);ve(N),Rr(2),u(w),j(()=>{h(M,(e(_),v(()=>e(_).name))),Q(N,"name",(e(_),v(()=>e(_).key)))}),Me(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(K),q(le,qe)};I(P,le=>{e(b)&&le(R)});var Y=l(P,2),H=le=>{var qe=w1(),K=l(fe(qe),2);Gt(K,5,()=>e(p),Yt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=l(y,2);ve(N),Rr(2),u(w),j(()=>{h(M,(e(_),v(()=>e(_).name))),Q(N,"name",(e(_),v(()=>e(_).key)))}),Me(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(K),q(le,qe)};I(Y,le=>{e(p)&&e(d)&&le(H)});var T=l(Y,2),O=c(T),C=c(O);u(O);var B=l(O,2),J=c(B),te=c(J,!0);u(J),u(B),u(T),u(A),u(g);var se=l(g,2);{let le=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.saving??"Saving")));jr(se,{get active(){return e(o)},get message(){return e(le)}})}j(()=>h(te,(e(i),v(()=>e(i).btn?.save??"Save")))),Ue("click",C,S),Ue("submit",g,Pn(m)),q(t,k),yt()}function $1(t,n){xt(n,!1);let r="/",a=W();Vs.subscribe(s=>E(a,s)),Mt(),yu(t,{prefix:"UTC Hour",get data(){return e(a)},url:"/dayplot",basepath:r}),yt()}function S1(t,n){xt(n,!1);let r="/",a=W();Xs.subscribe(s=>E(a,s)),Mt(),yu(t,{prefix:"Day",get data(){return e(a)},url:"/monthplot",basepath:r}),yt()}var q1=F('
');function M1(t,n){xt(n,!1);let r=W(document.getElementsByTagName("base")[0].getAttribute("href"));e(r)||E(r,"/");let a={};Gr.subscribe(k=>{a=k});let s,f=W({}),i=W({}),d;Sr.subscribe(k=>{E(i,k),e(i).vndcfg===!1?Za("/vendor"):e(i).usrcfg===!1?Za("/setup"):e(i).fwconsent===0&&Za("/consent"),e(i).ui.k===1?document.documentElement.classList.add("dark"):e(i).ui.k===0?document.documentElement.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),e(i).ui.lang&&e(i).ui.lang!=a?.language?.code&&pu(e(i).ui.lang),e(i).version&&d&&e(i).version!=d&&window.location.reload(),d=e(i).version,s&&clearTimeout(s),s=setTimeout(pn,!e(f)||!e(f).u||e(f).u<30||e(i)?.upgrading?1e4:3e5)}),Co.subscribe(k=>{E(f,k),Cd(k)}),du(),Mt();var b=q1(),p=c(b);td(p,{get data(){return e(f)},get basepath(){return e(r)}});var S=l(p,2);{let k=Ce(()=>({"/":zd,"/configuration":_p,"/priceconfig":Bp,"/status":Fp,"/mqtt-ca":Hp,"/mqtt-cert":Yp,"/mqtt-key":Kp,"/consent":Xp,"/setup":u1,"/vendor":x1,"/edit-day":$1,"/edit-month":S1}));Tf(S,{get routes(){return e(k)}})}var o=l(S,2),m=k=>{var g=qr(),A=fe(g),P=Y=>{jr(Y,{active:"true",get message(){return`Device is booting, please wait. Trying to reach it on ${e(i).trying??""}`}})},R=Y=>{jr(Y,{active:"true",message:"Device is booting, please wait"})};I(A,Y=>{e(i).trying?Y(P):Y(R,-1)}),q(k,g)};I(o,k=>{e(i).booting&&k(m)}),u(b),q(t,b),yt()}var D1=Po(M1,{target:document.getElementById("app")}); diff --git a/ui/src/routes/ConfigurationRoute.svelte b/ui/src/routes/ConfigurationRoute.svelte index c1dafdcc..fecba9c9 100644 --- a/ui/src/routes/ConfigurationRoute.svelte +++ b/ui/src/routes/ConfigurationRoute.svelte @@ -438,6 +438,9 @@ {#if sysinfo?.features?.includes('kmp')} {/if} + {#if sysinfo?.chip != 'esp8266'} + + {/if} {#if configuration.m.a === 2} @@ -445,6 +448,25 @@ {translations.conf?.meter?.pulses ?? "Pulses per kWh"} + {:else if configuration.m.a === 18} + + + +
+
+ {translations.conf?.meter?.c1218?.userid ?? "User ID"}
+ +
+
+ {translations.conf?.meter?.c1218?.username ?? "Username"}
+ +
+
+
+ {translations.conf?.meter?.c1218?.password ?? "Password"}
+ +
+ {:else}
{translations.conf?.meter?.buffer ?? "Buffer size"} @@ -495,6 +517,7 @@
+ {#if configuration.m.a !== 18}
{#if configuration.m.e.e} @@ -507,7 +530,9 @@
{/if} + {/if} + {#if configuration.m.a !== 18} {#if configuration.m.m.e}
@@ -529,6 +554,7 @@
{/if} + {/if} {/if} {#if configuration?.w} From 7f74531e77873705492e51746ec9762d647acaf8 Mon Sep 17 00:00:00 2001 From: "Markus M." Date: Fri, 17 Jul 2026 19:55:49 +0200 Subject: [PATCH 2/7] Fix WiFi setup and unblock C12.18 polling --- src/AmsToMqttBridge.cpp | 5 + src/AmsWebServer.cpp | 7 +- src/C1218MeterCommunicator.cpp | 386 +++++++++++++++++++-------------- src/C1218MeterCommunicator.h | 34 ++- test/test_c1218_nonblocking.py | 8 + 5 files changed, 259 insertions(+), 181 deletions(-) create mode 100644 test/test_c1218_nonblocking.py diff --git a/src/AmsToMqttBridge.cpp b/src/AmsToMqttBridge.cpp index 9e3414ca..2a317d47 100644 --- a/src/AmsToMqttBridge.cpp +++ b/src/AmsToMqttBridge.cpp @@ -1581,6 +1581,11 @@ void connectToNetwork() { NetworkConfig network; if(config.getNetworkConfig(network)) { if(network.mode == 0 || network.mode > 3) network.mode = NETWORK_MODE_WIFI_CLIENT; + if(network.mode != NETWORK_MODE_ETH_CLIENT && strlen(network.ssid) == 0) { + setupMode = false; + toggleSetupMode(); + return; + } if(ch != NULL && ch->getMode() != network.mode) { delete ch; ch = NULL; diff --git a/src/AmsWebServer.cpp b/src/AmsWebServer.cpp index 0cb9c53e..947c3161 100644 --- a/src/AmsWebServer.cpp +++ b/src/AmsWebServer.cpp @@ -1249,6 +1249,7 @@ void AmsWebServer::handleSave() { config->getSystemConfig(sys); bool success = true; + if(server.arg(F("s")) == F("true") && server.arg(F("sc")).toInt() != 3 && server.arg(F("ss")).isEmpty()) success = false; if(server.hasArg(F("v")) && server.arg(F("v")) == F("true")) { int boardType = server.arg(F("vb")).toInt(); int hanPin = server.arg(F("vh")).toInt(); @@ -1267,7 +1268,7 @@ void AmsWebServer::handleSave() { } } - if(server.hasArg(F("s")) && server.arg(F("s")) == F("true")) { + if(success && server.hasArg(F("s")) && server.arg(F("s")) == F("true")) { MeterConfig meterConfig; config->getMeterConfig(meterConfig); @@ -1748,9 +1749,9 @@ void AmsWebServer::handleSave() { debugger->printf_P(PSTR("Saving configuration now...\n")); // If vendor page and clear all config is selected - if(server.hasArg(F("v")) && server.arg(F("v")) == F("true") && server.hasArg(F("vr")) && server.arg(F("vr")) == F("true")) { + if(success && server.hasArg(F("v")) && server.arg(F("v")) == F("true") && server.hasArg(F("vr")) && server.arg(F("vr")) == F("true")) { config->clear(); - } else if(config->save()) { + } else if(success && config->save()) { #if defined(AMS_REMOTE_DEBUG) if (debugger->isActive(RemoteDebug::INFO)) #endif diff --git a/src/C1218MeterCommunicator.cpp b/src/C1218MeterCommunicator.cpp index 5306aeff..3aabdf0b 100644 --- a/src/C1218MeterCommunicator.cpp +++ b/src/C1218MeterCommunicator.cpp @@ -23,7 +23,6 @@ C1218MeterCommunicator::C1218MeterCommunicator(Stream* debugger, AmsConfiguratio : debugger(debugger), config(config) {} C1218MeterCommunicator::~C1218MeterCommunicator() { - closeSession(); serial->end(); } @@ -33,9 +32,12 @@ void C1218MeterCommunicator::configure(MeterConfig& meterConfig, Timezone*) { resetSerial(); initialized = true; sessionOpen = updated = bigEndian = toggle = false; - failures = 0; + failures = attempts = packets = 0; lastError = 0; nextPoll = 0; + stage = WAIT_POLL; + ioState = IO_IDLE; + responseLength = rxLength = rxExpected = 0; } void C1218MeterCommunicator::resetSerial() { @@ -47,24 +49,24 @@ void C1218MeterCommunicator::resetSerial() { bool C1218MeterCommunicator::loop() { uint64_t now = millis64(); - if(!initialized || now < nextPoll) return false; - nextPoll = now + 2000; - - if(sessionOpen && now - sessionStarted >= 300000) closeSession(); - if((!sessionOpen && !openSession()) || !poll()) { - closeSession(); - lastError = 97; - if(++failures >= 3) { - resetSerial(); - failures = 0; + if(!initialized) return false; + + if(ioState != IO_IDLE) { + RequestStatus status = serviceRequest(now); + if(status == PENDING) return false; + if(status == FAILED) { + abortCycle(now); + return false; } - return false; + return finishStage(now); } - failures = 0; - lastError = 0; - updated = true; - return true; + if(stage == WAIT_POLL) { + if(now < nextPoll) return false; + stage = sessionOpen && now - sessionStarted >= 300000 ? LOGOFF : sessionOpen ? TABLE28 : IDENT; + } + startStage(); + return false; } AmsData* C1218MeterCommunicator::getData(AmsData&) { @@ -100,177 +102,227 @@ void C1218MeterCommunicator::ackConfigChanged() {} void C1218MeterCommunicator::getCurrentConfig(MeterConfig& config) { config = meterConfig; } HardwareSerial* C1218MeterCommunicator::getHwSerial() { return serial; } -bool C1218MeterCommunicator::openSession() { - discardInput(); - toggle = false; - uint8_t response[MESSAGE_CAPACITY]; - size_t length; - - const uint8_t ident[] = {0x20}; - length = sizeof(response); - if(!request(ident, sizeof(ident), response, length)) { fail(F("C12.18 IDENT failed")); return false; } - - const uint8_t negotiate[] = {0x61, 0x00, 0x40, 0x02, 0x06}; - length = sizeof(response); - if(!request(negotiate, sizeof(negotiate), response, length)) { fail(F("C12.18 NEGOTIATE failed")); return false; } - - uint8_t logon[13]; - memset(logon, ' ', sizeof(logon)); - logon[0] = 0x50; - logon[1] = c1218Config.userId >> 8; - logon[2] = c1218Config.userId; - memcpy(logon + 3, c1218Config.username, strnlen(c1218Config.username, 10)); - length = sizeof(response); - if(!request(logon, sizeof(logon), response, length)) { fail(F("C12.18 LOGON failed")); return false; } - - uint8_t security[21] = {0x51}; - memcpy(security + 1, c1218Config.password, strnlen(c1218Config.password, 20)); - length = sizeof(response); - if(!request(security, sizeof(security), response, length)) { fail(F("C12.18 SECURITY failed")); return false; } - - length = sizeof(response); - if(!readTable(0, response, length) || length < 3) { fail(F("C12.18 table 0 read failed")); return false; } - uint16_t tableLength = (response[0] << 8) | response[1]; - if(tableLength + 2 > length) { fail(F("C12.18 table 0 is incomplete")); return false; } - bigEndian = (response[2] & 0x01) != 0; - - sessionOpen = true; - sessionStarted = millis64(); - return true; -} - -void C1218MeterCommunicator::closeSession() { - if(!sessionOpen) return; - uint8_t response[8]; - size_t length = sizeof(response); - const uint8_t logoff[] = {0x52}; - request(logoff, sizeof(logoff), response, length); - length = sizeof(response); - const uint8_t terminate[] = {0x21}; - request(terminate, sizeof(terminate), response, length); - sessionOpen = false; -} - -bool C1218MeterCommunicator::poll() { - uint8_t response[MESSAGE_CAPACITY]; - size_t length = sizeof(response); - const size_t values = c1218Config.extendedTable28 ? 26 : 10; - if(!readPartialTable(28, values * 4, response, length) || !parseTable(response, length, table28, values)) { - fail(F("C12.18 table 28 read failed")); - return false; - } - table28Values = values; - - length = sizeof(response); - if(!readPartialTable(23, 8, response, length) || !parseTable(response, length, table23, 2)) { - fail(F("C12.18 table 23 read failed")); - return false; +void C1218MeterCommunicator::startStage() { + switch(stage) { + case IDENT: { + toggle = false; + const uint8_t payload[] = {0x20}; + beginRequest(payload, sizeof(payload)); + break; + } + case NEGOTIATE: { + const uint8_t payload[] = {0x61, 0x00, 0x40, 0x02, 0x06}; + beginRequest(payload, sizeof(payload)); + break; + } + case LOGON: { + uint8_t payload[13]; + memset(payload, ' ', sizeof(payload)); + payload[0] = 0x50; + payload[1] = c1218Config.userId >> 8; + payload[2] = c1218Config.userId; + memcpy(payload + 3, c1218Config.username, strnlen(c1218Config.username, 10)); + beginRequest(payload, sizeof(payload)); + break; + } + case SECURITY: { + uint8_t payload[21] = {0x51}; + memcpy(payload + 1, c1218Config.password, strnlen(c1218Config.password, 20)); + beginRequest(payload, sizeof(payload)); + break; + } + case TABLE0: { + const uint8_t payload[] = {0x30, 0, 0}; + beginRequest(payload, sizeof(payload)); + break; + } + case TABLE28: { + uint16_t bytes = (c1218Config.extendedTable28 ? 26 : 10) * 4; + const uint8_t payload[] = {0x3F, 0, 28, 0, 0, 0, (uint8_t) (bytes >> 8), (uint8_t) bytes}; + beginRequest(payload, sizeof(payload)); + break; + } + case TABLE23: { + const uint8_t payload[] = {0x3F, 0, 23, 0, 0, 0, 0, 8}; + beginRequest(payload, sizeof(payload)); + break; + } + case LOGOFF: { + const uint8_t payload[] = {0x52}; + beginRequest(payload, sizeof(payload)); + break; + } + case TERMINATE: { + const uint8_t payload[] = {0x21}; + beginRequest(payload, sizeof(payload)); + break; + } + default: + break; } - return true; } -bool C1218MeterCommunicator::readTable(uint16_t table, uint8_t* response, size_t& responseLength) { - const uint8_t payload[] = {0x30, (uint8_t) (table >> 8), (uint8_t) table}; - return request(payload, sizeof(payload), response, responseLength); +bool C1218MeterCommunicator::finishStage(uint64_t now) { + switch(stage) { + case IDENT: stage = NEGOTIATE; break; + case NEGOTIATE: stage = LOGON; break; + case LOGON: stage = SECURITY; break; + case SECURITY: stage = TABLE0; break; + case TABLE0: { + if(responseLength < 3 || ((response[0] << 8) | response[1]) + 2 > responseLength) { + fail(F("C12.18 table 0 is incomplete")); + abortCycle(now); + return false; + } + bigEndian = (response[2] & 0x01) != 0; + sessionOpen = true; + sessionStarted = now; + stage = TABLE28; + break; + } + case TABLE28: { + size_t values = c1218Config.extendedTable28 ? 26 : 10; + if(!parseTable(response, responseLength, table28, values)) { + fail(F("C12.18 table 28 read failed")); + abortCycle(now); + return false; + } + table28Values = values; + stage = TABLE23; + break; + } + case TABLE23: + if(!parseTable(response, responseLength, table23, 2)) { + fail(F("C12.18 table 23 read failed")); + abortCycle(now); + return false; + } + failures = 0; + lastError = 0; + updated = true; + nextPoll = now + 2000; + stage = WAIT_POLL; + return true; + case LOGOFF: stage = TERMINATE; break; + case TERMINATE: + sessionOpen = false; + stage = IDENT; + break; + default: + break; + } + return false; } -bool C1218MeterCommunicator::readPartialTable(uint16_t table, uint16_t bytes, uint8_t* response, size_t& responseLength) { - const uint8_t payload[] = {0x3F, (uint8_t) (table >> 8), (uint8_t) table, 0, 0, 0, - (uint8_t) (bytes >> 8), (uint8_t) bytes}; - return request(payload, sizeof(payload), response, responseLength); +void C1218MeterCommunicator::beginRequest(const uint8_t* payload, size_t length) { + txFrame[0] = C1218_START; + txFrame[1] = 0; + txFrame[2] = toggle ? 0x20 : 0; + txFrame[3] = 0; + txFrame[4] = length >> 8; + txFrame[5] = length; + memcpy(txFrame + 6, payload, length); + uint16_t crc = crc16_x25(txFrame, length + 6); + txFrame[length + 6] = crc >> 8; + txFrame[length + 7] = crc; + txLength = length + 8; + toggle = !toggle; + attempts = packets = 0; + responseLength = 0; + transmit(millis64()); } -bool C1218MeterCommunicator::request(const uint8_t* payload, size_t length, uint8_t* response, size_t& responseLength) { - if(!sendFrame(payload, length)) return false; - if(!receiveMessage(response, responseLength) || responseLength < 1 || response[0] != C1218_OK) return false; - memmove(response, response + 1, --responseLength); - return true; +void C1218MeterCommunicator::transmit(uint64_t now) { + discardInput(); + serial->write(txFrame, txLength); + attempts++; + ioState = WAIT_ACK; + deadline = now + RESPONSE_TIMEOUT; } -bool C1218MeterCommunicator::sendFrame(const uint8_t* payload, size_t length) { - if(length + 8 > FRAME_CAPACITY) return false; - uint8_t frame[FRAME_CAPACITY]; - frame[0] = C1218_START; - frame[1] = 0; - frame[2] = toggle ? 0x20 : 0; - frame[3] = 0; - frame[4] = length >> 8; - frame[5] = length; - memcpy(frame + 6, payload, length); - uint16_t crc = crc16_x25(frame, length + 6); - frame[length + 6] = crc >> 8; - frame[length + 7] = crc; - toggle = !toggle; - - for(uint8_t attempt = 0; attempt < 3; attempt++) { - discardInput(); - serial->write(frame, length + 8); - serial->flush(); - uint8_t reply = 0; - if(waitByte(reply) && reply == C1218_ACK) return true; - if(reply != C1218_NACK) delay(20); +C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::serviceRequest(uint64_t now) { + if(ioState == WAIT_ACK) { + if(serial->available()) { + uint8_t reply = serial->read(); + if(reply == C1218_ACK) { + ioState = WAIT_START; + deadline = now + RESPONSE_TIMEOUT; + } else if(attempts < 3) { + transmit(now); + } else { + return FAILED; + } + } else if(now >= deadline) { + if(attempts < 3) transmit(now); + else return FAILED; + } + return PENDING; } - return false; -} -bool C1218MeterCommunicator::receiveMessage(uint8_t* response, size_t& responseLength) { - size_t capacity = responseLength; - responseLength = 0; - for(uint8_t packet = 0; packet < 16; packet++) { - uint8_t payload[FRAME_CAPACITY], control, sequence; - size_t length = sizeof(payload); - if(!receiveFrame(payload, length, control, sequence) || responseLength + length > capacity) return false; - memcpy(response + responseLength, payload, length); - responseLength += length; - if(!(control & 0x80) || sequence == 0) return true; + if(ioState == WAIT_START) { + while(serial->available()) { + if(serial->read() == C1218_START) { + rxFrame[0] = C1218_START; + rxLength = 1; + rxExpected = 6; + ioState = READ_FRAME; + deadline = now + RESPONSE_TIMEOUT; + break; + } + } + if(ioState == WAIT_START) return now >= deadline ? FAILED : PENDING; } - return false; -} -bool C1218MeterCommunicator::receiveFrame(uint8_t* payload, size_t& payloadLength, uint8_t& control, uint8_t& sequence) { - uint8_t value; - do { - if(!waitByte(value)) return false; - } while(value != C1218_START); + while(serial->available() && rxLength < rxExpected) rxFrame[rxLength++] = serial->read(); + if(rxLength < rxExpected) return now >= deadline ? FAILED : PENDING; + + uint16_t length = (rxFrame[4] << 8) | rxFrame[5]; + if(rxExpected == 6) { + if(length + 8 > FRAME_CAPACITY || responseLength + length > MESSAGE_CAPACITY) { + serial->write(C1218_NACK); + return FAILED; + } + rxExpected = length + 8; + deadline = now + RESPONSE_TIMEOUT; + while(serial->available() && rxLength < rxExpected) rxFrame[rxLength++] = serial->read(); + if(rxLength < rxExpected) return PENDING; + } - uint8_t frame[FRAME_CAPACITY]; - frame[0] = value; - if(!readExact(frame + 1, 5)) return false; - control = frame[2]; - sequence = frame[3]; - uint16_t length = (frame[4] << 8) | frame[5]; - if(length > payloadLength || length + 8 > sizeof(frame)) { serial->write(C1218_NACK); return false; } - if(!readExact(frame + 6, length + 2)) { serial->write(C1218_NACK); return false; } - uint16_t crc = crc16_x25(frame, length + 6); - if(frame[length + 6] != (uint8_t) (crc >> 8) || frame[length + 7] != (uint8_t) crc) { + uint16_t crc = crc16_x25(rxFrame, length + 6); + if(rxFrame[length + 6] != (uint8_t) (crc >> 8) || rxFrame[length + 7] != (uint8_t) crc) { serial->write(C1218_NACK); - return false; + return FAILED; } - memcpy(payload, frame + 6, length); - payloadLength = length; - serial->write(C1218_ACK); - serial->flush(); - return true; -} -bool C1218MeterCommunicator::waitByte(uint8_t& value, uint32_t timeout) { - uint32_t start = millis(); - while(millis() - start < timeout) { - if(serial->available()) { value = serial->read(); return true; } - yield(); - delay(1); + memcpy(response + responseLength, rxFrame + 6, length); + responseLength += length; + serial->write(C1218_ACK); + packets++; + if((rxFrame[2] & 0x80) && rxFrame[3] != 0) { + if(packets >= 16) return FAILED; + ioState = WAIT_START; + deadline = now + RESPONSE_TIMEOUT; + return PENDING; } - return false; + + ioState = IO_IDLE; + if(responseLength < 1 || response[0] != C1218_OK) return FAILED; + memmove(response, response + 1, --responseLength); + return COMPLETE; } -bool C1218MeterCommunicator::readExact(uint8_t* target, size_t length, uint32_t timeout) { - size_t offset = 0; - uint32_t start = millis(); - while(offset < length && millis() - start < timeout) { - while(serial->available() && offset < length) target[offset++] = serial->read(); - if(offset < length) { yield(); delay(1); } +void C1218MeterCommunicator::abortCycle(uint64_t now) { + fail(F("C12.18 request failed")); + sessionOpen = false; + toggle = false; + ioState = IO_IDLE; + stage = WAIT_POLL; + nextPoll = now + 2000; + lastError = 97; + if(++failures >= 3) { + resetSerial(); + failures = 0; } - return offset == length; } void C1218MeterCommunicator::discardInput() { diff --git a/src/C1218MeterCommunicator.h b/src/C1218MeterCommunicator.h index 136e04ef..5682d583 100644 --- a/src/C1218MeterCommunicator.h +++ b/src/C1218MeterCommunicator.h @@ -31,6 +31,11 @@ class C1218MeterCommunicator : public MeterCommunicator { private: static const size_t FRAME_CAPACITY = 160; static const size_t MESSAGE_CAPACITY = 192; + static const uint32_t RESPONSE_TIMEOUT = 2000; + + enum Stage : uint8_t { WAIT_POLL, IDENT, NEGOTIATE, LOGON, SECURITY, TABLE0, TABLE28, TABLE23, LOGOFF, TERMINATE }; + enum IoState : uint8_t { IO_IDLE, WAIT_ACK, WAIT_START, READ_FRAME }; + enum RequestStatus : uint8_t { PENDING, COMPLETE, FAILED }; #if defined(AMS_REMOTE_DEBUG) RemoteDebug* debugger; @@ -54,19 +59,26 @@ class C1218MeterCommunicator : public MeterCommunicator { int32_t table23[2] = {}; int32_t table28[26] = {}; size_t table28Values = 0; + Stage stage = WAIT_POLL; + IoState ioState = IO_IDLE; + uint8_t attempts = 0; + uint8_t packets = 0; + uint8_t txFrame[FRAME_CAPACITY] = {}; + size_t txLength = 0; + uint8_t rxFrame[FRAME_CAPACITY] = {}; + size_t rxLength = 0; + size_t rxExpected = 0; + uint8_t response[MESSAGE_CAPACITY] = {}; + size_t responseLength = 0; + uint64_t deadline = 0; void resetSerial(); - bool openSession(); - void closeSession(); - bool poll(); - bool request(const uint8_t* payload, size_t length, uint8_t* response, size_t& responseLength); - bool sendFrame(const uint8_t* payload, size_t length); - bool receiveMessage(uint8_t* response, size_t& responseLength); - bool receiveFrame(uint8_t* payload, size_t& payloadLength, uint8_t& control, uint8_t& sequence); - bool readTable(uint16_t table, uint8_t* response, size_t& responseLength); - bool readPartialTable(uint16_t table, uint16_t length, uint8_t* response, size_t& responseLength); - bool waitByte(uint8_t& value, uint32_t timeout = 2000); - bool readExact(uint8_t* target, size_t length, uint32_t timeout = 2000); + void startStage(); + bool finishStage(uint64_t now); + void beginRequest(const uint8_t* payload, size_t length); + void transmit(uint64_t now); + RequestStatus serviceRequest(uint64_t now); + void abortCycle(uint64_t now); void discardInput(); void fail(const __FlashStringHelper* message); int32_t readInt32(const uint8_t* value) const; diff --git a/test/test_c1218_nonblocking.py b/test/test_c1218_nonblocking.py new file mode 100644 index 00000000..7ceb6432 --- /dev/null +++ b/test/test_c1218_nonblocking.py @@ -0,0 +1,8 @@ +from pathlib import Path + + +source = Path("src/C1218MeterCommunicator.cpp").read_text() +assert "waitByte" not in source +assert "readExact" not in source +assert "delay(" not in source +assert "serviceRequest" in source From 9be8c1f9c7529b1df863cf6ca1329ecdb58cfe8f Mon Sep 17 00:00:00 2001 From: "Markus M." Date: Sat, 18 Jul 2026 08:56:32 +0200 Subject: [PATCH 3/7] Add C12.18 diagnostics and retry backoff --- src/C1218MeterCommunicator.cpp | 69 ++++++++++++++++++++++++++-------- src/C1218MeterCommunicator.h | 3 ++ test/test_c1218_nonblocking.py | 7 ++++ 3 files changed, 63 insertions(+), 16 deletions(-) diff --git a/src/C1218MeterCommunicator.cpp b/src/C1218MeterCommunicator.cpp index 3aabdf0b..30610dd4 100644 --- a/src/C1218MeterCommunicator.cpp +++ b/src/C1218MeterCommunicator.cpp @@ -45,6 +45,10 @@ void C1218MeterCommunicator::resetSerial() { serial->setRxBufferSize(256); serial->begin(9600, SERIAL_8N1, meterConfig.rxPin, meterConfig.txPin, meterConfig.invert); discardInput(); + debugger->print(F("C12.18 UART configured: RX=")); + debugger->print(meterConfig.rxPin); + debugger->print(F(", TX=")); + debugger->println(meterConfig.txPin); } bool C1218MeterCommunicator::loop() { @@ -170,7 +174,7 @@ bool C1218MeterCommunicator::finishStage(uint64_t now) { case SECURITY: stage = TABLE0; break; case TABLE0: { if(responseLength < 3 || ((response[0] << 8) | response[1]) + 2 > responseLength) { - fail(F("C12.18 table 0 is incomplete")); + requestFailed(F("incomplete response")); abortCycle(now); return false; } @@ -183,7 +187,7 @@ bool C1218MeterCommunicator::finishStage(uint64_t now) { case TABLE28: { size_t values = c1218Config.extendedTable28 ? 26 : 10; if(!parseTable(response, responseLength, table28, values)) { - fail(F("C12.18 table 28 read failed")); + requestFailed(F("invalid table response")); abortCycle(now); return false; } @@ -193,7 +197,7 @@ bool C1218MeterCommunicator::finishStage(uint64_t now) { } case TABLE23: if(!parseTable(response, responseLength, table23, 2)) { - fail(F("C12.18 table 23 read failed")); + requestFailed(F("invalid table response")); abortCycle(now); return false; } @@ -206,7 +210,8 @@ bool C1218MeterCommunicator::finishStage(uint64_t now) { case LOGOFF: stage = TERMINATE; break; case TERMINATE: sessionOpen = false; - stage = IDENT; + stage = WAIT_POLL; + nextPoll = now + RETRY_DELAY; break; default: break; @@ -250,11 +255,11 @@ C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::serviceRequest(uin } else if(attempts < 3) { transmit(now); } else { - return FAILED; + return requestFailed(reply == C1218_NACK ? F("NACK") : F("unexpected ACK reply")); } } else if(now >= deadline) { if(attempts < 3) transmit(now); - else return FAILED; + else return requestFailed(F("ACK timeout")); } return PENDING; } @@ -270,7 +275,7 @@ C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::serviceRequest(uin break; } } - if(ioState == WAIT_START) return now >= deadline ? FAILED : PENDING; + if(ioState == WAIT_START) return now >= deadline ? requestFailed(F("frame start timeout")) : PENDING; } while(serial->available() && rxLength < rxExpected) rxFrame[rxLength++] = serial->read(); @@ -280,7 +285,7 @@ C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::serviceRequest(uin if(rxExpected == 6) { if(length + 8 > FRAME_CAPACITY || responseLength + length > MESSAGE_CAPACITY) { serial->write(C1218_NACK); - return FAILED; + return requestFailed(F("frame too large")); } rxExpected = length + 8; deadline = now + RESPONSE_TIMEOUT; @@ -291,7 +296,7 @@ C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::serviceRequest(uin uint16_t crc = crc16_x25(rxFrame, length + 6); if(rxFrame[length + 6] != (uint8_t) (crc >> 8) || rxFrame[length + 7] != (uint8_t) crc) { serial->write(C1218_NACK); - return FAILED; + return requestFailed(F("CRC mismatch")); } memcpy(response + responseLength, rxFrame + 6, length); @@ -299,27 +304,59 @@ C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::serviceRequest(uin serial->write(C1218_ACK); packets++; if((rxFrame[2] & 0x80) && rxFrame[3] != 0) { - if(packets >= 16) return FAILED; + if(packets >= 16) return requestFailed(F("packet limit exceeded")); ioState = WAIT_START; deadline = now + RESPONSE_TIMEOUT; return PENDING; } ioState = IO_IDLE; - if(responseLength < 1 || response[0] != C1218_OK) return FAILED; + if(responseLength < 1) return requestFailed(F("empty response")); + if(response[0] != C1218_OK) return requestFailed(F("meter status error")); memmove(response, response + 1, --responseLength); return COMPLETE; } +C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::requestFailed(const __FlashStringHelper* reason) { + debugger->print(F("C12.18 ")); + debugger->print(stageName()); + debugger->print(F(" failed on RX=")); + debugger->print(meterConfig.rxPin); + debugger->print(F(", TX=")); + debugger->print(meterConfig.txPin); + debugger->print(F(": ")); + debugger->println(reason); + return FAILED; +} + +const char* C1218MeterCommunicator::stageName() const { + switch(stage) { + case IDENT: return "IDENT"; + case NEGOTIATE: return "NEGOTIATE"; + case LOGON: return "LOGON"; + case SECURITY: return "SECURITY"; + case TABLE0: return "TABLE0"; + case TABLE28: return "TABLE28"; + case TABLE23: return "TABLE23"; + case LOGOFF: return "LOGOFF"; + case TERMINATE: return "TERMINATE"; + default: return "WAIT_POLL"; + } +} + void C1218MeterCommunicator::abortCycle(uint64_t now) { - fail(F("C12.18 request failed")); - sessionOpen = false; - toggle = false; ioState = IO_IDLE; - stage = WAIT_POLL; - nextPoll = now + 2000; + if(sessionOpen && stage != LOGOFF && stage != TERMINATE) { + stage = LOGOFF; + } else { + sessionOpen = false; + toggle = false; + stage = WAIT_POLL; + nextPoll = now + RETRY_DELAY; + } lastError = 97; if(++failures >= 3) { + fail(F("C12.18 resetting UART after 3 failed cycles")); resetSerial(); failures = 0; } diff --git a/src/C1218MeterCommunicator.h b/src/C1218MeterCommunicator.h index 5682d583..974d8adc 100644 --- a/src/C1218MeterCommunicator.h +++ b/src/C1218MeterCommunicator.h @@ -32,6 +32,7 @@ class C1218MeterCommunicator : public MeterCommunicator { static const size_t FRAME_CAPACITY = 160; static const size_t MESSAGE_CAPACITY = 192; static const uint32_t RESPONSE_TIMEOUT = 2000; + static const uint32_t RETRY_DELAY = 5000; enum Stage : uint8_t { WAIT_POLL, IDENT, NEGOTIATE, LOGON, SECURITY, TABLE0, TABLE28, TABLE23, LOGOFF, TERMINATE }; enum IoState : uint8_t { IO_IDLE, WAIT_ACK, WAIT_START, READ_FRAME }; @@ -78,6 +79,8 @@ class C1218MeterCommunicator : public MeterCommunicator { void beginRequest(const uint8_t* payload, size_t length); void transmit(uint64_t now); RequestStatus serviceRequest(uint64_t now); + RequestStatus requestFailed(const __FlashStringHelper* reason); + const char* stageName() const; void abortCycle(uint64_t now); void discardInput(); void fail(const __FlashStringHelper* message); diff --git a/test/test_c1218_nonblocking.py b/test/test_c1218_nonblocking.py index 7ceb6432..b3ba22b7 100644 --- a/test/test_c1218_nonblocking.py +++ b/test/test_c1218_nonblocking.py @@ -6,3 +6,10 @@ assert "readExact" not in source assert "delay(" not in source assert "serviceRequest" in source + +abort_cycle = source.split("void C1218MeterCommunicator::abortCycle", 1)[1].split("void C1218MeterCommunicator::discardInput", 1)[0] +assert "sessionOpen && stage != LOGOFF && stage != TERMINATE" in abort_cycle +assert "stage = LOGOFF" in abort_cycle +assert "requestFailed" in source +assert "UART configured: RX=" in source +assert "nextPoll = now + RETRY_DELAY" in source From 59b02a47856c3220e0a9a44d03e0a38187e463d5 Mon Sep 17 00:00:00 2001 From: "Markus M." Date: Sat, 18 Jul 2026 09:10:18 +0200 Subject: [PATCH 4/7] Align C12.18 retries and packet timing Implement ANSI C12.18 channel and inter-character timeouts, three link-layer retries, ACK/NACK turnaround, negotiated packet parameters, duplicate detection, sequence validation, and optional-service fallbacks. --- src/C1218MeterCommunicator.cpp | 185 +++++++++++++++++++++++++++------ src/C1218MeterCommunicator.h | 20 ++++ test/test_c1218_nonblocking.py | 10 +- 3 files changed, 183 insertions(+), 32 deletions(-) diff --git a/src/C1218MeterCommunicator.cpp b/src/C1218MeterCommunicator.cpp index 30610dd4..b95f9f09 100644 --- a/src/C1218MeterCommunicator.cpp +++ b/src/C1218MeterCommunicator.cpp @@ -14,6 +14,12 @@ static const uint8_t C1218_ACK = 0x06; static const uint8_t C1218_NACK = 0x15; static const uint8_t C1218_START = 0xEE; static const uint8_t C1218_OK = 0x00; +static const uint8_t C1218_SNS = 0x02; + +static uint32_t c1218Baud(uint8_t code) { + static const uint32_t rates[] = {0, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200, 128000, 256000}; + return code < sizeof(rates) / sizeof(rates[0]) ? rates[code] : 0; +} #if defined(AMS_REMOTE_DEBUG) C1218MeterCommunicator::C1218MeterCommunicator(RemoteDebug* debugger, AmsConfiguration* config) @@ -29,21 +35,29 @@ C1218MeterCommunicator::~C1218MeterCommunicator() { void C1218MeterCommunicator::configure(MeterConfig& meterConfig, Timezone*) { this->meterConfig = meterConfig; config->getC1218Config(c1218Config); + serialBaud = 9600; resetSerial(); initialized = true; sessionOpen = updated = bigEndian = toggle = false; + sessionNegotiated = false; + packetSize = DEFAULT_PACKET_SIZE; + maxPackets = DEFAULT_MAX_PACKETS; failures = attempts = packets = 0; lastError = 0; nextPoll = 0; stage = WAIT_POLL; ioState = IO_IDLE; responseLength = rxLength = rxExpected = 0; + intercharacterDeadline = 0; + rejectedPackets = 0; + hasLastRxPacket = false; + expectedRxSequence = 0; } void C1218MeterCommunicator::resetSerial() { serial->end(); serial->setRxBufferSize(256); - serial->begin(9600, SERIAL_8N1, meterConfig.rxPin, meterConfig.txPin, meterConfig.invert); + serial->begin(serialBaud, SERIAL_8N1, meterConfig.rxPin, meterConfig.txPin, meterConfig.invert); discardInput(); debugger->print(F("C12.18 UART configured: RX=")); debugger->print(meterConfig.rxPin); @@ -130,6 +144,10 @@ void C1218MeterCommunicator::startStage() { break; } case SECURITY: { + if(!c1218Config.password[0]) { + stage = TABLE0; + break; + } uint8_t payload[21] = {0x51}; memcpy(payload + 1, c1218Config.password, strnlen(c1218Config.password, 20)); beginRequest(payload, sizeof(payload)); @@ -141,7 +159,8 @@ void C1218MeterCommunicator::startStage() { break; } case TABLE28: { - uint16_t bytes = (c1218Config.extendedTable28 ? 26 : 10) * 4; + bool extended = c1218Config.extendedTable28 && maxPackets > 1; + uint16_t bytes = (extended ? 26 : 10) * 4; const uint8_t payload[] = {0x3F, 0, 28, 0, 0, 0, (uint8_t) (bytes >> 8), (uint8_t) bytes}; beginRequest(payload, sizeof(payload)); break; @@ -169,9 +188,48 @@ void C1218MeterCommunicator::startStage() { bool C1218MeterCommunicator::finishStage(uint64_t now) { switch(stage) { case IDENT: stage = NEGOTIATE; break; - case NEGOTIATE: stage = LOGON; break; - case LOGON: stage = SECURITY; break; - case SECURITY: stage = TABLE0; break; + case NEGOTIATE: + if(responseLength == 1 && response[0] == C1218_SNS) { + sessionNegotiated = false; + packetSize = DEFAULT_PACKET_SIZE; + maxPackets = DEFAULT_MAX_PACKETS; + responseLength = 0; + stage = LOGON; + break; + } + if(responseLength < 3) { + requestFailed(F("invalid negotiate response")); + abortCycle(now); + return false; + } + packetSize = ((uint16_t) response[0] << 8) | response[1]; + maxPackets = response[2]; + if(packetSize < 32 || packetSize > FRAME_CAPACITY || maxPackets == 0) { + requestFailed(F("invalid negotiate values")); + abortCycle(now); + return false; + } + if(responseLength >= 4) { + uint32_t baud = c1218Baud(response[3]); + if(baud && baud != serialBaud) { + serialBaud = baud; + serial->updateBaudRate(baud); + debugger->print(F("C12.18 negotiated baud: ")); + debugger->println(baud); + } + } + sessionNegotiated = true; + stage = LOGON; + break; + case LOGON: + sessionOpen = true; + sessionStarted = now; + stage = SECURITY; + break; + case SECURITY: + if(responseLength == 1 && response[0] == C1218_SNS) responseLength = 0; + stage = TABLE0; + break; case TABLE0: { if(responseLength < 3 || ((response[0] << 8) | response[1]) + 2 > responseLength) { requestFailed(F("incomplete response")); @@ -179,8 +237,6 @@ bool C1218MeterCommunicator::finishStage(uint64_t now) { return false; } bigEndian = (response[2] & 0x01) != 0; - sessionOpen = true; - sessionStarted = now; stage = TABLE28; break; } @@ -207,9 +263,16 @@ bool C1218MeterCommunicator::finishStage(uint64_t now) { nextPoll = now + 2000; stage = WAIT_POLL; return true; - case LOGOFF: stage = TERMINATE; break; + case LOGOFF: + sessionOpen = false; + stage = TERMINATE; + break; case TERMINATE: sessionOpen = false; + sessionNegotiated = false; + packetSize = DEFAULT_PACKET_SIZE; + maxPackets = DEFAULT_MAX_PACKETS; + serialBaud = 9600; stage = WAIT_POLL; nextPoll = now + RETRY_DELAY; break; @@ -234,6 +297,9 @@ void C1218MeterCommunicator::beginRequest(const uint8_t* payload, size_t length) toggle = !toggle; attempts = packets = 0; responseLength = 0; + rejectedPackets = 0; + hasLastRxPacket = false; + expectedRxSequence = 0; transmit(millis64()); } @@ -245,20 +311,25 @@ void C1218MeterCommunicator::transmit(uint64_t now) { deadline = now + RESPONSE_TIMEOUT; } +void C1218MeterCommunicator::sendControl(uint8_t control) { + delayMicroseconds(175); + serial->write(control); +} + C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::serviceRequest(uint64_t now) { if(ioState == WAIT_ACK) { if(serial->available()) { uint8_t reply = serial->read(); if(reply == C1218_ACK) { ioState = WAIT_START; - deadline = now + RESPONSE_TIMEOUT; - } else if(attempts < 3) { + deadline = now + CHANNEL_TIMEOUT; + } else if(attempts <= MAX_RETRIES) { transmit(now); } else { return requestFailed(reply == C1218_NACK ? F("NACK") : F("unexpected ACK reply")); } } else if(now >= deadline) { - if(attempts < 3) transmit(now); + if(attempts <= MAX_RETRIES) transmit(now); else return requestFailed(F("ACK timeout")); } return PENDING; @@ -271,53 +342,106 @@ C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::serviceRequest(uin rxLength = 1; rxExpected = 6; ioState = READ_FRAME; - deadline = now + RESPONSE_TIMEOUT; + intercharacterDeadline = now + INTERCHAR_TIMEOUT; break; } } if(ioState == WAIT_START) return now >= deadline ? requestFailed(F("frame start timeout")) : PENDING; } - while(serial->available() && rxLength < rxExpected) rxFrame[rxLength++] = serial->read(); - if(rxLength < rxExpected) return now >= deadline ? FAILED : PENDING; + while(serial->available() && rxLength < rxExpected) { + rxFrame[rxLength++] = serial->read(); + intercharacterDeadline = now + INTERCHAR_TIMEOUT; + } + if(rxLength < rxExpected) return now >= intercharacterDeadline ? rejectPacket(F("inter-character timeout"), now) : PENDING; uint16_t length = (rxFrame[4] << 8) | rxFrame[5]; if(rxExpected == 6) { - if(length + 8 > FRAME_CAPACITY || responseLength + length > MESSAGE_CAPACITY) { - serial->write(C1218_NACK); - return requestFailed(F("frame too large")); + if(length + 8 > FRAME_CAPACITY || length + 8 > packetSize || responseLength + length > MESSAGE_CAPACITY) { + return rejectPacket(F("frame too large"), now); } rxExpected = length + 8; - deadline = now + RESPONSE_TIMEOUT; - while(serial->available() && rxLength < rxExpected) rxFrame[rxLength++] = serial->read(); - if(rxLength < rxExpected) return PENDING; + intercharacterDeadline = now + INTERCHAR_TIMEOUT; + while(serial->available() && rxLength < rxExpected) { + rxFrame[rxLength++] = serial->read(); + intercharacterDeadline = now + INTERCHAR_TIMEOUT; + } + if(rxLength < rxExpected) return now >= intercharacterDeadline ? rejectPacket(F("inter-character timeout"), now) : PENDING; } uint16_t crc = crc16_x25(rxFrame, length + 6); if(rxFrame[length + 6] != (uint8_t) (crc >> 8) || rxFrame[length + 7] != (uint8_t) crc) { - serial->write(C1218_NACK); - return requestFailed(F("CRC mismatch")); + return rejectPacket(F("CRC mismatch"), now); } + uint8_t identity = rxFrame[1]; + uint8_t control = rxFrame[2]; + uint8_t sequence = rxFrame[3]; + uint16_t wireCrc = ((uint16_t) rxFrame[length + 6] << 8) | rxFrame[length + 7]; + if(identity == 0xFF || (control & 0x1F)) return rejectPacket(F("invalid packet control"), now); + if(hasLastRxPacket && identity == lastRxIdentity && control == lastRxControl && sequence == lastRxSequence && wireCrc == lastRxCrc) { + sendControl(C1218_ACK); + ioState = WAIT_START; + deadline = now + CHANNEL_TIMEOUT; + return PENDING; + } + if(packets == 0) { + if(control & 0x80) { + if(!(control & 0x40) || sequence == 0) return rejectPacket(F("invalid first sequence"), now); + expectedRxSequence = sequence - 1; + } else if((control & 0x40) || sequence != 0) { + return rejectPacket(F("invalid packet sequence"), now); + } + } else { + if(!(control & 0x80) || (control & 0x40) || sequence != expectedRxSequence || identity != lastRxIdentity || ((control & 0x20) == (lastRxControl & 0x20))) { + return rejectPacket(F("invalid packet sequence"), now); + } + if(expectedRxSequence > 0) expectedRxSequence--; + } + lastRxIdentity = identity; + lastRxControl = control; + lastRxSequence = sequence; + lastRxCrc = wireCrc; + hasLastRxPacket = true; + rejectedPackets = 0; + + if(packets >= maxPackets) return rejectPacket(F("packet limit exceeded"), now); memcpy(response + responseLength, rxFrame + 6, length); responseLength += length; - serial->write(C1218_ACK); + sendControl(C1218_ACK); packets++; - if((rxFrame[2] & 0x80) && rxFrame[3] != 0) { - if(packets >= 16) return requestFailed(F("packet limit exceeded")); + if((control & 0x80) && sequence != 0) { ioState = WAIT_START; - deadline = now + RESPONSE_TIMEOUT; + deadline = now + CHANNEL_TIMEOUT; return PENDING; } ioState = IO_IDLE; if(responseLength < 1) return requestFailed(F("empty response")); - if(response[0] != C1218_OK) return requestFailed(F("meter status error")); + if(response[0] != C1218_OK) { + if((stage == NEGOTIATE || stage == SECURITY) && response[0] == C1218_SNS) return COMPLETE; + return requestFailed(F("meter status error")); + } memmove(response, response + 1, --responseLength); return COMPLETE; } C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::requestFailed(const __FlashStringHelper* reason) { + logFailure(reason); + return FAILED; +} + +C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::rejectPacket(const __FlashStringHelper* reason, uint64_t now) { + logFailure(reason); + sendControl(C1218_NACK); + if(++rejectedPackets > MAX_RETRIES) return FAILED; + rxLength = rxExpected = 0; + ioState = WAIT_START; + deadline = now + CHANNEL_TIMEOUT; + return PENDING; +} + +void C1218MeterCommunicator::logFailure(const __FlashStringHelper* reason) { debugger->print(F("C12.18 ")); debugger->print(stageName()); debugger->print(F(" failed on RX=")); @@ -326,7 +450,6 @@ C1218MeterCommunicator::RequestStatus C1218MeterCommunicator::requestFailed(cons debugger->print(meterConfig.txPin); debugger->print(F(": ")); debugger->println(reason); - return FAILED; } const char* C1218MeterCommunicator::stageName() const { @@ -346,8 +469,9 @@ const char* C1218MeterCommunicator::stageName() const { void C1218MeterCommunicator::abortCycle(uint64_t now) { ioState = IO_IDLE; - if(sessionOpen && stage != LOGOFF && stage != TERMINATE) { - stage = LOGOFF; + bool sessionMayBeOpen = sessionOpen || (stage >= LOGON && stage < LOGOFF); + if(sessionMayBeOpen && stage != LOGOFF && stage != TERMINATE) { + stage = sessionOpen ? LOGOFF : TERMINATE; } else { sessionOpen = false; toggle = false; @@ -357,6 +481,7 @@ void C1218MeterCommunicator::abortCycle(uint64_t now) { lastError = 97; if(++failures >= 3) { fail(F("C12.18 resetting UART after 3 failed cycles")); + serialBaud = 9600; resetSerial(); failures = 0; } diff --git a/src/C1218MeterCommunicator.h b/src/C1218MeterCommunicator.h index 974d8adc..2717ea2f 100644 --- a/src/C1218MeterCommunicator.h +++ b/src/C1218MeterCommunicator.h @@ -32,7 +32,12 @@ class C1218MeterCommunicator : public MeterCommunicator { static const size_t FRAME_CAPACITY = 160; static const size_t MESSAGE_CAPACITY = 192; static const uint32_t RESPONSE_TIMEOUT = 2000; + static const uint32_t CHANNEL_TIMEOUT = 6000; + static const uint32_t INTERCHAR_TIMEOUT = 500; static const uint32_t RETRY_DELAY = 5000; + static const uint8_t MAX_RETRIES = 3; + static const uint8_t DEFAULT_MAX_PACKETS = 1; + static const uint16_t DEFAULT_PACKET_SIZE = 64; enum Stage : uint8_t { WAIT_POLL, IDENT, NEGOTIATE, LOGON, SECURITY, TABLE0, TABLE28, TABLE23, LOGOFF, TERMINATE }; enum IoState : uint8_t { IO_IDLE, WAIT_ACK, WAIT_START, READ_FRAME }; @@ -53,10 +58,14 @@ class C1218MeterCommunicator : public MeterCommunicator { bool updated = false; bool bigEndian = false; bool toggle = false; + bool sessionNegotiated = false; uint8_t failures = 0; int lastError = 0; uint64_t nextPoll = 0; uint64_t sessionStarted = 0; + uint16_t packetSize = DEFAULT_PACKET_SIZE; + uint8_t maxPackets = DEFAULT_MAX_PACKETS; + uint32_t serialBaud = 9600; int32_t table23[2] = {}; int32_t table28[26] = {}; size_t table28Values = 0; @@ -72,14 +81,25 @@ class C1218MeterCommunicator : public MeterCommunicator { uint8_t response[MESSAGE_CAPACITY] = {}; size_t responseLength = 0; uint64_t deadline = 0; + uint64_t intercharacterDeadline = 0; + uint8_t rejectedPackets = 0; + bool hasLastRxPacket = false; + uint8_t lastRxIdentity = 0; + uint8_t lastRxControl = 0; + uint8_t lastRxSequence = 0; + uint16_t lastRxCrc = 0; + uint8_t expectedRxSequence = 0; void resetSerial(); void startStage(); bool finishStage(uint64_t now); void beginRequest(const uint8_t* payload, size_t length); void transmit(uint64_t now); + void sendControl(uint8_t control); RequestStatus serviceRequest(uint64_t now); RequestStatus requestFailed(const __FlashStringHelper* reason); + RequestStatus rejectPacket(const __FlashStringHelper* reason, uint64_t now); + void logFailure(const __FlashStringHelper* reason); const char* stageName() const; void abortCycle(uint64_t now); void discardInput(); diff --git a/test/test_c1218_nonblocking.py b/test/test_c1218_nonblocking.py index b3ba22b7..19eea33c 100644 --- a/test/test_c1218_nonblocking.py +++ b/test/test_c1218_nonblocking.py @@ -5,11 +5,17 @@ assert "waitByte" not in source assert "readExact" not in source assert "delay(" not in source +assert "delayMicroseconds(175)" in source assert "serviceRequest" in source abort_cycle = source.split("void C1218MeterCommunicator::abortCycle", 1)[1].split("void C1218MeterCommunicator::discardInput", 1)[0] -assert "sessionOpen && stage != LOGOFF && stage != TERMINATE" in abort_cycle -assert "stage = LOGOFF" in abort_cycle +assert "sessionMayBeOpen" in abort_cycle +assert "stage = sessionOpen ? LOGOFF : TERMINATE" in abort_cycle assert "requestFailed" in source +assert "rejectPacket" in source +assert "MAX_RETRIES" in source +assert "CHANNEL_TIMEOUT" in source +assert "INTERCHAR_TIMEOUT" in source +assert "C1218_SNS" in source assert "UART configured: RX=" in source assert "nextPoll = now + RETRY_DELAY" in source From c797abf569dfedb9208b5374f0783468f9627fe2 Mon Sep 17 00:00:00 2001 From: "Markus M." Date: Sat, 18 Jul 2026 19:50:06 +0200 Subject: [PATCH 5/7] Reduce extended meter table polling Keep energy values on the fast poll cycle and refresh extended table 28 hardware values every 60 seconds. --- src/C1218MeterCommunicator.cpp | 28 ++++++++++++++++++---------- src/C1218MeterCommunicator.h | 3 +++ test/test_c1218_nonblocking.py | 2 ++ 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/C1218MeterCommunicator.cpp b/src/C1218MeterCommunicator.cpp index b95f9f09..b194d4d5 100644 --- a/src/C1218MeterCommunicator.cpp +++ b/src/C1218MeterCommunicator.cpp @@ -42,6 +42,8 @@ void C1218MeterCommunicator::configure(MeterConfig& meterConfig, Timezone*) { sessionNegotiated = false; packetSize = DEFAULT_PACKET_SIZE; maxPackets = DEFAULT_MAX_PACKETS; + nextExtendedTable = 0; + readExtendedTable = false; failures = attempts = packets = 0; lastError = 0; nextPoll = 0; @@ -97,12 +99,14 @@ AmsData* C1218MeterCommunicator::getData(AmsData&) { data->apply(OBIS_ACTIVE_EXPORT, max((int32_t) 0, table28[1]), now); data->apply(OBIS_REACTIVE_IMPORT, max((int32_t) 0, table28[2]), now); data->apply(OBIS_REACTIVE_EXPORT, max((int32_t) 0, table28[3]), now); - data->apply(OBIS_CURRENT_L1, table28[4] / 1000.0, now); - data->apply(OBIS_CURRENT_L2, table28[5] / 1000.0, now); - data->apply(OBIS_CURRENT_L3, table28[6] / 1000.0, now); - data->apply(OBIS_VOLTAGE_L1, table28[7] / 1000.0, now); - data->apply(OBIS_VOLTAGE_L2, table28[8] / 1000.0, now); - data->apply(OBIS_VOLTAGE_L3, table28[9] / 1000.0, now); + if(table28Values >= 10) { + data->apply(OBIS_CURRENT_L1, table28[4] / 1000.0, now); + data->apply(OBIS_CURRENT_L2, table28[5] / 1000.0, now); + data->apply(OBIS_CURRENT_L3, table28[6] / 1000.0, now); + data->apply(OBIS_VOLTAGE_L1, table28[7] / 1000.0, now); + data->apply(OBIS_VOLTAGE_L2, table28[8] / 1000.0, now); + data->apply(OBIS_VOLTAGE_L3, table28[9] / 1000.0, now); + } if(table28Values >= 15) { data->apply(OBIS_POWER_FACTOR, table28[10] / 1000.0, now); data->apply(OBIS_POWER_FACTOR_L1, table28[10] / 1000.0, now); @@ -159,8 +163,11 @@ void C1218MeterCommunicator::startStage() { break; } case TABLE28: { - bool extended = c1218Config.extendedTable28 && maxPackets > 1; - uint16_t bytes = (extended ? 26 : 10) * 4; + bool canReadExtended = c1218Config.extendedTable28 && maxPackets > 1; + bool extended = canReadExtended && millis64() >= nextExtendedTable; + readExtendedTable = extended; + uint16_t values = extended ? 26 : (canReadExtended ? 4 : 10); + uint16_t bytes = values * 4; const uint8_t payload[] = {0x3F, 0, 28, 0, 0, 0, (uint8_t) (bytes >> 8), (uint8_t) bytes}; beginRequest(payload, sizeof(payload)); break; @@ -241,13 +248,14 @@ bool C1218MeterCommunicator::finishStage(uint64_t now) { break; } case TABLE28: { - size_t values = c1218Config.extendedTable28 ? 26 : 10; + size_t values = c1218Config.extendedTable28 && maxPackets > 1 ? (readExtendedTable ? 26 : 4) : 10; if(!parseTable(response, responseLength, table28, values)) { requestFailed(F("invalid table response")); abortCycle(now); return false; } - table28Values = values; + if(readExtendedTable || table28Values < values) table28Values = values; + if(readExtendedTable) nextExtendedTable = now + EXTENDED_TABLE_INTERVAL; stage = TABLE23; break; } diff --git a/src/C1218MeterCommunicator.h b/src/C1218MeterCommunicator.h index 2717ea2f..af33b54f 100644 --- a/src/C1218MeterCommunicator.h +++ b/src/C1218MeterCommunicator.h @@ -35,6 +35,7 @@ class C1218MeterCommunicator : public MeterCommunicator { static const uint32_t CHANNEL_TIMEOUT = 6000; static const uint32_t INTERCHAR_TIMEOUT = 500; static const uint32_t RETRY_DELAY = 5000; + static const uint32_t EXTENDED_TABLE_INTERVAL = 60000; static const uint8_t MAX_RETRIES = 3; static const uint8_t DEFAULT_MAX_PACKETS = 1; static const uint16_t DEFAULT_PACKET_SIZE = 64; @@ -66,6 +67,8 @@ class C1218MeterCommunicator : public MeterCommunicator { uint16_t packetSize = DEFAULT_PACKET_SIZE; uint8_t maxPackets = DEFAULT_MAX_PACKETS; uint32_t serialBaud = 9600; + uint64_t nextExtendedTable = 0; + bool readExtendedTable = false; int32_t table23[2] = {}; int32_t table28[26] = {}; size_t table28Values = 0; diff --git a/test/test_c1218_nonblocking.py b/test/test_c1218_nonblocking.py index 19eea33c..436c44e5 100644 --- a/test/test_c1218_nonblocking.py +++ b/test/test_c1218_nonblocking.py @@ -16,6 +16,8 @@ assert "MAX_RETRIES" in source assert "CHANNEL_TIMEOUT" in source assert "INTERCHAR_TIMEOUT" in source +assert "EXTENDED_TABLE_INTERVAL" in source +assert "readExtendedTable" in source assert "C1218_SNS" in source assert "UART configured: RX=" in source assert "nextPoll = now + RETRY_DELAY" in source From f7cf14c5d3f05cd93f13202758b2ebd95199a54e Mon Sep 17 00:00:00 2001 From: "Markus M." Date: Sun, 26 Jul 2026 17:22:10 +0200 Subject: [PATCH 6/7] Add configurable C12.18 session timing --- localazy/source/en.json | 4 ++++ src/AmsConfiguration.cpp | 10 +++++++++- src/AmsConfiguration.h | 8 +++++++- src/AmsJsonGenerator.cpp | 10 ++++++++-- src/AmsWebServer.cpp | 7 +++++++ src/C1218MeterCommunicator.cpp | 25 ++++++++++++++++++++++--- src/C1218MeterCommunicator.h | 2 ++ ui/dist/index.js | 10 +++++----- ui/src/routes/ConfigurationRoute.svelte | 6 ++++++ 9 files changed, 70 insertions(+), 12 deletions(-) diff --git a/localazy/source/en.json b/localazy/source/en.json index 8f3f2192..1ee22a27 100644 --- a/localazy/source/en.json +++ b/localazy/source/en.json @@ -115,6 +115,10 @@ }, "c1218": { "extended": "Read extended table 28", + "idle": "Daily idle time (s, 0 disables)", + "idle_start": "Daily idle start", + "logoff": "Logoff interval (s)", + "terminate": "Terminate session after each read", "password": "Password", "userid": "User ID", "username": "Username" diff --git a/src/AmsConfiguration.cpp b/src/AmsConfiguration.cpp index b3d283f0..0f73fad4 100644 --- a/src/AmsConfiguration.cpp +++ b/src/AmsConfiguration.cpp @@ -354,12 +354,18 @@ void AmsConfiguration::clearMeter(MeterConfig& config) { bool AmsConfiguration::getC1218Config(C1218Config& config) { static_assert(CONFIG_C1218_START + sizeof(C1218Config) <= EEPROM_SIZE, "C12.18 config exceeds EEPROM"); EEPROM.get(CONFIG_C1218_START, config); - if(config.magic != C1218_CONFIG_MAGIC) { + if(config.magic != C1218_CONFIG_MAGIC && config.magic != C1218_CONFIG_MAGIC_LEGACY && config.magic != C1218_CONFIG_MAGIC_LEGACY_V0) { clearC1218Config(config); return false; } config.username[10] = 0; config.password[20] = 0; + if(config.magic != C1218_CONFIG_MAGIC) { + config.terminateSession = false; + config.logoffInterval = 300; + config.idleStartSeconds = 7800; + config.idleSeconds = 0; + } return true; } @@ -378,6 +384,8 @@ void AmsConfiguration::clearC1218Config(C1218Config& config) { memset(&config, 0, sizeof(C1218Config)); config.userId = 1; config.extendedTable28 = true; + config.logoffInterval = 300; + config.idleStartSeconds = 7800; } bool AmsConfiguration::isMeterChanged() { diff --git a/src/AmsConfiguration.h b/src/AmsConfiguration.h index 8729e81c..81ce810b 100644 --- a/src/AmsConfiguration.h +++ b/src/AmsConfiguration.h @@ -38,7 +38,9 @@ #define CONFIG_ZC_START 2000 #define CONFIG_C1218_START 2096 -#define C1218_CONFIG_MAGIC 0x1218 +#define C1218_CONFIG_MAGIC 0x121A +#define C1218_CONFIG_MAGIC_LEGACY 0x1219 +#define C1218_CONFIG_MAGIC_LEGACY_V0 0x1218 #define CONFIG_METER_START_103 32 #define CONFIG_UPGRADE_INFO_START_103 216 @@ -170,6 +172,10 @@ struct C1218Config { char username[11]; char password[21]; bool extendedTable28; + bool terminateSession; + uint16_t logoffInterval; + uint32_t idleStartSeconds; + uint16_t idleSeconds; }; struct DebugConfig { diff --git a/src/AmsJsonGenerator.cpp b/src/AmsJsonGenerator.cpp index e9c1a38a..8b4c9a40 100644 --- a/src/AmsJsonGenerator.cpp +++ b/src/AmsJsonGenerator.cpp @@ -137,11 +137,17 @@ void AmsJsonGenerator::generateConfigurationJson(AmsConfiguration* config, JsonS meterConfig.amperageMultiplier == 0.0 ? 1.0 : meterConfig.amperageMultiplier / 1000.0, meterConfig.accumulatedMultiplier == 0.0 ? 1.0 : meterConfig.accumulatedMultiplier / 1000.0 ); - EMIT(PSTR(",\"c\":{\"u\":%u,\"n\":\"%s\",\"p\":\"%s\",\"x\":%s}"), + EMIT(PSTR(",\"c\":{\"u\":%u,\"n\":\"%s\",\"p\":\"%s\",\"x\":%s,\"t\":%s,\"l\":%u,\"i\":\"%02u:%02u:%02u\",\"d\":%u}"), c1218Config.userId, c1218Config.username, strlen(c1218Config.password) > 0 ? "***" : "", - c1218Config.extendedTable28 ? "true" : "false" + c1218Config.extendedTable28 ? "true" : "false", + c1218Config.terminateSession ? "true" : "false", + c1218Config.logoffInterval, + c1218Config.idleStartSeconds / SECS_PER_HOUR, + (c1218Config.idleStartSeconds / SECS_PER_MIN) % SECS_PER_MIN, + c1218Config.idleStartSeconds % SECS_PER_MIN, + c1218Config.idleSeconds ); EMIT(PSTR("}")); // End of meter diff --git a/src/AmsWebServer.cpp b/src/AmsWebServer.cpp index 947c3161..daca085d 100644 --- a/src/AmsWebServer.cpp +++ b/src/AmsWebServer.cpp @@ -1390,6 +1390,13 @@ void AmsWebServer::handleSave() { String password = server.arg(F("mcp")); if(password != F("***")) strlcpy(c1218.password, password.c_str(), sizeof(c1218.password)); c1218.extendedTable28 = server.hasArg(F("mcx")) && server.arg(F("mcx")) == F("true"); + c1218.terminateSession = server.hasArg(F("mct")) && server.arg(F("mct")) == F("true"); + c1218.logoffInterval = constrain(server.arg(F("mcl")).toInt(), 1, 86400); + unsigned int hour, minute, second; + if(sscanf(server.arg(F("mci")).c_str(), "%u:%u:%u", &hour, &minute, &second) == 3 && hour < 24 && minute < 60 && second < 60) { + c1218.idleStartSeconds = hour * SECS_PER_HOUR + minute * SECS_PER_MIN + second; + } + c1218.idleSeconds = constrain(server.arg(F("mcd")).toInt(), 0, 86400); config->setC1218Config(c1218); } } diff --git a/src/C1218MeterCommunicator.cpp b/src/C1218MeterCommunicator.cpp index b194d4d5..68727b60 100644 --- a/src/C1218MeterCommunicator.cpp +++ b/src/C1218MeterCommunicator.cpp @@ -32,8 +32,9 @@ C1218MeterCommunicator::~C1218MeterCommunicator() { serial->end(); } -void C1218MeterCommunicator::configure(MeterConfig& meterConfig, Timezone*) { +void C1218MeterCommunicator::configure(MeterConfig& meterConfig, Timezone* tz) { this->meterConfig = meterConfig; + this->tz = tz; config->getC1218Config(c1218Config); serialBaud = 9600; resetSerial(); @@ -83,7 +84,15 @@ bool C1218MeterCommunicator::loop() { if(stage == WAIT_POLL) { if(now < nextPoll) return false; - stage = sessionOpen && now - sessionStarted >= 300000 ? LOGOFF : sessionOpen ? TABLE28 : IDENT; + if(isIdlePeriod()) { + if(!sessionOpen) { + nextPoll = now + 2000; + return false; + } + stage = LOGOFF; + } else { + stage = sessionOpen && now - sessionStarted >= c1218Config.logoffInterval * 1000ULL ? LOGOFF : sessionOpen ? TABLE28 : IDENT; + } } startStage(); return false; @@ -269,7 +278,7 @@ bool C1218MeterCommunicator::finishStage(uint64_t now) { lastError = 0; updated = true; nextPoll = now + 2000; - stage = WAIT_POLL; + stage = c1218Config.terminateSession ? LOGOFF : WAIT_POLL; return true; case LOGOFF: sessionOpen = false; @@ -495,6 +504,16 @@ void C1218MeterCommunicator::abortCycle(uint64_t now) { } } +bool C1218MeterCommunicator::isIdlePeriod() { + if(c1218Config.idleSeconds == 0 || tz == NULL) return false; + time_t now = time(nullptr); + if(now < 1600000000) return false; + tmElements_t local; + breakTime(tz->toLocal(now), local); + uint32_t seconds = local.Hour * SECS_PER_HOUR + local.Minute * SECS_PER_MIN + local.Second; + return (seconds + SECS_PER_DAY - c1218Config.idleStartSeconds) % SECS_PER_DAY < c1218Config.idleSeconds; +} + void C1218MeterCommunicator::discardInput() { while(serial->available()) serial->read(); } diff --git a/src/C1218MeterCommunicator.h b/src/C1218MeterCommunicator.h index af33b54f..fade30da 100644 --- a/src/C1218MeterCommunicator.h +++ b/src/C1218MeterCommunicator.h @@ -50,6 +50,7 @@ class C1218MeterCommunicator : public MeterCommunicator { Stream* debugger; #endif AmsConfiguration* config; + Timezone* tz; HardwareSerial* serial = &Serial1; MeterConfig meterConfig = {}; C1218Config c1218Config = {}; @@ -105,6 +106,7 @@ class C1218MeterCommunicator : public MeterCommunicator { void logFailure(const __FlashStringHelper* reason); const char* stageName() const; void abortCycle(uint64_t now); + bool isIdlePeriod(); void discardInput(); void fail(const __FlashStringHelper* message); int32_t readInt32(const uint8_t* value) const; diff --git a/ui/dist/index.js b/ui/dist/index.js index db6ce001..fb173c17 100644 --- a/ui/dist/index.js +++ b/ui/dist/index.js @@ -1,5 +1,5 @@ -var qu=Object.create,nv=Object.defineProperty,Mu=Object.getOwnPropertyDescriptor,Eu=Object.getOwnPropertyNames,Tu=Object.getPrototypeOf,Au=Object.prototype.hasOwnProperty,Pu=(t,n)=>()=>(n||(t((n={exports:{}}).exports,n),t=null),n.exports),Ou=(t,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(var s=Eu(n),f=0,i=s.length,d;fn[b]).bind(null,d),enumerable:!(a=Mu(n,d))||a.enumerable});return t},Cu=(t,n,r)=>(r=t!=null?qu(Tu(t)):{},Ou(n||!t||!t.__esModule?nv(r,"default",{value:t,enumerable:!0}):r,t));(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const f of s)if(f.type==="childList")for(const i of f.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&a(i)}).observe(document,{childList:!0,subtree:!0});function r(s){const f={};return s.integrity&&(f.integrity=s.integrity),s.referrerPolicy&&(f.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?f.credentials="include":s.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function a(s){if(s.ep)return;s.ep=!0;const f=r(s);fetch(s.href,f)}})();var Ti=Array.isArray,Nu=Array.prototype.indexOf,no=Array.prototype.includes,xo=Array.from,nl=Object.keys,iv=Object.defineProperty,Wa=Object.getOwnPropertyDescriptor,ov=Object.getOwnPropertyDescriptors,Lu=Object.prototype,Du=Array.prototype,Es=Object.getPrototypeOf,il=Object.isExtensible;function ii(t){return typeof t=="function"}var mn=()=>{};function Ru(t){return t()}function io(t){for(var n=0;n{t=r,n=a}),resolve:t,reject:n}}function ki(t){"@babel/helpers - typeof";return ki=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ki(t)}function ju(t,n){if(ki(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var a=r.call(t,n||"default");if(ki(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function Fu(t){var n=ju(t,"string");return ki(n)=="symbol"?n:n+""}function dr(t,n,r){return(n=Fu(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}var E1=1<<24,da=1024,ga=2048,en=4096,Ts=8192,Iu=16384,As=32768,ol=1<<25,yo=65536,T1=1<<17,A1=1<<18,Zn=1<<19,lv=1<<20,gi=1<<25,Ai=65536,sl=1<<21,Wu=1<<22,oo=1<<23,Na=Symbol("$state"),Ps=Symbol("legacy props"),Bu=Symbol(""),Uu=Symbol("proxy path"),es=Symbol("attributes"),ts=Symbol("class"),rs=Symbol("style"),Qi=Symbol("text"),bi=Symbol("form reset");var wo=new class extends Error{constructor(...n){super(...n),dr(this,"name","StaleReactionError"),dr(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},vv=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function ko(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Hu(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function zu(t,n,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Yu(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Gu(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ku(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Vu(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Xu(){throw new Error("https://svelte.dev/e/hydration_failed")}function Qu(t){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Zu(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ju(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ec(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function tc(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function rc(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}var Kn={},Pr=Symbol("uninitialized");function ac(){console.warn("https://svelte.dev/e/derived_inert")}function $o(t){console.warn("https://svelte.dev/e/hydration_mismatch")}function nc(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ic(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}var st=!1;function na(t){st=t}var $t;function Fr(t){if(t===null)throw $o(),Kn;return $t=t}function Pi(){return Fr(Da($t))}function u(t){if(st){if(Da($t)!==null)throw $o(),Kn;$t=t}}function Rr(t=1){if(st){for(var n=t,r=$t;n--;)r=Da(r);$t=r}}function $i(t=!0){for(var n=0,r=$t;;){if(r.nodeType===8){var a=r.data;if(a==="]"){if(n===0)return r;n-=1}else(a==="["||a==="[!"||a[0]==="["&&!isNaN(Number(a.slice(1))))&&(n+=1)}var s=Da(r);t&&r.remove(),r=s}}function Os(t){if(!t||t.nodeType!==8)throw $o(),Kn;return t.data}function uv(t){return t===this.v}function Cs(t,n){return t!=t?n==n:t!==n||t!==null&&typeof t=="object"||typeof t=="function"}function cv(t){return!Cs(t,this.v)}var _a=!1,Jn=!1;function oc(){Jn=!0}function ll(t,n){return t.label=n,sc(t.v,n),t}function sc(t,n){return t?.[Uu]?.(n),t}var Lt=null;function Vn(t){Lt=t}function xt(t,n=!1,r){Lt={p:Lt,i:!1,c:null,e:null,s:t,x:null,r:lt,l:Jn&&!n?{s:null,u:null,$:[]}:null}}function yt(t){var n=Lt,r=n.e;if(r!==null){n.e=null;for(var a of r)Iv(a)}return t!==void 0&&(n.x=t),n.i=!0,Lt=n.p,t??{}}function Oi(){return!Jn||Lt!==null&&Lt.l===null}var un=[];function fv(){var t=un;un=[],io(t)}function Ua(t){if(un.length===0&&!xi){var n=un;queueMicrotask(()=>{n===un&&fv()})}un.push(t)}function lc(){for(;un.length>0;)fv()}function dv(t){var n=lt;if(n===null)return kt.f|=oo,t;if((n.f&32768)===0&&(n.f&4)===0)throw t;Qa(t,n)}function Qa(t,n){if(!(n!==null&&(n.f&16384)!==0)){for(;n!==null;){if((n.f&128)!==0){if((n.f&32768)===0)throw t;try{n.b.error(t);return}catch(r){t=r}}n=n.parent}throw t}}var vc=~(ga|en|da);function yr(t,n){t.f=t.f&vc|n}function Ns(t){(t.f&512)!==0||t.deps===null?yr(t,da):yr(t,en)}function _v(t){if(t!==null)for(const n of t)(n.f&2)===0||(n.f&65536)===0||(n.f^=Ai,_v(n.deps))}function pv(t,n,r){(t.f&2048)!==0?n.add(t):(t.f&4096)!==0&&r.add(t),_v(t.deps),yr(t,da)}function uc(t,n,r){if(t==null)return n(void 0),r&&r(void 0),mn;const a=v(()=>t.subscribe(n,r));return a.unsubscribe?()=>a.unsubscribe():a}var Dn=[];function Ls(t,n){return{subscribe:Qr(t,n).subscribe}}function Qr(t,n=mn){let r=null;const a=new Set;function s(d){if(Cs(t,d)&&(t=d,r)){const b=!Dn.length;for(const p of a)p[1](),Dn.push(p,t);if(b){for(let p=0;p{a.delete(p),a.size===0&&r&&(r(),r=null)}}return{set:s,update:f,subscribe:i}}function hv(t,n,r){const a=!Array.isArray(t),s=a?[t]:t;if(!s.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const f=n.length<2;return Ls(r,(i,d)=>{let b=!1;const p=[];let S=0,o=mn;const m=()=>{if(S)return;o();const g=n(a?p[0]:p,i,d);f?i(g):o=typeof g=="function"?g:mn},k=s.map((g,A)=>uc(g,P=>{p[A]=P,S&=~(1<{S|=1<{Bs()&&(e(r),za(()=>(n===0&&(a=v(()=>t(()=>yi(r)))),n+=1,()=>{Ua(()=>{n-=1,n===0&&(a?.(),a=void 0,yi(r))})})))}}function mv(t,n){if(n.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Ds(t,n){mv(t,n),n.add(t)}function et(t,n,r){mv(t,n),n.set(t,r)}function _t(t,n,r){if(typeof t=="function"?t===n:t.has(n))return arguments.length<3?n:r;throw new TypeError("Private element is not present on this object")}function Ke(t,n,r){return t.set(_t(t,n),r),r}function L(t,n){return t.get(_t(t,n))}var _c=yo|Zn;function pc(t,n,r,a){new hc(t,n,r,a)}var wa=new WeakMap,as=new WeakMap,Ca=new WeakMap,Si=new WeakMap,va=new WeakMap,La=new WeakMap,ia=new WeakMap,xa=new WeakMap,gn=new WeakMap,Fn=new WeakMap,bn=new WeakMap,Ii=new WeakMap,ns=new WeakMap,is=new WeakMap,an=new WeakMap,vl=new WeakMap,Br=new WeakSet,hc=class{constructor(t,n,r,a){Ds(this,Br),dr(this,"parent",void 0),dr(this,"is_pending",!1),dr(this,"transform_error",void 0),et(this,wa,void 0),et(this,as,st?$t:null),et(this,Ca,void 0),et(this,Si,void 0),et(this,va,void 0),et(this,La,null),et(this,ia,null),et(this,xa,null),et(this,gn,null),et(this,Fn,0),et(this,bn,0),et(this,Ii,!1),et(this,ns,new Set),et(this,is,new Set),et(this,an,null),et(this,vl,dc(()=>(Ke(an,this,qn(L(Fn,this))),()=>{Ke(an,this,null)}))),Ke(wa,this,t),Ke(Ca,this,n),Ke(Si,this,s=>{var f=lt;f.b=this,f.f|=128,r(s)}),this.parent=lt.b,this.transform_error=a??this.parent?.transform_error??(s=>s),Ke(va,this,Ao(()=>{if(st){const s=L(as,this);Pi();const f=s.data==="[!";if(s.data.startsWith("[?")){const i=JSON.parse(s.data.slice(2));_t(Br,this,gc).call(this,i)}else f?_t(Br,this,bc).call(this):_t(Br,this,mc).call(this)}else _t(Br,this,gv).call(this)},_c)),st&&Ke(wa,this,$t)}defer_effect(t){pv(t,L(ns,this),L(is,this))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!L(Ca,this).pending}update_pending_count(t,n){_t(Br,this,bv).call(this,t,n),Ke(Fn,this,L(Fn,this)+t),!(!L(an,this)||L(Ii,this))&&(Ke(Ii,this,!0),Ua(()=>{Ke(Ii,this,!1),L(an,this)&&Mn(L(an,this),L(Fn,this))}))}get_effect_pending(){return L(vl,this).call(this),e(L(an,this))}error(t){if(!L(Ca,this).onerror&&!L(Ca,this).failed)throw t;Qe?.is_fork?(L(La,this)&&Qe.skip_effect(L(La,this)),L(ia,this)&&Qe.skip_effect(L(ia,this)),L(xa,this)&&Qe.skip_effect(L(xa,this)),Qe.oncommit(()=>{_t(Br,this,ul).call(this,t)})):_t(Br,this,ul).call(this,t)}};function mc(){try{Ke(La,this,pa(()=>L(Si,this).call(this,L(wa,this))))}catch(t){this.error(t)}}function gc(t){const n=L(Ca,this).failed;n&&Ke(xa,this,pa(()=>{n(L(wa,this),()=>t,()=>()=>{})}))}function bc(){const t=L(Ca,this).pending;t&&(this.is_pending=!0,Ke(ia,this,pa(()=>t(L(wa,this)))),Ua(()=>{var n=Ke(gn,this,document.createDocumentFragment()),r=Xr();n.append(r),Ke(La,this,_t(Br,this,os).call(this,()=>pa(()=>L(Si,this).call(this,r)))),L(bn,this)===0&&(L(wa,this).before(n),Ke(gn,this,null),An(L(ia,this),()=>{Ke(ia,this,null)}),_t(Br,this,Rs).call(this,Qe))}))}function gv(){try{if(this.is_pending=this.has_pending_snippet(),Ke(bn,this,0),Ke(Fn,this,0),Ke(La,this,pa(()=>{L(Si,this).call(this,L(wa,this))})),L(bn,this)>0){var t=Ke(gn,this,document.createDocumentFragment());Hs(L(La,this),t);const n=L(Ca,this).pending;Ke(ia,this,pa(()=>n(L(wa,this))))}else _t(Br,this,Rs).call(this,Qe)}catch(n){this.error(n)}}function Rs(t){this.is_pending=!1,t.transfer_effects(L(ns,this),L(is,this))}function os(t){var n=lt,r=kt,a=Lt;ma(L(va,this)),ha(L(va,this)),Vn(L(va,this).ctx);try{return Tn.ensure(),t()}catch(s){return dv(s),null}finally{ma(n),ha(r),Vn(a)}}function bv(t,n){if(!this.has_pending_snippet()){if(this.parent){var r;_t(Br,r=this.parent,bv).call(r,t,n)}return}Ke(bn,this,L(bn,this)+t),L(bn,this)===0&&(_t(Br,this,Rs).call(this,n),L(ia,this)&&An(L(ia,this),()=>{Ke(ia,this,null)}),L(gn,this)&&(L(wa,this).before(L(gn,this)),Ke(gn,this,null)))}function ul(t){L(La,this)&&(Yr(L(La,this)),Ke(La,this,null)),L(ia,this)&&(Yr(L(ia,this)),Ke(ia,this,null)),L(xa,this)&&(Yr(L(xa,this)),Ke(xa,this,null)),st&&(Fr(L(as,this)),Rr(),Fr($i()));var n=L(Ca,this).onerror;let r=L(Ca,this).failed;var a=!1,s=!1;const f=()=>{if(a){ic();return}a=!0,s&&rc(),L(xa,this)!==null&&An(L(xa,this),()=>{Ke(xa,this,null)}),_t(Br,this,os).call(this,()=>{_t(Br,this,gv).call(this)})},i=d=>{try{s=!0,n?.(d,f),s=!1}catch(b){Qa(b,L(va,this)&&L(va,this).parent)}r&&Ke(xa,this,_t(Br,this,os).call(this,()=>{try{return pa(()=>{var b=lt;b.b=this,b.f|=128,r(L(wa,this),()=>d,()=>f)})}catch(b){return Qa(b,L(va,this).parent),null}}))};Ua(()=>{var d;try{d=this.transform_error(t)}catch(b){Qa(b,L(va,this)&&L(va,this).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(i,b=>Qa(b,L(va,this)&&L(va,this).parent)):i(d)})}function xc(t,n,r,a){const s=Oi()?Xn:Ce;var f=t.filter(k=>!k.settled),i=n.map(s);if(r.length===0&&f.length===0){a(i);return}var d=lt,b=yc(),p=f.length===1?f[0].promise:f.length>1?Promise.all(f.map(k=>k.promise)):null;function S(k){if((d.f&16384)===0){b();try{a([...i,...k])}catch(g){Qa(g,d)}so()}}var o=xv();if(r.length===0){p.then(()=>S([])).finally(o);return}function m(){Promise.all(r.map(k=>wc(k))).then(S).catch(k=>Qa(k,d)).finally(o)}p?p.then(()=>{b(),m(),so()}):m()}function yc(){var t=lt,n=kt,r=Lt,a=Qe;if(0)var s;return function(i=!0){ma(t),ha(n),Vn(r),i&&(t.f&16384)===0&&(a?.activate(),a?.apply())}}function so(t=!0){ma(null),ha(null),Vn(null),t&&Qe?.deactivate()}function xv(){var t=lt,n=t.b,r=Qe,a=!!n?.is_rendered();return n?.update_pending_count(1,r),r.increment(a,t),()=>{n?.update_pending_count(-1,r),r.decrement(a,t)}}function Xn(t){var n=2|ga;return lt!==null&&(lt.f|=Zn),{ctx:Lt,deps:null,effects:null,equals:uv,f:n,fn:t,reactions:null,rv:0,v:Pr,wv:0,parent:lt,ac:null}}var ci=Symbol("obsolete");function wc(t,n,r){let a=lt;a===null&&Hu();var s=void 0,f=qn(Pr),i=!kt,d=new Set;return Ic(()=>{var b=lt,p=sv();s=p.promise;try{Promise.resolve(t()).then(p.resolve,k=>{k!==wo&&p.reject(k)}).finally(so)}catch(k){p.reject(k),so()}var S=Qe;if(i){if((b.f&32768)!==0)var o=xv();if(a.b?.is_rendered())S.async_deriveds.get(b)?.reject(ci);else for(const k of d.values())k.reject(ci);d.add(p),S.async_deriveds.set(b,p)}const m=(k,g=void 0)=>{o?.(),d.delete(p),g!==ci&&(S.activate(),g?(f.f|=oo,Mn(f,g)):((f.f&8388608)!==0&&(f.f^=oo),Mn(f,k)),S.deactivate())};p.promise.then(m,k=>m(null,k||"unknown"))}),Eo(()=>{for(const b of d)b.reject(ci)}),new Promise(b=>{function p(S){function o(){S===s?b(f):p(s)}S.then(o,o)}p(s)})}function er(t){const n=Xn(t);return _a||zv(n),n}function Ce(t){const n=Xn(t);return n.equals=cv,n}function kc(t){var n=t.effects;if(n!==null){t.effects=null;for(var r=0;rthis.schedule(a)){var a=L(Xa,this).get(n);if(a){L(Xa,this).delete(n);for(var s of a.d)yr(s,ga),r(s);for(s of a.m)yr(s,en),r(s)}L(Zi,this).add(n)}capture(n,r,a=!1){n.v!==Pr&&!this.previous.has(n)&&this.previous.set(n,n.v),(n.f&8388608)===0&&(this.current.set(n,[r,a]),zr?.set(n,r)),this.is_fork||(n.v=r)}activate(){Qe=this}deactivate(){Qe=null,zr=null}flush(){try{jo=!0,Qe=this,_t($r,this,fo).call(this)}finally{$v=0,ss=null,Qn=null,vo=null,jo=!1,Qe=null,zr=null,yn.clear()}}discard(){for(const n of L(Wi,this))n(this);L(Wi,this).clear();for(const n of this.async_deriveds.values())n.reject(ci);_t($r,this,_o).call(this),L(fi,this)?.resolve()}register_created_effect(n){L(ls,this).push(n)}increment(n,r){if(Ke(Wn,this,L(Wn,this)+1),n){let a=L(sn,this).get(r)??0;L(sn,this).set(r,a+1)}}decrement(n,r){if(Ke(Wn,this,L(Wn,this)-1),n){let a=L(sn,this).get(r)??0;a===1?L(sn,this).delete(r):L(sn,this).set(r,a-1)}L(di,this)||(Ke(di,this,!0),Ua(()=>{Ke(di,this,!1),this.linked&&this.flush()}))}transfer_effects(n,r){for(const a of n)L(Sn,this).add(a);for(const a of r)L(Ba,this).add(a);n.clear(),r.clear()}oncommit(n){L(co,this).add(n)}ondiscard(n){L(Wi,this).add(n)}settled(){return(L(fi,this)??Ke(fi,this,sv())).promise}static ensure(){if(Qe===null){const n=Qe=new Sv;!jo&&!xi&&Ua(()=>{L(uo,n)||n.flush()})}return Qe}apply(){if(!_a||!this.is_fork&&L(xn,this)===null&&L(cn,this)===null){zr=null;return}zr=new Map;for(const[r,[a]]of this.current)zr.set(r,a);for(let r=lo;r!==null;r=L(cn,r))if(!(r===this||r.is_fork)){var n=!1;if(r.id1e3&&(_t($r,this,_o).call(this),Tc());for(const d of L(Sn,this))L(Ba,this).delete(d),yr(d,ga),this.schedule(d);for(const d of L(Ba,this))yr(d,en),this.schedule(d);const t=L(ua,this);Ke(ua,this,[]),this.apply();var n=Qn=[],r=[],a=vo=[];for(const d of t)try{_t($r,this,qv).call(this,d,n,r)}catch(b){throw Av(d),_t($r,this,cl).call(this)||this.discard(),b}if(Qe=null,a.length>0){var s=kv.ensure();for(const d of a)s.schedule(d)}if(Qn=null,vo=null,_t($r,this,cl).call(this)){_t($r,this,_i).call(this,r),_t($r,this,_i).call(this,n);for(const[d,b]of L(Xa,this))Tv(d,b);a.length>0&&_t($r,Qe,fo).call(Qe);return}const f=_t($r,this,qc).call(this);if(f){_t($r,this,_i).call(this,r),_t($r,this,_i).call(this,n),_t($r,f,Mc).call(f,this);return}L(Sn,this).clear(),L(Ba,this).clear();for(const d of L(co,this))d(this);L(co,this).clear(),qi=this,fl(r),fl(n),qi=null,L(fi,this)?.resolve();var i=Qe;if(L(Wn,this)===0&&(L(ua,this).length===0||i!==null)&&(_t($r,this,_o).call(this),_a&&(_t($r,this,Ec).call(this),Qe=i)),L(ua,this).length>0)if(i!==null){const d=i;L(ua,d).push(...L(ua,this).filter(b=>!L(ua,d).includes(b)))}else i=this;i!==null&&_t($r,i,fo).call(i)}function qv(t,n,r){t.f^=da;for(var a=t.first;a!==null;){var s=a.f,f=(s&96)!==0;if(!(f&&(s&1024)!==0||(s&8192)!==0||L(Xa,this).has(a))&&a.fn!==null){f?a.f^=da:(s&4)!==0?n.push(a):_a&&(s&16777224)!==0?r.push(a):ei(a)&&((s&16)!==0&&L(Ba,this).add(a),En(a));var i=a.first;if(i!==null){a=i;continue}}for(;a!==null;){var d=a.next;if(d!==null){a=d;break}a=a.parent}}}function qc(){for(var t=L(xn,this);t!==null;){if(!t.is_fork){for(const[n,[,r]]of this.current)if(t.current.has(n)&&!r)return t}t=L(xn,t)}return null}function Mc(t){for(const[r,a]of t.current)!this.previous.has(r)&&t.previous.has(r)&&this.previous.set(r,t.previous.get(r)),this.current.set(r,a);for(const[r,a]of t.async_deriveds){const s=this.async_deriveds.get(r);s&&a.promise.then(s.resolve).catch(s.reject)}t.async_deriveds.clear(),this.transfer_effects(L(Sn,t),L(Ba,t));const n=r=>{var a=r.reactions;if(a!==null)for(const i of a){var s=i.f;if((s&2)!==0)n(i);else{var f=i;s&4194320&&!this.async_deriveds.has(f)&&(L(Ba,this).delete(f),yr(f,ga),this.schedule(f))}}};for(const r of this.current.keys())n(r);this.oncommit(()=>t.discard()),_t($r,t,_o).call(t),Qe=this,_t($r,this,fo).call(this)}function _i(t){for(var n=0;n!S.current.get(o)[1]);if(!(!L(uo,S)||a.length===0)){var s=a.filter(o=>!this.current.has(o));if(s.length===0)t&&S.discard();else if(n.length>0){if(t)for(const o of L(Zi,this))S.unskip_effect(o,m=>{(m.f&4194320)!==0?S.schedule(m):_t($r,S,_i).call(S,[m])});S.activate();var f=new Set,i=new Map;for(var d of n)Ev(d,s,f,i);i=new Map;var b=[...S.current].filter(([o,m])=>{const k=this.current.get(o);return k?k[0]!==m[0]||k[1]!==m[1]:!0}).map(([o])=>o);if(b.length>0)for(const o of L(ls,this))(o.f&155648)===0&&Fs(o,b,i)&&((o.f&4194320)!==0?(yr(o,ga),S.schedule(o)):L(Sn,S).add(o));if(L(ua,S).length>0&&!L(di,S)){S.apply();for(var p of L(ua,S))_t($r,S,qv).call(S,p,[],[]);Ke(ua,S,[])}S.deactivate()}}}}function _o(){if(this.linked){var t=L(xn,this),n=L(cn,this);t===null?lo=n:Ke(cn,t,n),n===null?In=t:Ke(xn,n,t),this.linked=!1}}function Mv(t){var n=xi;xi=!0;try{var r;for(t&&(Qe!==null&&!Qe.is_fork&&Qe.flush(),r=t());;){if(lc(),Qe===null)return r;Qe.flush()}}finally{xi=n}}function Tc(){if(0){var t;for(const r of Qe.current.keys())for(const[a,s]of r.updated??[])var n}try{Vu()}catch(r){Qa(r,ss)}}var Pa=null;function fl(t){var n=t.length;if(n!==0){for(var r=0;r0)){yn.clear();for(const s of Pa){if((s.f&24576)!==0)continue;const f=[s];let i=s.parent;for(;i!==null;)Pa.has(i)&&(Pa.delete(i),f.push(i)),i=i.parent;for(let d=f.length-1;d>=0;d--){const b=f[d];(b.f&24576)===0&&En(b)}}Pa.clear()}}Pa=null}}function Ev(t,n,r,a){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const s of t.reactions){const f=s.f;(f&2)!==0?Ev(s,n,r,a):(f&4194320)!==0&&(f&2048)===0&&Fs(s,n,a)&&(yr(s,ga),Is(s))}}function Fs(t,n,r){const a=r.get(t);if(a!==void 0)return a;if(t.deps!==null)for(const s of t.deps){if(no.call(n,s))return!0;if((s.f&2)!==0&&Fs(s,n,r))return r.set(s,!0),!0}return r.set(t,!1),!1}function Is(t){Qe.schedule(t)}function Tv(t,n){if(!((t.f&32)!==0&&(t.f&1024)!==0)){(t.f&2048)!==0?n.d.push(t):(t.f&4096)!==0&&n.m.push(t),yr(t,da);for(var r=t.first;r!==null;)Tv(r,n),r=r.next}}function Av(t){yr(t,da);for(var n=t.first;n!==null;)Av(n),n=n.next}var po=new Set,yn=new Map;var Pv=!1;function qn(t,n){var r={f:0,v:t,reactions:null,equals:uv,rv:0,wv:0};return r}function Ya(t,n){const r=qn(t,n);return zv(r),r}function W(t,n=!1,r=!0){const a=qn(t);if(n||(a.equals=cv),Jn&&r&&Lt!==null&&Lt.l!==null){var s;((s=Lt.l).s??(s.s=[])).push(a)}return a}function ee(t,n){return E(t,v(()=>e(t))),n}function E(t,n,r=!1){kt!==null&&(!ya||(kt.f&131072)!==0)&&Oi()&&(kt.f&4325394)!==0&&(ka===null||!ka.has(t))&&tc();let a=r?zn(n):n;return Mn(t,a,vo)}function Mn(t,n,r=null){if(!t.equals(n)){yn.set(t,Ha?n:t.v);var a=Tn.ensure();if(a.capture(t,n),(t.f&2)!==0){const s=t;(t.f&2048)!==0&&js(s),zr===null&&Ns(s)}t.wv=Gv(),Ov(t,ga,r),Oi()&<!==null&&(lt.f&1024)!==0&&(lt.f&96)===0&&(la===null?Hc([t]):la.push(t)),!a.is_fork&&po.size>0&&!Pv&&Ac()}return n}function Ac(){Pv=!1;for(const t of po){(t.f&1024)!==0&&yr(t,en);let n;try{n=ei(t)}catch{n=!0}n&&En(t)}po.clear()}function yi(t){E(t,t.v+1)}function Ov(t,n,r){var a=t.reactions;if(a!==null)for(var s=Oi(),f=a.length,i=0;i{if(wn===i)return o();var m=kt,k=wn;ha(null),ml(i);var g=o();return ha(m),ml(k),g};a&&r.set("length",Ya(t.length,f));var b="";let p=!1;function S(o){if(!p){p=!0,b=o,ll(s,`${b} version`);for(const[m,k]of r)ll(k,Oc(b,m));p=!1}}return new Proxy(t,{defineProperty(o,m,k){(!("value"in k)||k.configurable===!1||k.enumerable===!1||k.writable===!1)&&Ju();var g=r.get(m);return g===void 0?d(()=>{var A=Ya(k.value,f);return r.set(m,A),A}):E(g,k.value,!0),!0},deleteProperty(o,m){var k=r.get(m);if(k===void 0){if(m in o){const g=d(()=>Ya(Pr,f));r.set(m,g),yi(s)}}else E(k,Pr),yi(s);return!0},get(o,m,k){if(m===Na)return t;var g=r.get(m),A=m in o;if(g===void 0&&(!A||Wa(o,m)?.writable)&&(g=d(()=>{var R=Ya(zn(A?o[m]:Pr),f);return R}),r.set(m,g)),g!==void 0){var P=e(g);return P===Pr?void 0:P}return Reflect.get(o,m,k)},getOwnPropertyDescriptor(o,m){var k=Reflect.getOwnPropertyDescriptor(o,m);if(k&&"value"in k){var g=r.get(m);g&&(k.value=e(g))}else if(k===void 0){var A=r.get(m),P=A?.v;if(A!==void 0&&P!==Pr)return{enumerable:!0,configurable:!0,value:P,writable:!0}}return k},has(o,m){if(m===Na)return!0;var k=r.get(m),g=k!==void 0&&k.v!==Pr||Reflect.has(o,m);return(k!==void 0||lt!==null&&(!g||Wa(o,m)?.writable))&&(k===void 0&&(k=d(()=>{var A=Ya(g?zn(o[m]):Pr,f);return A}),r.set(m,k)),e(k)===Pr)?!1:g},set(o,m,k,g){var A=r.get(m),P=m in o;if(a&&m==="length")for(var R=k;RYa(Pr,f)),r.set(R+"",Y))}if(A===void 0)(!P||Wa(o,m)?.writable)&&(A=d(()=>Ya(void 0,f)),E(A,zn(k)),r.set(m,A));else{P=A.v!==Pr;var H=d(()=>zn(k));E(A,H)}var T=Reflect.getOwnPropertyDescriptor(o,m);if(T?.set&&T.set.call(g,k),!P){if(a&&typeof m=="string"){var O=r.get("length"),C=Number(m);Number.isInteger(C)&&C>=O.v&&E(O,C+1)}yi(s)}return!0},ownKeys(o){e(s);var m=Reflect.ownKeys(o).filter(A=>{var P=r.get(A);return P===void 0||P.v!==Pr});for(var[k,g]of r)g.v!==Pr&&!(k in o)&&m.push(k);return m},setPrototypeOf(){ec()}})}function Oc(t,n){return typeof n=="symbol"?`${t}[Symbol(${n.description??""})]`:Pc.test(n)?`${t}.${n}`:/^\d+$/.test(n)?`${t}[${n}]`:`${t}['${n}']`}function dl(t){try{if(t!==null&&typeof t=="object"&&Na in t)return t[Na]}catch{}return t}function Cc(t,n){return Object.is(dl(t),dl(n))}var _l,Nc,Cv,Nv,Lv;function vs(){if(_l===void 0){_l=window,Nc=document,Cv=/Firefox/.test(navigator.userAgent);var t=Element.prototype,n=Node.prototype,r=Text.prototype;Nv=Wa(n,"firstChild").get,Lv=Wa(n,"nextSibling").get,il(t)&&(t[ts]=void 0,t[es]=null,t[rs]=void 0,t.__e=void 0),il(r)&&(r[Qi]=void 0)}}function Xr(t=""){return document.createTextNode(t)}function fa(t){return Nv.call(t)}function Da(t){return Lv.call(t)}function c(t,n){if(!st)return fa(t);var r=fa($t);if(r===null)r=$t.appendChild(Xr());else if(n&&r.nodeType!==3){var a=Xr();return r?.before(a),Fr(a),a}return n&&So(r),Fr(r),r}function fe(t,n=!1){if(!st){var r=fa(t);return r instanceof Comment&&r.data===""?Da(r):r}if(n){if($t?.nodeType!==3){var a=Xr();return $t?.before(a),Fr(a),a}So($t)}return $t}function l(t,n=1,r=!1){let a=st?$t:t;for(var s;n--;)s=a,a=Da(a);if(!st)return a;if(r){if(a?.nodeType!==3){var f=Xr();return a===null?s?.after(f):a.before(f),Fr(f),f}So(a)}return Fr(a),a}function Dv(t){t.textContent=""}function Rv(){return!_a||Pa!==null?!1:(lt.f&As)!==0}function Ws(t,n,r){return n==null||n==="http://www.w3.org/1999/xhtml"?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(n,t,{is:r}):document.createElementNS(n,t)}function Lc(t=""){return document.createComment(t)}function So(t){if(t.nodeValue.length<65536)return;let n=t.nextSibling;for(;n!==null&&n.nodeType===3;)n.remove(),t.nodeValue+=n.nodeValue,n=t.nextSibling}var pl=!1;function jv(){pl||(pl=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{if(!t.defaultPrevented)for(const n of t.target.elements)n[bi]?.()})},{capture:!0}))}function qo(t){var n=kt,r=lt;ha(null),ma(null);try{return t()}finally{ha(n),ma(r)}}function Mo(t,n,r,a=r){t.addEventListener(n,()=>qo(r));const s=t[bi];s?t[bi]=()=>{s(),a(!0)}:t[bi]=()=>a(!0),jv()}function Fv(t){lt===null&&(kt===null&&Ku(t),Gu()),Ha&&Yu(t)}function Dc(t,n){var r=n.last;r===null?n.last=n.first=t:(r.next=t,t.prev=r,n.last=t)}function Sa(t,n){var r=lt;r!==null&&(r.f&8192)!==0&&(t|=Ts);var a={ctx:Lt,deps:null,nodes:null,f:t|ga|512,first:null,fn:n,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};Qe?.register_created_effect(a);var s=a;if((t&4)!==0)Qn!==null?Qn.push(a):Tn.ensure().schedule(a);else if(n!==null){try{En(a)}catch(i){throw Yr(a),i}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&524288)===0&&(s=s.first,(t&16)!==0&&(t&65536)!==0&&s!==null&&(s.f|=yo))}if(s!==null&&(s.parent=r,r!==null&&Dc(s,r),kt!==null&&(kt.f&2)!==0&&(t&64)===0)){var f=kt;(f.effects??(f.effects=[])).push(s)}return a}function Bs(){return kt!==null&&!ya}function Eo(t){const n=Sa(8,null);return yr(n,da),n.teardown=t,n}function us(t){Fv("$effect");var n=lt.f;if(!kt&&(n&32)!==0&&Lt!==null&&!Lt.i){var r=Lt;(r.e??(r.e=[])).push(t)}else return Iv(t)}function Iv(t){return Sa(4|lv,t)}function Rc(t){return Fv("$effect.pre"),Sa(8|lv,t)}function jc(t){Tn.ensure();const n=Sa(64|Zn,t);return()=>{Yr(n)}}function Fc(t){Tn.ensure();const n=Sa(64|Zn,t);return(r={})=>new Promise(a=>{r.outro?An(n,()=>{Yr(n),a(void 0)}):(Yr(n),a(void 0))})}function To(t){return Sa(4,t)}function mr(t,n){var r=Lt,a={effect:null,ran:!1,deps:t};r.l.$.push(a),a.effect=za(()=>{if(t(),!a.ran){a.ran=!0;var s=lt;try{ma(s.parent),v(n)}finally{ma(s)}}})}function wr(){var t=Lt;za(()=>{for(var n of t.l.$){n.deps();var r=n.effect;(r.f&1024)!==0&&r.deps!==null&&yr(r,en),ei(r)&&En(r),n.ran=!1}})}function Ic(t){return Sa(Wu|Zn,t)}function za(t,n=0){return Sa(8|n,t)}function j(t,n=[],r=[],a=[]){xc(a,n,r,s=>{Sa(8,()=>{t(...s.map(e))})})}function Ao(t,n=0){var r=Sa(16|n,t);return r}function pa(t){return Sa(32|Zn,t)}function Wv(t){var n=t.teardown;if(n!==null){const r=Ha,a=kt;hl(!0),ha(null);try{n.call(null)}finally{hl(r),ha(a)}}}function Us(t,n=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const s=r.ac;s!==null&&qo(()=>{s.abort(wo)});var a=r.next;(r.f&64)!==0?r.parent=null:Yr(r,n),r=a}}function Wc(t){for(var n=t.first;n!==null;){var r=n.next;(n.f&32)===0&&Yr(n),n=r}}function Yr(t,n=!0){var r=!1;(n||(t.f&262144)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Bc(t.nodes.start,t.nodes.end),r=!0),t.f|=ol,Us(t,n&&!r),Mi(t,0);var a=t.nodes&&t.nodes.t;if(a!==null)for(const f of a)f.stop();Wv(t),t.f^=ol,t.f|=Iu;var s=t.parent;s!==null&&s.first!==null&&Bv(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Bc(t,n){for(;t!==null;){var r=t===n?null:Da(t);t.remove(),t=r}}function Bv(t){var n=t.parent,r=t.prev,a=t.next;r!==null&&(r.next=a),a!==null&&(a.prev=r),n!==null&&(n.first===t&&(n.first=a),n.last===t&&(n.last=r))}function An(t,n,r=!0){var a=[];Uv(t,a,!0);var s=()=>{r&&Yr(t),n&&n()},f=a.length;if(f>0){var i=()=>--f||s();for(var d of a)d.out(i)}else s()}function Uv(t,n,r){if((t.f&8192)===0){t.f^=Ts;var a=t.nodes&&t.nodes.t;if(a!==null)for(const d of a)(d.is_global||r)&&n.push(d);for(var s=t.first;s!==null;){var f=s.next;if((s.f&64)===0){var i=(s.f&65536)!==0||(s.f&32)!==0&&(t.f&16)!==0;Uv(s,n,i?r:!1)}s=f}}}function ho(t){Hv(t,!0)}function Hv(t,n){if((t.f&8192)!==0){t.f^=Ts,(t.f&1024)===0&&(yr(t,ga),Tn.ensure().schedule(t));for(var r=t.first;r!==null;){var a=r.next,s=(r.f&65536)!==0||(r.f&32)!==0;Hv(r,s?n:!1),r=a}var f=t.nodes&&t.nodes.t;if(f!==null)for(const i of f)(i.is_global||n)&&i.in()}}function Hs(t,n){if(t.nodes)for(var r=t.nodes.start,a=t.nodes.end;r!==null;){var s=r===a?null:Da(r);n.append(r),r=s}}var Bn=null;function Uc(t){var n=Bn;try{if(Bn=new Set,v(t),n!==null)for(var r of Bn)n.add(r);return Bn}finally{Bn=n}}function G(t){for(var n of Uc(t))Mn(n,n.v)}var Ji=!1,Ha=!1;function hl(t){Ha=t}var kt=null,ya=!1;function ha(t){kt=t}var lt=null;function ma(t){lt=t}var ka=null;function zv(t){kt!==null&&(!_a||(kt.f&2)!==0)&&(ka??(ka=new Set)).add(t)}var Kr=null,aa=0,la=null;function Hc(t){la=t}var Yv=1,fn=0,wn=fn;function ml(t){wn=t}function Gv(){return++Yv}function ei(t){var n=t.f;if((n&2048)!==0)return!0;if(n&2&&(t.f&=~Ai),(n&4096)!==0){for(var r=t.deps,a=r.length,s=0;st.wv)return!0}(n&512)!==0&&zr===null&&yr(t,da)}return!1}function Kv(t,n,r=!0){var a=t.reactions;if(a!==null&&!(!_a&&ka!==null&&ka.has(t)))for(var s=0;s{t.ac.abort(wo)}),t.ac=null);try{t.f|=sl;var S=t.fn,o=S();t.f|=As;var m=t.deps,k=Qe?.is_fork;if(Kr!==null){var g;if(k||Mi(t,aa),m!==null&&aa>0)for(m.length=aa+Kr.length,g=0;g{requestAnimationFrame(()=>t()),setTimeout(()=>t())});await Promise.resolve(),Mv()}function e(t){var n=(t.f&2)!==0;if(Bn?.add(t),kt!==null&&!ya&&!(lt!==null&&(lt.f&16384)!==0)&&(ka===null||!ka.has(t))){var r=kt.deps;if((kt.f&2097152)!==0)t.rvr?.call(this,f))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Ua(()=>{n.addEventListener(t,s,a)}):n.addEventListener(t,s,a),s}function Ue(t,n,r,a,s){var f={capture:a,passive:s},i=Qc(t,n,r,f);(n===document.body||n===window||n===document||n instanceof HTMLMediaElement)&&Eo(()=>{n.removeEventListener(t,i,f)})}var bl=null;function fs(t){var n=this,r=n.ownerDocument,a=t.type,s=t.composedPath?.()||[],f=s[0]||t.target;bl=t;var i=0,d=bl===t&&t[Bi];if(d){var b=s.indexOf(d);if(b!==-1&&(n===document||n===window)){t[Bi]=n;return}var p=s.indexOf(n);if(p===-1)return;b<=p&&(i=b)}if(f=s[i]||t.target,f!==n){iv(t,"currentTarget",{configurable:!0,get(){return f||r}});var S=kt,o=lt;ha(null),ma(null);try{for(var m,k=[];f!==null&&f!==n;){try{var g=f[Bi]?.[a];g!=null&&(!f.disabled||t.target===f)&&g.call(f,t)}catch(A){m?k.push(A):m=A}if(t.cancelBubble)break;i++,f=i{throw A});throw m}}finally{t[Bi]=n,delete t.currentTarget,ha(S),ma(o)}}}var Zc=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Zv(t){return Zc?.createHTML(t)??t}function Jv(t){var n=Ws("template");return n.innerHTML=Zv(t.replaceAll("","")),n.content}function $a(t,n){var r=lt;r.nodes===null&&(r.nodes={start:t,end:n,a:null,t:null})}function F(t,n){var r=(n&1)!==0,a=(n&2)!==0,s,f=!t.startsWith("");return()=>{if(st)return $a($t,null),$t;s===void 0&&(s=Jv(f?t:""+t),r||(s=fa(s)));var i=a||Cv?document.importNode(s,!0):s.cloneNode(!0);if(r){var d=fa(i),b=i.lastChild;$a(d,b)}else $a(i,i);return i}}function Jc(t,n,r="svg"){var a=!t.startsWith(""),s=(n&1)!==0,f=`<${r}>${a?t:""+t}`,i;return()=>{if(st)return $a($t,null),$t;if(!i){var d=fa(Jv(f));if(s)for(i=document.createDocumentFragment();fa(d);)i.appendChild(fa(d));else i=fa(d)}var b=i.cloneNode(!0);if(s){var p=fa(b),S=b.lastChild;$a(p,S)}else $a(b,b);return b}}function Zr(t,n){return Jc(t,n,"svg")}function ca(t=""){if(!st){var n=Xr(t+"");return $a(n,n),n}var r=$t;return r.nodeType!==3?(r.before(r=Xr()),Fr(r)):So(r),$a(r,r),r}function qr(){if(st)return $a($t,null),$t;var t=document.createDocumentFragment(),n=document.createComment(""),r=Xr();return t.append(n,r),$a(n,r),t}function q(t,n){if(st){var r=lt;((r.f&32768)===0||r.nodes.end===null)&&(r.nodes.end=$t),Pi();return}t!==null&&t.before(n)}var xl=!0;function h(t,n){var r,a=n==null?"":typeof n=="object"?`${n}`:n;a!==((r=t)[Qi]??(r[Qi]=t.nodeValue))&&(t[Qi]=a,t.nodeValue=`${a}`)}function Po(t,n){return eu(t,n)}function ef(t,n){vs(),n.intro=n.intro??!1;const r=n.target,a=st,s=$t;try{for(var f=fa(r);f&&(f.nodeType!==8||f.data!=="[");)f=Da(f);if(!f)throw Kn;na(!0),Fr(f);const i=eu(t,{...n,anchor:f});return na(!1),i}catch(i){if(i instanceof Error&&i.message.split(` -`).some(d=>d.startsWith("https://svelte.dev/e/")))throw i;return i!==Kn&&console.warn("Failed to hydrate: ",i),n.recover===!1&&Xu(),vs(),Dv(r),na(!1),Po(t,n)}finally{na(a),Fr(s)}}var Ui=new Map;function eu(t,{target:n,anchor:r,props:a={},events:s,context:f,intro:i=!0,transformError:d}){vs();var b=void 0,p=Fc(()=>{var S=r??n.appendChild(Xr());pc(S,{pending:()=>{}},k=>{xt({});var g=Lt;if(f&&(g.c=f),s&&(a.$$events=s),st&&$a(k,null),xl=i,b=t(k,a)||{},xl=!0,st&&(lt.nodes.end=$t,$t===null||$t.nodeType!==8||$t.data!=="]"))throw $o(),Kn;yt()},d);var o=new Set,m=k=>{for(var g=0;g{for(var k of o)for(const P of[n,document]){var g=Ui.get(P),A=g.get(k);--A==0?(P.removeEventListener(k,fs),g.delete(k),g.size===0&&Ui.delete(P)):g.set(k,A)}gl.delete(m),S!==r&&S.parentNode?.removeChild(S)}});return ds.set(b,p),b}var ds=new WeakMap;function tu(t,n){const r=ds.get(t);return r?(ds.delete(t),r(n)):Promise.resolve()}var Ra=new WeakMap,Ga=new WeakMap,ba=new WeakMap,oi=new WeakMap,Fo=new WeakMap,Io=new WeakMap,yl=new WeakMap,ru=class{constructor(t,n=!0){dr(this,"anchor",void 0),et(this,Ra,new Map),et(this,Ga,new Map),et(this,ba,new Map),et(this,oi,new Set),et(this,Fo,!0),et(this,Io,r=>{if(L(Ra,this).has(r)){var a=L(Ra,this).get(r),s=L(Ga,this).get(a);if(s)ho(s),L(oi,this).delete(a);else{var f=L(ba,this).get(a);f&&(ho(f.effect),L(Ga,this).set(a,f.effect),L(ba,this).delete(a),f.fragment.lastChild.remove(),this.anchor.before(f.fragment),s=f.effect)}for(const[i,d]of L(Ra,this)){if(L(Ra,this).delete(i),i===r)break;const b=L(ba,this).get(d);b&&(Yr(b.effect),L(ba,this).delete(d))}for(const[i,d]of L(Ga,this)){if(i===a||L(oi,this).has(i))continue;const b=()=>{if(Array.from(L(Ra,this).values()).includes(i)){var p=document.createDocumentFragment();Hs(d,p),p.append(Xr()),L(ba,this).set(i,{effect:d,fragment:p})}else Yr(d);L(oi,this).delete(i),L(Ga,this).delete(i)};L(Fo,this)||!s?(L(oi,this).add(i),An(d,b,!1)):b()}}}),et(this,yl,r=>{L(Ra,this).delete(r);const a=Array.from(L(Ra,this).values());for(const[s,f]of L(ba,this))a.includes(s)||(Yr(f.effect),L(ba,this).delete(s))}),this.anchor=t,Ke(Fo,this,n)}ensure(t,n){var r=Qe,a=Rv();if(n&&!L(Ga,this).has(t)&&!L(ba,this).has(t))if(a){var s=document.createDocumentFragment(),f=Xr();s.append(f),L(ba,this).set(t,{effect:pa(()=>n(f)),fragment:s})}else L(Ga,this).set(t,pa(()=>n(this.anchor)));if(L(Ra,this).set(r,t),a){for(const[i,d]of L(Ga,this))i===t?r.unskip_effect(d):r.skip_effect(d);for(const[i,d]of L(ba,this))i===t?r.unskip_effect(d.effect):r.skip_effect(d.effect);r.oncommit(L(Io,this)),r.ondiscard(L(yl,this))}else st&&(this.anchor=$t),L(Io,this).call(this,r)}};function I(t,n,r=!1){var a;st&&(a=$t,Pi());var s=new ru(t),f=r?yo:0;function i(d,b){if(st){var p=Os(a);if(d!==parseInt(p.substring(1))){var S=$i();Fr(S),s.anchor=S,na(!1),s.ensure(d,b),na(!0);return}}s.ensure(d,b)}Ao(()=>{var d=!1;n((b,p=0)=>{d=!0,i(p,b)}),d||i(-1,null)},f)}function Yt(t,n){return n}function tf(t,n,r){for(var a=[],s=n.length,f,i=n.length,d=0;d{if(f){if(f.pending.delete(o),f.done.add(o),f.pending.size===0){var m=t.outrogroups;_s(t,xo(f.done)),m.delete(f),m.size===0&&(t.outrogroups=null)}}else i-=1},!1)}if(i===0){var b=a.length===0&&r!==null;if(b){var p=r,S=p.parentNode;Dv(S),S.append(p),t.items.clear()}_s(t,n,!b)}else f={pending:new Set(n),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(f)}function _s(t,n,r=!0){var a;if(t.pending.size>0){a=new Set;for(const i of t.pending.values())for(const d of i)a.add(t.items.get(d).e)}for(var s=0;s{var R=r();return Ti(R)?R:R==null?[]:xo(R)}),o,m=new Map,k=!0;function g(R){(P.effect.f&16384)===0&&(P.pending.delete(R),P.fallback=p,rf(P,o,i,n,a),p!==null&&(o.length===0?(p.f&33554432)===0?ho(p):(p.f^=gi,pi(p,null,i)):An(p,()=>{p=null})))}function A(R){P.pending.delete(R)}var P={effect:Ao(()=>{o=e(S);var R=o.length;let Y=!1;st&&Os(i)==="[!"!=(R===0)&&(i=$i(),Fr(i),na(!1),Y=!0);for(var H=new Set,T=Qe,O=Rv(),C=0;Cf(i)):(p=pa(()=>f(Hi??(Hi=Xr()))),p.f|=gi)),R>H.size&&zu("","",""),st&&R>0&&Fr($i()),!k)if(m.set(T,H),O){for(const[le,qe]of d)H.has(le)||T.skip_effect(qe.e);T.oncommit(g),T.ondiscard(A)}else g(T);Y&&na(!0),e(S)}),flags:n,items:d,pending:m,outrogroups:null,fallback:p};k=!1,st&&(i=$t)}function si(t){for(;t!==null&&(t.f&32)===0;)t=t.next;return t}function rf(t,n,r,a,s){var f=(a&8)!==0,i=n.length,d=t.items,b=si(t.effect.first),p,S=null,o,m=[],k=[],g,A,P,R;if(f)for(R=0;R0){var te=(a&4)!==0&&i===0?r:null;if(f){for(R=0;R{if(o!==void 0)for(P of o)P.nodes?.a?.apply()})}function af(t,n,r,a,s,f,i,d){var b=(i&1)!==0?(i&16)===0?W(r,!1,!1):qn(r):null,p=(i&2)!==0?qn(s):null;return{v:b,i:p,e:pa(()=>(f(n,b??r,p??s,d),()=>{t.delete(a)}))}}function pi(t,n,r){if(t.nodes)for(var a=t.nodes.start,s=t.nodes.end,f=n&&(n.f&33554432)===0?n.nodes.start:r;a!==null;){var i=Da(a);if(f.before(a),a===s)return;a=i}}function Ka(t,n,r){n===null?t.effect.first=r:n.next=r,r===null?t.effect.last=n:r.prev=n}function wl(t,n,r){var a;st&&(a=$t,Pi());var s=new ru(t);Ao(()=>{var f=n()??null;if(st&&Os(a)==="["!=(f!==null)){var i=$i();Fr(i),s.anchor=i,na(!1),s.ensure(f,f&&(d=>r(d,f))),na(!0);return}s.ensure(f,f&&(d=>r(d,f)))},yo)}function li(t,n,r){To(()=>{var a=v(()=>n(t,r?.())||{});if(r&&a?.update){var s=!1,f={};za(()=>{var i=r();$(i),s&&Cs(f,i)&&(f=i,a.update(i))}),s=!0}if(a?.destroy)return()=>a.destroy()})}function au(t){var n,r,a="";if(typeof t=="string"||typeof t=="number")a+=t;else if(typeof t=="object")if(Array.isArray(t)){var s=t.length;for(n=0;n=0;){var d=i+f;(i===0||kl.includes(a[i-1]))&&(d===a.length||kl.includes(a[d]))?a=(i===0?"":a.substring(0,i))+a.substring(d+1):i=d}}return a===""?null:a}function $l(t,n=!1){var r=n?" !important;":";",a="";for(var s of Object.keys(t)){var f=t[s];f!=null&&f!==""&&(a+=" "+s+": "+f+r)}return a}function Wo(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function sf(t,n){if(n){var r="",a,s;if(Array.isArray(n)?(a=n[0],s=n[1]):a=n,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var f=!1,i=0,d=!1,b=[];a&&b.push(...Object.keys(a).map(Wo)),s&&b.push(...Object.keys(s).map(Wo));var p=0,S=-1;const A=t.length;for(var o=0;o{nu(t,t.__value)});n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Eo(()=>{n.disconnect()})}function At(t,n,r=n){var a=new WeakSet,s=!0;Mo(t,"change",f=>{var i=f?"[selected]":":checked",d;if(t.multiple)d=[].map.call(t.querySelectorAll(i),wi);else{var b=t.querySelector(i)??t.querySelector("option:not([disabled])");d=b&&wi(b)}r(d),t.__value=d,Qe!==null&&a.add(Qe)}),To(()=>{var f=n();if(t===document.activeElement){var i=_a?qi:Qe;if(a.has(i))return}if(nu(t,f,s),s&&f===void 0){var d=t.querySelector(":checked");d!==null&&(f=wi(d),r(f))}t.__value=f,s=!1}),vf(t)}function wi(t){return"__value"in t?t.__value:t.value}var uf=Symbol("is custom element"),cf=Symbol("is html"),ff=vv?"link":"LINK",df=vv?"progress":"PROGRESS";function ve(t){if(st){var n=!1,r=()=>{if(!n){if(n=!0,t.hasAttribute("value")){var a=t.value;Q(t,"value",null),t.value=a}if(t.hasAttribute("checked")){var s=t.checked;Q(t,"checked",null),t.checked=s}}};t[bi]=r,Ua(r),jv()}}function Sl(t,n){var r=Ys(t);r.value===(r.value=n??void 0)||t.value===n&&(n!==0||t.nodeName!==df)||(t.value=n??"")}function ql(t,n){var r=Ys(t);r.checked!==(r.checked=n??void 0)&&(t.checked=n)}function Q(t,n,r,a){var s=Ys(t);if(st&&(s[n]=t.getAttribute(n),n==="src"||n==="srcset"||n==="href"&&t.nodeName===ff)){a||void 0;return}s[n]!==(s[n]=r)&&(n==="loading"&&(t[Bu]=r),r==null?t.removeAttribute(n):typeof r!="string"&&_f(t).includes(n)?t[n]=r:t.setAttribute(n,r))}function Ys(t){var n;return(n=t)[es]??(n[es]={[uf]:t.nodeName.includes("-"),[cf]:t.namespaceURI==="http://www.w3.org/1999/xhtml"})}var Ml=new Map;function _f(t){var n=t.getAttribute("is")||t.nodeName,r=Ml.get(n);if(r)return r;Ml.set(n,r=[]);for(var a,s=t,f=Element.prototype;f!==s;){a=ov(s);for(var i in a)a[i].set&&i!=="innerHTML"&&i!=="textContent"&&i!=="innerText"&&r.push(i);s=Es(s)}return r}var Uo=null;function pf(){if(Uo===null){var t=Ws("select");t.innerHTML=Zv(""),Uo=t.firstChild?.firstChild?.nodeType===1}return Uo}function dn(t,n){var r=st;pf()||(na(!1),t.textContent="",t.append(Lc("")));try{n()}finally{r&&(st?u(t):(na(!0),Fr(t)))}}function Me(t,n,r=n){var a=new WeakSet;Mo(t,"input",async s=>{var f=s?t.defaultValue:t.value;if(f=Ho(t)?zo(f):f,r(f),Qe!==null&&a.add(Qe),await zs(),f!==(f=n())){var i=t.selectionStart,d=t.selectionEnd,b=t.value.length;if(t.value=f??"",d!==null){var p=t.value.length;i===d&&d===b&&p>b?(t.selectionStart=p,t.selectionEnd=p):(t.selectionStart=i,t.selectionEnd=Math.min(d,p))}}}),(st&&t.defaultValue!==t.value||v(n)==null&&t.value)&&(r(Ho(t)?zo(t.value):t.value),Qe!==null&&a.add(Qe)),za(()=>{var s=n();if(t===document.activeElement){var f=_a?qi:Qe;if(a.has(f))return}Ho(t)&&s===zo(t.value)||t.type==="date"&&!s&&!t.value||s!==t.value&&(t.value=s??"")})}function hr(t,n,r=n){Mo(t,"change",a=>{r(a?t.defaultChecked:t.checked)}),(st&&t.defaultChecked!==t.checked||v(n)==null)&&r(t.checked),za(()=>{var a=n();t.checked=!!a})}function Ho(t){var n=t.type;return n==="number"||n==="range"}function zo(t){return t===""?null:+t}function El(t,n,r=n){Mo(t,"change",()=>{r(t.files)}),st&&t.files&&r(t.files),za(()=>{t.files=n()})}function hf(t,n,r){var a=Wa(t,n);a&&a.set&&(t[n]=r,Eo(()=>{t[n]=null}))}var iu,Un=new WeakMap,mo=new WeakMap,Yo=new WeakMap,Tl=new WeakSet,Gs=class{constructor(t){Ds(this,Tl),et(this,Un,new WeakMap),et(this,mo,void 0),et(this,Yo,void 0),Ke(Yo,this,t)}observe(t,n){var r=L(Un,this).get(t)||new Set;return r.add(n),L(Un,this).set(t,r),_t(Tl,this,mf).call(this).observe(t,L(Yo,this)),()=>{var a=L(Un,this).get(t);a.delete(n),a.size===0&&(L(Un,this).delete(t),L(mo,this).unobserve(t))}}};iu=Gs;function mf(){return L(mo,this)??Ke(mo,this,new ResizeObserver(t=>{for(var n of t){iu.entries.set(n.target,n);for(var r of L(Un,this).get(n.target)||[])r(n)}}))}dr(Gs,"entries",new WeakMap);var gf=new Gs({box:"border-box"});function kn(t,n,r){var a=gf.observe(t,()=>r(t[n]));To(()=>(v(()=>r(t[n])),a))}function Go(t,n){return t===n||t?.[Na]===n}function go(t={},n,r,a){var s=Lt.r,f=lt;return To(()=>{var i,d;return za(()=>{i=d,d=a?.()||[],v(()=>{Go(r(...d),t)||(n(t,...d),i&&Go(r(...i),t)&&n(null,...i))})}),()=>{let b=f;for(;b!==s&&b.parent!==null&&b.parent.f&33554432;)b=b.parent;const p=()=>{d&&Go(r(...d),t)&&n(null,...d)},S=b.teardown;b.teardown=()=>{p(),S?.()}}}),t}function Pn(t){return function(...n){return n[0].preventDefault(),t?.apply(this,n)}}function Mt(t=!1){const n=Lt,r=n.l.u;if(!r)return;let a=()=>$(n.s);if(t){let s=0,f={};const i=Xn(()=>{let d=!1;const b=n.s;for(const p in b)b[p]!==f[p]&&(f[p]=b[p],d=!0);return d&&s++,s});a=()=>e(i)}r.b.length&&Rc(()=>{Al(n,a),io(r.b)}),us(()=>{const s=v(()=>r.m.map(Ru));return()=>{for(const f of s)typeof f=="function"&&f()}}),r.a.length&&us(()=>{Al(n,a),io(r.a)})}function Al(t,n){if(t.l.s)for(const r of t.l.s)e(r);n()}function Pl(t,n){var r=t.$$events?.[n.type];for(var a of Ti(r)?r.slice():r==null?[]:[r])a.call(this,n)}var bf={get(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(ii(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a)return a[n]}},set(t,n,r){let a=t.props.length;for(;a--;){let s=t.props[a];ii(s)&&(s=s());const f=Wa(s,n);if(f&&f.set)return f.set(r),!0}return!1},getOwnPropertyDescriptor(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(ii(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a){const s=Wa(a,n);return s&&!s.configurable&&(s.configurable=!0),s}}},has(t,n){if(n===Na||n===Ps)return!1;for(let r of t.props)if(ii(r)&&(r=r()),r!=null&&n in r)return!0;return!1},ownKeys(t){const n=[];for(let r of t.props)if(ii(r)&&(r=r()),!!r){for(const a in r)n.includes(a)||n.push(a);for(const a of Object.getOwnPropertySymbols(r))n.includes(a)||n.push(a)}return n}};function Ol(...t){return new Proxy({props:t},bf)}function de(t,n,r,a){var s=!Jn||(r&2)!==0,f=(r&8)!==0,i=(r&16)!==0,d=a,b=!0,p=void 0,S=()=>i&&s?(p??(p=Xn(a)),e(p)):(b&&(b=!1,d=i?v(a):a),d);let o;if(f){var m=Na in t||Ps in t;o=Wa(t,n)?.set??(m&&n in t?T=>t[n]=T:void 0)}var k,g=!1;f?[k,g]=fc(()=>t[n]):k=t[n],k===void 0&&a!==void 0&&(k=S(),o&&(s&&Zu(n),o(k)));var A;if(s?A=()=>{var T=t[n];return T===void 0?S():(b=!0,T)}:A=()=>{var T=t[n];return T!==void 0&&(d=void 0),T===void 0?d:T},s&&(r&4)===0)return A;if(o){var P=t.$$legacy;return(function(T,O){return arguments.length>0?((!s||!O||P||g)&&o(O?A():T),T):A()})}var R=!1,Y=((r&1)!==0?Xn:Ce)(()=>(R=!1,A()));f&&e(Y);var H=lt;return(function(T,O){if(arguments.length>0){const C=O?e(Y):s&&f?zn(T):T;return E(Y,C),R=!0,d!==void 0&&(d=C),T}return Ha&&R||(H.f&16384)!==0?Y.v:e(Y)})}function xf(t){return new yf(t)}var nn=new WeakMap,Ta=new WeakMap,yf=class{constructor(t){et(this,nn,void 0),et(this,Ta,void 0);var n=new Map,r=(s,f)=>{var i=W(f,!1,!1);return n.set(s,i),i};const a=new Proxy({...t.props||{},$$events:{}},{get(s,f){return e(n.get(f)??r(f,Reflect.get(s,f)))},has(s,f){return f===Ps?!0:(e(n.get(f)??r(f,Reflect.get(s,f))),Reflect.has(s,f))},set(s,f,i){return E(n.get(f)??r(f,i),i),Reflect.set(s,f,i)}});Ke(Ta,this,(t.hydrate?ef:Po)(t.component,{target:t.target,anchor:t.anchor,props:a,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),!_a&&(!t?.props?.$$host||t.sync===!1)&&Mv(),Ke(nn,this,a.$$events);for(const s of Object.keys(L(Ta,this)))s==="$set"||s==="$destroy"||s==="$on"||iv(this,s,{get(){return L(Ta,this)[s]},set(f){L(Ta,this)[s]=f},enumerable:!0});L(Ta,this).$set=s=>{Object.assign(a,s)},L(Ta,this).$destroy=()=>{tu(L(Ta,this))}}$set(t){L(Ta,this).$set(t)}$on(t,n){L(nn,this)[t]=L(nn,this)[t]||[];const r=(...a)=>n.call(this,...a);return L(nn,this)[t].push(r),()=>{L(nn,this)[t]=L(nn,this)[t].filter(a=>a!==r)}}$destroy(){L(Ta,this).$destroy()}},wf;typeof HTMLElement=="function"&&(wf=class extends HTMLElement{constructor(t,n,r){super(),dr(this,"$$ctor",void 0),dr(this,"$$s",void 0),dr(this,"$$c",void 0),dr(this,"$$cn",!1),dr(this,"$$d",{}),dr(this,"$$r",!1),dr(this,"$$p_d",{}),dr(this,"$$l",{}),dr(this,"$$l_u",new Map),dr(this,"$$me",void 0),dr(this,"$$shadowRoot",null),this.$$ctor=t,this.$$s=n,r&&(this.$$shadowRoot=this.attachShadow(r))}addEventListener(t,n,r){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(n),this.$$c){const a=this.$$c.$on(t,n);this.$$l_u.set(n,a)}super.addEventListener(t,n,r)}removeEventListener(t,n,r){if(super.removeEventListener(t,n,r),this.$$c){const a=this.$$l_u.get(n);a&&(a(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let n=function(s){return f=>{const i=Ws("slot");s!=="default"&&(i.name=s),q(f,i)}};var t=n;if(await Promise.resolve(),!this.$$cn||this.$$c)return;const r={},a=kf(this);for(const s of this.$$s)s in a&&(s==="default"&&!this.$$d.children?(this.$$d.children=n(s),r.default=!0):r[s]=n(s));for(const s of this.attributes){const f=this.$$g_p(s.name);f in this.$$d||(this.$$d[f]=Ko(f,s.value,this.$$p_d,"toProp"))}for(const s in this.$$p_d)!(s in this.$$d)&&this[s]!==void 0&&(this.$$d[s]=this[s],delete this[s]);this.$$c=xf({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=jc(()=>{za(()=>{this.$$r=!0;for(const s of nl(this.$$c)){if(!this.$$p_d[s]?.reflect)continue;this.$$d[s]=this.$$c[s];const f=Ko(s,this.$$d[s],this.$$p_d,"toAttribute");f==null?this.removeAttribute(this.$$p_d[s].attribute||s):this.setAttribute(this.$$p_d[s].attribute||s,f)}this.$$r=!1})});for(const s in this.$$l)for(const f of this.$$l[s]){const i=this.$$c.$on(s,f);this.$$l_u.set(f,i)}this.$$l={}}}attributeChangedCallback(t,n,r){this.$$r||(t=this.$$g_p(t),this.$$d[t]=Ko(t,r,this.$$p_d,"toProp"),this.$$c?.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return nl(this.$$p_d).find(n=>this.$$p_d[n].attribute===t||!this.$$p_d[n].attribute&&n.toLowerCase()===t)||t}});function Ko(t,n,r,a){const s=r[t]?.type;if(n=s==="Boolean"&&typeof n!="boolean"?n!=null:n,!a||!r[t])return n;if(a==="toAttribute")switch(s){case"Object":case"Array":return n==null?null:JSON.stringify(n);case"Boolean":return n?"":null;case"Number":return n??null;default:return n}else switch(s){case"Object":case"Array":return n&&JSON.parse(n);case"Boolean":return n;case"Number":return n!=null?+n:n;default:return n}}function kf(t){const n={};return t.childNodes.forEach(r=>{n[r.slot||"default"]=!0}),n}if(0)var R1;function Oo(t){Lt===null&&ko("onMount"),Jn&&Lt.l!==null?su(Lt).m.push(t):us(()=>{const n=v(t);if(typeof n=="function")return n})}function ou(t){Lt===null&&ko("onDestroy"),Oo(()=>()=>v(t))}function $f(t,n,{bubbles:r=!1,cancelable:a=!1}={}){return new CustomEvent(t,{detail:n,bubbles:r,cancelable:a})}function Sf(){const t=Lt;return t===null&&ko("createEventDispatcher"),(n,r,a)=>{const s=t.s.$$events?.[n];if(s){const f=Ti(s)?s.slice():[s],i=$f(n,r,a);for(const d of f)d.call(t.x,i);return!i.defaultPrevented}return!0}}function qf(t){Lt===null&&ko("afterUpdate"),Lt.l===null&&Qu("afterUpdate"),su(Lt).a.push(t)}function su(t){var n=t.l;return n.u??(n.u={a:[],b:[],m:[]})}if(typeof window<"u"){var Cl,Nl;((Cl=(Nl=window).__svelte??(Nl.__svelte={})).v??(Cl.v=new Set)).add("5")}oc();function Mf(t,n){if(t instanceof RegExp)return{keys:!1,pattern:t};var r,a,s,f,i=[],d="",b=t.split("/");for(b[0]||b.shift();s=b.shift();)r=s[0],r==="*"?(i.push("wild"),d+="/(.*)"):r===":"?(a=s.indexOf("?",1),f=s.indexOf(".",1),i.push(s.substring(1,~a?a:~f?f:s.length)),d+=~a&&!~f?"(?:/([^/]+?))?":"/([^/]+?)",~f&&(d+=(~a?"?":"")+"\\"+s.substring(f))):d+="/"+s;return{keys:i,pattern:new RegExp("^"+d+(n?"(?=$|/)":"/?$"),"i")}}function Ll(){const t=window.location.href.indexOf("#/");let n=t>-1?window.location.href.substr(t+1):"/";const r=n.indexOf("?");let a="";return r>-1&&(a=n.substr(r+1),n=n.substr(0,r)),{location:n,querystring:a}}var Ks=Ls(null,function(n){n(Ll());const r=()=>{n(Ll())};return window.addEventListener("hashchange",r,!1),function(){window.removeEventListener("hashchange",r,!1)}}),N1=hv(Ks,t=>t.location),L1=hv(Ks,t=>t.querystring),Dl=Qr(void 0);async function Za(t){if(!t||t.length<1||t.charAt(0)!="/"&&t.indexOf("#/")!==0)throw Error("Invalid parameter location");await zs(),history.replaceState({...history.state,__svelte_spa_router_scrollX:window.scrollX,__svelte_spa_router_scrollY:window.scrollY},void 0),window.location.hash=(t.charAt(0)=="#"?"":"#")+t}function Ef(t){t?window.scrollTo(t.__svelte_spa_router_scrollX,t.__svelte_spa_router_scrollY):window.scrollTo(0,0)}function Tf(t,n){xt(n,!1);let r=de(n,"routes",24,()=>({})),a=de(n,"prefix",8,""),s=de(n,"restoreScrollState",8,!1);class f{constructor(C,B){if(!B||typeof B!="function"&&(typeof B!="object"||B._sveltesparouter!==!0))throw Error("Invalid component object");if(!C||typeof C=="string"&&(C.length<1||C.charAt(0)!="/"&&C.charAt(0)!="*")||typeof C=="object"&&!(C instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:J,keys:te}=Mf(C);this.path=C,typeof B=="object"&&B._sveltesparouter===!0?(this.component=B.component,this.conditions=B.conditions||[],this.userData=B.userData,this.props=B.props||{}):(this.component=()=>Promise.resolve(B),this.conditions=[],this.props={}),this._pattern=J,this._keys=te}match(C){if(a()){if(typeof a()=="string")if(C.startsWith(a()))C=C.substr(a().length)||"/";else return null;else if(a()instanceof RegExp){const se=C.match(a());if(se&&se[0])C=C.substr(se[0].length)||"/";else return null}}const B=this._pattern.exec(C);if(B===null)return null;if(this._keys===!1)return B;const J={};let te=0;for(;te{i.push(new f(C,O))}):Object.keys(r()).forEach(O=>{i.push(new f(O,r()[O]))});let d=W(null),b=W(null),p=W({});const S=Sf();async function o(O,C){await zs(),S(O,C)}let m=null,k=null;s()&&(k=O=>{O.state&&(O.state.__svelte_spa_router_scrollY||O.state.__svelte_spa_router_scrollX)?m=O.state:m=null},window.addEventListener("popstate",k),qf(()=>{Ef(m)}));let g=null,A=null;const P=Ks.subscribe(async O=>{g=O;let C=0;for(;C{Dl.set(e(b))});return}E(d,null),A=null,Dl.set(void 0)});ou(()=>{P(),k&&window.removeEventListener("popstate",k)}),mr(()=>$(s()),()=>{history.scrollRestoration=s()?"manual":"auto"}),wr(),Mt();var R=qr(),Y=fe(R),H=O=>{var C=qr(),B=fe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol({get params(){return e(b)}},()=>e(p),{$$events:{routeEvent(se){Pl.call(this,n,se)}}}))}),q(O,C)},T=O=>{var C=qr(),B=fe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol(()=>e(p),{$$events:{routeEvent(se){Pl.call(this,n,se)}}}))}),q(O,C)};I(Y,O=>{e(b)?O(H):O(T,-1)}),q(t,R),yt()}function Aa(t){return t===1?"green":t===2?"yellow":t===3?"red":"gray"}function Af(t,n){return t>218&&t<242?"#23ac05":t>212&&t<248?"#b1d900":t>208&&t<252?"#a3b200":"#b20000"}function eo(t,n){let r;return t>90?r="#b20000":t>85?r="#b19601":t>80?r="#a3b200":t>75?r="#569f12":r="#23ac05",r}function vi(t){return t>75?"#23ac05":t>50?"#77d900":t>25?"#94d900":"#569f12"}function bo(t){switch(t){case 1:return"Aidon";case 2:return"Kaifa";case 3:return"Kamstrup";case 8:return"Iskra";case 9:return"Landis+Gyr";case 10:return"Sagemcom";default:return"Unknown"}}function Wt(t){for(t=t.toString();t.length<2;)t="0"+t;return t}function Re(t,n){switch(n){case 5:switch(t){case"esp8266":return"Pow-K (GPIO12)";case"esp32s2":return"Pow-K+"}case 7:switch(t){case"esp8266":return"Pow-U (GPIO12)";case"esp32s2":return"Pow-U+"}case 6:return"Pow-P1";case 51:return"Wemos S2 mini";case 50:return"Generic ESP32-S2";case 201:return"Wemos LOLIN D32";case 202:return"Adafruit HUZZAH32";case 203:return"DevKitC";case 241:return"LilyGO T-ETH-POE";case 242:return"M5 PoESP32";case 243:return"WT32-ETH01";case 245:return"wESP32";case 200:return"Generic ESP32";case 2:return"HAN Reader 2.0 by Max Spencer";case 0:return"Custom hardware by Roar Fredriksen";case 1:return"Kamstrup module by Egil Opsahl";case 8:return"µHAN mosquito by dbeinder";case 3:return"Pow-K (UART0)";case 4:return"Pow-U (UART0)";case 101:return"Wemos D1 mini";case 100:return"Generic ESP8266";case 70:return"Generic ESP32-C3";case 71:return"ESP32-C3-DevKitM-1";case 80:return"Generic ESP32-S3"}return"Unknown"}function $n(t){switch(t){case 2:case 4:case 7:return!0}return!1}function jt(t,n){return t==1||t==2&&n}function Jt(t){let n="https://wiki.amsleser.no";return t&&(n+="/en/firmware#"+t),n}function It(t,n){return t==null||isNaN(t)?"-":(isNaN(n)&&(n=t<1?2:t<10?1:0),t.toFixed(n))}function Ja(t,n){return t.setTime(t.getTime()+n*36e5),t}function Pf(t,n){return t.setTime(t.getTime()+n*6e4),t}function Of(t){return t=="EOE"?"ENTSO-E":t=="HKS"?"hvakosterstrommen.no":t=="EDS"?"Energi Data Service":t=="MIX"?"Mixed sources":t=="FIX"?"Fixed price":"Unknown ("+t+")"}function Rl(t){return t=="EOE"?"https://transparency.entsoe.eu/":t=="HKS"?"https://www.hvakosterstrommen.no/":t=="EDS"?"https://www.energidataservice.dk/":t=="FIX"?"/priceconfig":"#"}var zi=0;function Ei(t,n){var r="";zi++;var a=function(){setTimeout(Ei,1e3,t,n)};if(t.net.ip&&zi%3==0){if(!t.net.ip){a();return}r="http://"+t.net.ip}else t.hostname&&zi%3==1?r="http://"+t.hostname:t.hostname&&zi%3==2?r="http://"+t.hostname+".local":r="";console&&console.log("Trying url "+r),n&&n(r);var s=new XMLHttpRequest;s.timeout=5e3,s.addEventListener("abort",a),s.addEventListener("error",a),s.addEventListener("timeout",a),s.addEventListener("load",function(f){window.location.href=r||"/"}),s.open("GET",r+"/is-alive",!0),s.send()}function fr(t){return t.charAt(0).toUpperCase()+t.slice(1)}function jl(t){return t.startsWith("esp32")?"esp32":t}function Or(t,n){let r=[t,n];return typeof t>"u"?(r[0]="-",r[1]=n):t>=1e9?(r[0]=(t/1e6).toFixed(t>1e10?0:1),r[1]="M"+n):t>1e4?(r[0]=(t/1e3).toFixed(t>1e6?0:t>1e5?1:2),r[1]="k"+n):(r[0]=t.toFixed(0),r[1]=n),r}function hi(t,n){let r=[It(t,2),n];if(typeof t>"u")r[0]="-",r[1]=n;else if(Math.abs(t*100)<100){switch(r[0]=It(t*100,2),n){case"NOK":case"DKK":n="øre";break;case"SEK":n="öre";break;case"EUR":n="cent";break;case"CHF":n="rp.";break;default:n=n+"/100"}r[1]=n}return r}var _n="((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}",ja="[\\x20-\\x7E]+",Yn="[\\x20-\\xFF]+",to="[A-Za-z0-9_\\-]+",Fl="[0-9A-Fa-f]+",ui="[0-9]+",ro={},ps=[];async function Cf(t,n={}){const{timeout:r=8e3}=n,a=new AbortController,s=setTimeout(()=>a.abort(),r),f=await fetch(t,{...n,signal:a.signal});return clearTimeout(s),f}var Vo;async function lu(){if(ps.length){let t=ps.shift();delete ro[t.resource];try{let n=await Cf(t.resource,t.options);for(let r in t.callbacks)t.callbacks[r](n.clone())}catch(n){console.error("Error calling "+t.resource,n);for(let r in t.callbacks)t.callbacks[r]()}}Vo&&clearTimeout(Vo),Vo=setTimeout(lu,100)}lu();async function oa(t,n={}){let r;return ro[t]?r=ro[t]:(r={resource:t,options:n,callbacks:[]},ro[t]=r,ps.push(r)),new Promise(a=>r.callbacks.push(a))}var Oa={version:"",chip:"",mac:null,apmac:null,vndcfg:null,usrcfg:null,fwconsent:null,booting:!1,upgrading:!1,ui:{},security:0,boot_reason:0,upgrade:{x:-1,e:0,f:null,t:null},trying:null,if:{eth:!1}};async function pn(){Oa=await(await oa("sysinfo.json?t="+Math.floor(Date.now()/1e3))).json(),Sr.set(Oa)}var Sr=Qr(Oa,t=>(pn(),function(){}));function Nf(t){Sr.update(n=>(n.trying=t,n))}var Yi=0,Il=-127,Wl=null,Lf={},Co=Ls(Lf,t=>{let n,r;async function a(){oa("data.json").then(s=>s.json()).then(s=>{t(s),Il!=s.t&&(Il=s.t,setTimeout(Df,2e3)),s.pe&&s.p!=Wl&&(Wl=s.p,cu()),(!Oa||!Oa.chip||Oa.booting||Yi>1&&!$n(Oa.board))&&(pn(),Fa&&clearTimeout(Fa),Fa=setTimeout(gs,2e3),Ia&&clearTimeout(Ia),Ia=setTimeout(xs,3e3)),s.u,Fa||(Fa=gs()),Ia||(Ia=xs());let f=5e3;if($n(Oa.board)&&s.v>2.5){let i=3.3-Math.min(3.3,s.v);i>0&&(f=Math.max(i,.1)*10*5e3)}f>5e3&&console.log("Next in "+f+"ms"),n&&clearTimeout(n),n=setTimeout(a,f),Yi=0}).catch(s=>{Yi++,Yi>3?(t({em:3,hm:0,wm:0,mm:0}),n=setTimeout(a,15e3),r||(r=setTimeout(Ei,5e3,Oa,Nf))):n=setTimeout(a,$n(Oa.board)?1e4:5e3)})}return a(),function(){clearTimeout(n)}}),Gi,ao={},vu=Qr(ao),hs={},uu=Qr(hs);async function cu(){Gi&&(clearTimeout(Gi),Gi=0),ao=await(await oa("importprice.json")).json(),vu.set(ao),ao?.importExportPriceDifferent&&(hs=await(await oa("exportprice.json")).json(),uu.set(hs)),Gi=setTimeout(cu,(24-new Date().getHours())*36e5+10)}var ms={},Fa;async function gs(){Fa&&(clearTimeout(Fa),Fa=0),ms=await(await oa("dayplot.json")).json(),Vs.set(ms),Fa=setTimeout(gs,(60-new Date().getMinutes())*6e4+20)}var Vs=Qr(ms,t=>function(){}),bs={},Ia;async function xs(){Ia&&(clearTimeout(Ia),Ia=0),bs=await(await oa("monthplot.json")).json(),Xs.set(bs),Ia=setTimeout(xs,(24-new Date().getHours())*36e5+40)}var Xs=Qr(bs,t=>function(){}),ys={};async function Df(){ys=await(await oa("temperature.json")).json(),fu.set(ys)}var fu=Qr(ys,t=>function(){}),ws={},Ki;async function du(){Ki&&(clearTimeout(Ki),Ki=0),ws=await(await oa("tariff.json")).json(),_u.set(ws),Ki=setTimeout(du,(60-new Date().getMinutes())*6e4+30)}var _u=Qr(ws,t=>function(){}),Hn={c:-1,n:[]};async function Rf(){let t=await(await oa("wifiscan.json",{timeout:3e4})).json(),n=[];Hn.c=0,Hn.n=[];for(let r=0;r(Rf(),function(){})),ks=!1,Gr=Qr(ks);async function pu(t){ks=await(await oa("translations.json"+(t?"?lang="+t:""))).json(),Gr.set(ks)}pu();function Bl(t){return"WARNING: "+t+" must be connected to an external power supply during firmware upgrade. Failure to do so may cause power-down during upload resulting in non-functioning unit."}async function hu(t){return await(await fetch("upgrade?expected_version="+t,{method:"POST"})).json()}var jf=F(" ",1);function Ff(t,n){xt(n,!1);let r=de(n,"epoch",8),a=W({});Gr.subscribe(S=>{E(a,S)});let s=W(0),f=W(0),i=W(0);mr(()=>$(r()),()=>{E(s,Math.floor(r()/86400)),E(f,Math.floor(r()/3600)),E(i,Math.floor(r()/60))}),wr(),Mt();var d=qr(),b=fe(d),p=S=>{var o=jf(),m=fe(o),k=l(m),g=O=>{var C=ca();j(()=>h(C,`${e(s)??""} ${e(a),v(()=>e(a).common?.days??"d")??""}`)),q(O,C)},A=O=>{var C=ca();j(()=>h(C,`${e(s)??""} ${e(a),v(()=>e(a).common?.day??"d")??""}`)),q(O,C)},P=O=>{var C=ca();j(()=>h(C,`${e(f)??""} ${e(a),v(()=>e(a).common?.hours??"h")??""}`)),q(O,C)},R=O=>{var C=ca();j(()=>h(C,`${e(f)??""} ${e(a),v(()=>e(a).common?.hour??"h")??""}`)),q(O,C)},Y=O=>{var C=ca();j(()=>h(C,`${e(i)??""} ${e(a),v(()=>e(a).common?.minutes??"m")??""}`)),q(O,C)},H=O=>{var C=ca();j(()=>h(C,`${e(i)??""} ${e(a),v(()=>e(a).common?.minute??"m")??""}`)),q(O,C)},T=O=>{var C=ca();j(()=>h(C,`${r()??""} ${e(a),v(()=>e(a).common?.seconds??"s")??""}`)),q(O,C)};I(k,O=>{e(s)>1?O(g):e(s)>0?O(A,1):e(f)>1?O(P,2):e(f)>0?O(R,3):e(i)>1?O(Y,4):e(i)>0?O(H,5):O(T,-1)}),j(()=>h(m,`${e(a),v(()=>e(a).header?.uptime??"Up")??""} `)),q(S,o)};I(b,S=>{r()&&S(p)}),q(t,d),yt()}var If=F(" ");function hn(t,n){let r=de(n,"color",8),a=de(n,"title",8),s=de(n,"text",8);var f=If(),i=c(f,!0);u(f),j(()=>{Q(f,"title",a()),Vr(f,1,`bd-${r()??""}`),h(i,s())}),q(t,f)}var Wf=F(" ");function mu(t,n){xt(n,!1);let r=W({});Gr.subscribe(o=>{E(r,o)});let a=de(n,"timestamp",8),s=de(n,"fullTimeColor",8),f=de(n,"offset",8),i=W();mr(()=>($(a()),$(f()),Ja),()=>{E(i,Math.abs(new Date().getTime()-a().getTime())<3e5),isNaN(f())||Ja(a(),f()-(24+a().getHours()-a().getUTCHours())%24)}),wr(),Mt();var d=qr(),b=fe(d),p=o=>{var m=ca();j(k=>h(m,k),[()=>($(Wt),$(a()),e(r),v(()=>`${Wt(a().getDate())}. ${e(r).months?e(r).months?.[a().getMonth()]:Wt(a().getMonth()+1)} ${Wt(a().getHours())}:${Wt(a().getMinutes())}`))]),q(o,m)},S=o=>{var m=Wf(),k=c(m,!0);u(m),j(g=>{Vr(m,1,s()),h(k,g)},[()=>($(Wt),$(a()),v(()=>`${Wt(a().getDate())}.${Wt(a().getMonth()+1)}.${a().getFullYear()} ${Wt(a().getHours())}:${Wt(a().getMinutes())}`))]),q(o,m)};I(b,o=>{e(i)?o(p):o(S,-1)}),q(t,d),yt()}var Bf=Zr('');function Uf(t){var n=Bf();q(t,n)}var Hf=Zr('');function zf(t){var n=Hf();q(t,n)}var Yf=Zr('');function Gf(t){var n=Yf();q(t,n)}var Kf=F('
'),Xo=F('
'),Vf=F('
',1),Xf=F('
'),Qf=F(''),Zf=F(" "),Jf=F('
'),ed=F('');function td(t,n){xt(n,!1);let r=de(n,"basepath",8,"/"),a=de(n,"data",24,()=>({})),s=W({});function f(){confirm((e(d).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(s).upgrade.n))&&(hu(e(s).upgrade.n),Sr.update(be=>(be.upgrade.t=e(s).upgrade.n,be.upgrade.p=0,be.upgrading=!0,be)))}let i=W();Sr.subscribe(be=>{E(s,be)});let d=W({});Gr.subscribe(be=>{E(d,be)}),mr(()=>e(s),()=>{E(i,Math.max(0,e(s).upgrade.p))}),wr(),Mt();var b=ed(),p=c(b),S=c(p),o=c(S),m=l(c(o)),k=c(m,!0);u(m),u(o),u(S);var g=l(S,2),A=c(g);Ff(c(A),{get epoch(){return $(a()),v(()=>a().u)}}),u(A);var P=l(A,2),R=be=>{var Le=Kf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`${ct??""}°C`),[()=>($(a()),v(()=>a().t>-50?a().t.toFixed(1):"-"))]),q(be,Le)};I(P,be=>{$(a()),v(()=>a().t>-50)&&be(R)});var Y=l(P,2),H=c(Y);u(Y),u(g);var T=l(g,2),O=c(T);{let be=Ce(()=>(e(s),e(d),$(a()),v(()=>e(s).booting?e(d).header?.booting??"Booting":a().v>2?a().v.toFixed(2)+"V":"ESP"))),Le=Ce(()=>($(Aa),e(s),$(a()),v(()=>Aa(e(s).booting?2:a().em))));hn(O,{title:"ESP",get text(){return e(be)},get color(){return e(Le)}})}var C=l(O,2);{let be=Ce(()=>($(Aa),e(s),$(a()),v(()=>Aa(e(s).booting?9:a().hm))));hn(C,{title:"HAN",text:"HAN",get color(){return e(be)}})}var B=l(C,2);{let be=Ce(()=>($(a()),v(()=>a().r?a().r.toFixed(0)+"dBm":"WiFi"))),Le=Ce(()=>($(Aa),e(s),$(a()),v(()=>Aa(e(s).booting?9:a().wm))));hn(B,{title:"WiFi",get text(){return e(be)},get color(){return e(Le)}})}var J=l(B,2),te=c(J);{let be=Ce(()=>(e(d),v(()=>e(d).header?.services??"Services"))),Le=Ce(()=>(e(d),v(()=>e(d).header?.services??"Services"))),Ve=Ce(()=>($(Aa),e(s),$(a()),v(()=>Aa(e(s).booting?9:a().sa))));hn(te,{get title(){return e(be)},get text(){return e(Le)},get color(){return e(Ve)}})}u(J),u(T);var se=l(T,2),le=be=>{var Le=Xo(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.han??"HAN")+": "+(e(d).errors?.han?.[a().he]??a().he))))),q(be,Le)};I(se,be=>{$(a()),v(()=>a().he<0||a().he>0)&&be(le)});var qe=l(se,2),K=be=>{var Le=Xo(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.mqtt??"MQTT")+": "+(e(d).errors?.mqtt?.[a().me]??a().me))))),q(be,Le)};I(qe,be=>{$(a()),v(()=>a().me<0)&&be(K)});var x=l(qe,2),_=be=>{var Le=Xo(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.price??"PS")+": "+(e(d).errors?.price?.[a().ee]??a().ee))))),q(be,Le)};I(x,be=>{$(a()),v(()=>a().ee>0||a().ee<0)&&be(_)});var w=l(x,2),y=c(w),M=c(y),N=c(M);u(M),u(y);var z=l(y,2),Z=c(z);{let be=Ce(()=>($(a()),v(()=>a().c?new Date(a().c*1e3):new Date(0))));mu(Z,{get timestamp(){return e(be)},get offset(){return e(s),v(()=>e(s).clock_offset)},fullTimeColor:"text-red-500"})}u(z);var ge=l(z,2),We=be=>{var Le=Vf(),Ve=fe(Le),ct=c(Ve);Uf(c(ct),{}),u(ct),u(Ve);var Ge=l(Ve,2),ht=c(Ge);zf(c(ht),{}),u(ht),u(Ge),j(()=>{Q(Ve,"title",(e(d),v(()=>e(d).header?.config??""))),Q(Ge,"title",(e(d),v(()=>e(d).header?.status??"")))}),q(be,Le)};I(ge,be=>{e(s),v(()=>e(s).vndcfg&&e(s).usrcfg)&&be(We)});var Oe=l(ge,2),He=c(Oe);Gf(c(He),{}),u(He),u(Oe);var pt=l(Oe,2),Ze=be=>{var Le=Xf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`Upgrading to ${e(s),v(()=>e(s).upgrade.t)??""}, ${ct??""}%`),[()=>(e(i),v(()=>e(i).toFixed(1)))]),q(be,Le)},Et=be=>{var Le=Jf(),Ve=c(Le),ct=ht=>{var ut=Qf(),mt=c(ut),kr=c(mt);u(mt),u(ut),j(()=>h(kr,`${e(d),v(()=>e(d).header?.new_version??"New version")??""}: ${e(s),v(()=>e(s).upgrade.n)??""}`)),Ue("click",ut,f),q(ht,ut)},Ge=ht=>{var ut=Zf(),mt=c(ut);u(ut),j(()=>h(mt,`${e(d),v(()=>e(d).header?.new_version??"New version")??""}: ${e(s),v(()=>e(s).upgrade.n)??""}`)),q(ht,ut)};I(Ve,ht=>{e(s),$(a()),v(()=>e(s).security==0||a().a)?ht(ct):ht(Ge,-1)}),u(Le),j(()=>Q(Le,"title",(e(d),e(s),v(()=>(e(d).header?.new_version??"New version")+": "+e(s).upgrade.n)))),q(be,Le)};I(pt,be=>{e(s),v(()=>e(s).upgrading)?be(Ze):(e(s),v(()=>e(s).fwconsent===1&&e(s).upgrade.n)&&be(Et,1))}),u(w),u(p),u(b),j((be,Le,Ve)=>{Q(o,"href",r()),h(k,(e(s),v(()=>e(s).version))),h(H,`${e(d),v(()=>e(d).header?.mem??"Free")??""}: ${be??""}kb`),Q(J,"title",(e(d),v(()=>e(d).header?.services??"Services"))),Q(N,"src",Le),Q(Oe,"title",(e(d),v(()=>e(d).header?.doc??""))),Q(He,"href",Ve)},[()=>($(a()),v(()=>a().m?(a().m/1e3).toFixed(1):"-")),()=>($(r()),v(()=>(r()+"/logo.svg").replace("//","/"))),()=>($(Jt),v(()=>Jt("")))]),q(t,b),yt()}var rd=Zr('');function ad(t,n){xt(n,!1);let r=de(n,"pct",8,0),a=de(n,"color",8,"red");function s(p,S,o,m){var k=(m-90)*Math.PI/180;return{x:p+o*Math.cos(k),y:S+o*Math.sin(k)}}function f(p,S,o,m,k){var g=s(p,S,o,k),A=s(p,S,o,m),P=k-m<=180?"0":"1";return["M",g.x,g.y,"A",o,o,0,P,0,A.x,A.y].join(" ")}Mt();var i=rd(),d=c(i),b=l(d);u(i),j((p,S)=>{Q(d,"d",p),Q(b,"d",S),Q(b,"stroke",a())},[()=>v(()=>f(150,150,115,210,510)),()=>($(r()),v(()=>f(150,150,115,210,210+300*r()/100)))]),q(t,i),yt()}var nd=F('
',1),id=F('

');function Ul(t,n){xt(n,!1);let r=de(n,"val",8),a=de(n,"max",8),s=de(n,"unit",8),f=de(n,"label",8),i=de(n,"sub",24,()=>["",""]),d=de(n,"colorFn",8),b=W(),p=W(0);mr(()=>($(r()),$(s()),$(a())),()=>{E(b,Or(r(),s())),E(p,Math.min(r(),a())/a()*100)}),wr(),Mt();var S=id(),o=c(S);{let O=Ce(()=>($(d()),e(p),v(()=>d()(e(p),document.documentElement.classList.contains("dark")))));ad(o,{get pct(){return e(p)},get color(){return e(O)}})}var m=l(o,2),k=c(m),g=c(k,!0);u(k);var A=l(k,4),P=c(A,!0);u(A);var R=l(A,2),Y=c(R,!0);u(R);var H=l(R,2),T=O=>{var C=nd(),B=l(fe(C),2),J=c(B,!0);u(B);var te=l(B,2),se=c(te);u(te),j(()=>{h(J,($(i()),v(()=>i()[0]))),h(se,`${$(i()),v(()=>i()[1])??""}/kWh`)}),q(O,C)};I(H,O=>{i()&&O(T)}),u(m),u(S),j(()=>{h(g,f()),h(P,(e(b),v(()=>e(b)[0]))),h(Y,(e(b),v(()=>e(b)[1])))}),q(t,S),yt()}var od=F('
');function sd(t,n){let r=de(n,"title",8),a=de(n,"x",8),s=de(n,"y",8),f=W(),i=W();var d=od(),b=c(d,!0);u(d),j(()=>{lf(d,`top: ${s()-e(i)-10}px; left: ${a()-e(f)/2}px;`),h(b,r())}),kn(d,"clientHeight",p=>E(i,p)),kn(d,"clientWidth",p=>E(f,p)),q(t,d)}var ld=500;function Hl(t){let n,r,a,s;function f(){r&&(tu(r),r=null)}function i(){if(clearTimeout(s),clearTimeout(a),f(),n=t.dataset.title||t.getAttribute("title"),!!n){var p=t.getBoundingClientRect();r=Po(sd,{target:document.body,props:{title:n,x:p.left+window.scrollX+p.width/2,y:p.top+window.scrollY}})}}function d(){clearTimeout(s),s=setTimeout(i,ld)}function b(){clearTimeout(s),r&&(a=setTimeout(f,500))}return t.addEventListener("click",i),t.addEventListener("mouseenter",d),t.addEventListener("mouseleave",b),{destroy(){clearTimeout(s),clearTimeout(a),f(),t.removeEventListener("click",i),t.removeEventListener("mouseenter",d),t.removeEventListener("mouseleave",b)}}}var vd=F('
'),zl=F(" "),ud=F('
'),cd=F('
'),fd=Zr(' '),dd=Zr(' '),_d=Zr(''),Yl=Zr(' '),Gl=Zr("",1),pd=Zr("",1),hd=Zr('',1),md=F('
');function On(t,n){xt(n,!1);let r=de(n,"config",8),a=W(),s=W(),f=W(),i=W(),d=W(),b=W(),p=W(),S=30,o=W(0);function m(T,O){let C;function B(J){cancelAnimationFrame(C),T.style.fontSize="",J&&(C=requestAnimationFrame(()=>{try{const te=T.getBBox();if(te.width>0&&te.width>J){const se=parseFloat(getComputedStyle(T).fontSize)||12;T.style.fontSize=se*J/te.width+"px"}}catch{}}))}return B(O),{update:B,destroy(){cancelAnimationFrame(C)}}}function k(T,O,C,B){return B?T>O-C?T-C:Math.min(T+10,O-C):O-T>=C?T+C/2:T-C/2}function g(T,O,C,B){return B?T>O-C:O-T=C?T-C/2:T+C/2}function P(T,O,C,B){return B?T(e(b),e(s),e(o),e(a),$(r()),e(f)),()=>{E(b,e(s)-e(o));let T=e(a)-(r().padding.left+r().padding.right);E(f,T/r().points.length),E(p,e(f)r().y.max?B=r().padding.bottom:Ce(b)||B<0?0:B})}),wr(),Mt();var R=md(),Y=c(R),H=T=>{var O=hd(),C=fe(O),B=qe=>{var K=cd(),x=c(K),_=M=>{var N=vd(),z=c(N,!0);u(N),j(()=>h(z,($(r()),v(()=>r().title)))),kn(N,"clientHeight",Z=>E(o,Z)),q(M,N)};I(x,M=>{$(r()),v(()=>r().title)&&M(_)});var w=l(x,2),y=M=>{var N=ud(),z=c(N),Z=We=>{var Oe=zl(),He=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),v(()=>"#"+r().link.url))),h(He,($(r()),v(()=>r().link.text)))}),q(We,Oe)},ge=We=>{var Oe=zl(),He=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),v(()=>r().link.url))),Q(Oe,"target",($(r()),v(()=>r().link.target))),h(He,($(r()),v(()=>r().link.text)))}),q(We,Oe)};I(z,We=>{$(r()),v(()=>r().link.route)?We(Z):We(ge,-1)}),u(N),q(M,N)};I(w,M=>{$(r()),v(()=>r().link)&&M(y)}),u(K),q(qe,K)};I(C,qe=>{$(r()),v(()=>r().title||r().link)&&qe(B)});var J=l(C),te=c(J);Gt(te,5,()=>($(r()),v(()=>r().y.ticks)),Yt,(qe,K)=>{var x=qr(),_=fe(x),w=M=>{var N=fd(),z=l(c(N)),Z=c(z,!0);u(z),u(N),j(ge=>{Vr(N,0,`tick tick-${e(K),v(()=>e(K).value)??""} tick-${e(K),v(()=>e(K).color)??""}`),Q(N,"transform",`translate(0, ${ge??""})`),Q(z,"x",(e(K),v(()=>e(K).align=="right"?"90%":""))),h(Z,(e(K),v(()=>e(K).label)))},[()=>(e(d),e(K),v(()=>e(d)(e(K).value)))]),q(M,N)},y=er(()=>(e(d),e(K),v(()=>!isNaN(e(d)(e(K).value)))));I(_,M=>{e(y)&&M(w)}),q(qe,x)}),u(te);var se=l(te);Gt(se,5,()=>($(r()),v(()=>r().x.ticks)),Yt,(qe,K,x)=>{var _=qr(),w=fe(_),y=N=>{var z=_d(),Z=c(z),ge=We=>{var Oe=dd(),He=c(Oe,!0);u(Oe),li(Oe,(pt,Ze)=>m?.(pt,Ze),()=>e(f)*.85),j(()=>{Q(Oe,"x",e(f)/2),h(He,(e(K),v(()=>e(K).label)))}),q(We,Oe)};I(Z,We=>{e(f),$(r()),v(()=>e(f)>20||x%2==0||!r().x.ticks[x-1].label)&&We(ge)}),u(z),j(We=>Q(z,"transform",`translate(${We??""},${e(b)??""})`),[()=>(e(i),v(()=>e(i)(x)))]),q(N,z)},M=er(()=>(e(i),v(()=>!isNaN(e(i)(x)))));I(w,N=>{e(M)&&N(y)}),q(qe,_)}),u(se);var le=l(se);Gt(le,5,()=>($(r()),v(()=>r().points)),Yt,(qe,K,x)=>{var _=qr(),w=fe(_),y=N=>{var z=pd(),Z=fe(z),ge=c(Z),We=Ze=>{var Et=Gl(),be=fe(Et),Le=l(be),Ve=ct=>{var Ge=Yl(),ht=c(Ge,!0);u(Ge),li(Ge,(ut,mt)=>m?.(ut,mt),()=>!e(K).labelAngle&&e(f)>=S?e(f)*.95:null),j((ut,mt,kr)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"text-anchor",(e(f),e(K),v(()=>e(f)e(K).labelAngle?e(K).labelAngle:e(f)e(K).label)))},[()=>(e(d),e(K),e(p),e(f),$(r()),v(()=>g(e(d)(e(K).value),e(d)(0),e(p),!!e(K).labelAngle||e(f)(e(i),e(f),v(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(K),e(p),e(f),v(()=>k(e(d)(e(K).value),e(d)(0),e(p),!!e(K).labelAngle||e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(K),v(()=>e(K).color)))},[()=>(e(i),v(()=>e(i)(x)+2)),()=>(e(d),e(K),v(()=>e(d)(e(K).value))),()=>(e(d),$(r()),e(K),v(()=>e(d)(r().y.min)-e(d)(Math.min(r().y.min,0)+e(K).value)))]),q(Ze,Et)};I(ge,Ze=>{e(K),v(()=>e(K).value!==void 0)&&Ze(We)}),u(Z),li(Z,Ze=>Hl?.(Ze));var Oe=l(Z),He=c(Oe),pt=Ze=>{var Et=Gl(),be=fe(Et),Le=l(be),Ve=ct=>{var Ge=Yl();Q(Ge,"text-anchor","middle");var ht=c(Ge,!0);u(Ge),li(Ge,(ut,mt)=>m?.(ut,mt),()=>e(f)>=S?e(f)*.95:null),j((ut,mt,kr)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"fill",ut),Q(Ge,"transform",`translate(${mt??""} ${kr??""}) rotate(${e(f)e(K).label2)))},[()=>(e(d),e(K),e(p),e(f),$(r()),v(()=>P(e(d)(-e(K).value2),e(d)(0),e(p),e(f)(e(i),e(f),v(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(K),e(p),e(f),v(()=>A(e(d)(-e(K).value2),e(d)(0),e(p),e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(K),v(()=>e(K).color2?e(K).color2:e(K).color)))},[()=>(e(i),v(()=>e(i)(x)+2)),()=>(e(d),v(()=>e(d)(0))),()=>(e(d),$(r()),e(K),v(()=>e(d)(r().y.min)-e(d)(r().y.min+e(K).value2)))]),q(Ze,Et)};I(He,Ze=>{e(K),v(()=>e(K).value2>1e-4)&&Ze(pt)}),u(Oe),li(Oe,Ze=>Hl?.(Ze)),j(()=>{Q(Z,"data-title",(e(K),v(()=>e(K).title))),Q(Oe,"data-title",(e(K),v(()=>e(K).title2)))}),q(N,z)},M=er(()=>(e(i),e(d),e(K),v(()=>!isNaN(e(i)(x))&&!isNaN(e(d)(e(K).value)))));I(w,N=>{e(M)&&N(y)}),q(qe,_)}),u(le),u(J),j(()=>Q(J,"viewBox",`0 0 ${e(a)??""} ${e(b)??""}`)),q(T,O)};I(Y,T=>{$(r()),e(b),v(()=>r().x.ticks&&r().points&&e(b))&&T(H)}),u(R),kn(R,"clientWidth",T=>E(a,T)),kn(R,"clientHeight",T=>E(s,T)),q(t,R),yt()}function gd(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"u1",8),s=de(n,"u2",8),f=de(n,"u3",8),i=de(n,"ds",8),d=W({});function b(p){return{label:It(p)+"V",title:p.toFixed(1)+" V",value:isNaN(p)?0:p,color:Af(p||0,document.documentElement.classList.contains("dark"))}}mr(()=>($(a()),$(i()),$(s()),$(f()),$(r())),()=>{let p=[],S=[];a()>0&&(p.push({label:i()===1?"L1-L2":"L1"}),S.push(b(a()))),s()>0&&(p.push({label:i()===1?"L1-L3":"L2"}),S.push(b(s()))),f()>0&&(p.push({label:i()===1?"L2-L3":"L3"}),S.push(b(f()))),E(d,{title:r(),padding:{top:20,right:15,bottom:20,left:35},y:{min:200,max:260,ticks:[{value:207,label:"-10%"},{value:230,label:"230V"},{value:253,label:"+10%"}]},x:{ticks:p},points:S})}),wr(),Mt(),On(t,{get config(){return e(d)}}),yt()}var bd=F('
');function xd(t,n){xt(n,!1);let r=de(n,"importInstant",8),a=de(n,"exportInstant",8),s=de(n,"importTotal",8),f=de(n,"exportTotal",8),i=de(n,"translations",24,()=>({})),d=W(),b=W(),p=W(),S=W();mr(()=>($(r()),$(a()),$(s()),$(f())),()=>{E(d,Or(r(),"VAr")),E(b,Or(a(),"VAr")),E(p,Or(s()*1e3,"VArh")),E(S,Or(f()*1e3,"VArh"))}),wr(),Mt();var o=bd(),m=c(o),k=c(m,!0);u(m);var g=l(m,2),A=c(g),P=c(A,!0);u(A);var R=l(A,2),Y=c(R);u(R);var H=l(R,2),T=c(H,!0);u(H);var O=l(H,2),C=c(O);u(O),u(g);var B=l(g,2),J=c(B),te=c(J,!0);u(J);var se=l(J,2),le=c(se);u(se);var qe=l(se,2),K=c(qe,!0);u(qe);var x=l(qe,2),_=c(x);u(x),u(B),u(o),j(()=>{h(k,($(i()),v(()=>i().reactive?.title??"Reactive"))),h(P,($(i()),v(()=>i().reactive?.instant_in??"Instant in"))),h(Y,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(T,($(i()),v(()=>i().reactive?.instant_out??"Instant out"))),h(C,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(te,($(i()),v(()=>i().reactive?.total_in??"Total in"))),h(le,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(K,($(i()),v(()=>i().reactive?.total_out??"Total out"))),h(_,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`)}),q(t,o),yt()}var Va=F('
'),yd=F('
',1),wd=F('
',1),kd=F('
',1),$d=F('


');function Sd(t,n){xt(n,!1);let r=de(n,"sysinfo",8),a=de(n,"data",8),s=de(n,"currency",8),f=de(n,"hasExport",8),i=de(n,"translations",24,()=>({})),d=W(),b=W(),p=W(),S=W(),o=W(),m=W(),k=W(),g=W(),A=W(!1),P=W(3);mr(()=>(e(A),$(a()),$(r())),()=>{E(A,a()&&a().h&&(Math.abs(a().h.c)>.01||Math.abs(a().d.c)>.01||Math.abs(a().m.c)>.01||Math.abs(a().h.i)>.01||Math.abs(a().d.i)>.01||Math.abs(a().m.i)>.01)),E(P,e(A)?3:2),E(d,Or(a()?.h?.u*1e3,"Wh")),E(b,Or(a()?.d?.u*1e3,"Wh")),E(p,Or(a()?.m?.u*1e3,"Wh")),E(S,Or(r()?.last_month?.u*1e3,"Wh")),E(o,Or(a()?.h?.p*1e3,"Wh")),E(m,Or(a()?.d?.p*1e3,"Wh")),E(k,Or(a()?.m?.p*1e3,"Wh")),E(g,Or(r()?.last_month?.p*1e3,"Wh"))}),wr(),Mt();var R=$d(),Y=c(R),H=c(Y,!0);u(Y);var T=l(Y,5),O=C=>{var B=qr(),J=fe(B),te=le=>{var qe=yd(),K=fe(qe),x=c(K,!0);u(K);var _=l(K,2),w=c(_),y=c(w,!0);u(w);var M=l(w,2),N=c(M);u(M);var z=l(M,2),Z=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().h.c,2)))]),q(ae,pe)};I(z,ae=>{e(A)&&ae(Z)});var ge=l(z,2),We=c(ge,!0);u(ge);var Oe=l(ge,2),He=c(Oe);u(Oe);var pt=l(Oe,2),Ze=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().d.c,1)))]),q(ae,pe)};I(pt,ae=>{e(A)&&ae(Ze)});var Et=l(pt,2),be=c(Et,!0);u(Et);var Le=l(Et,2),Ve=c(Le);u(Le);var ct=l(Le,2),Ge=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().m.c)))]),q(ae,pe)};I(ct,ae=>{e(A)&&ae(Ge)});var ht=l(ct,2),ut=c(ht,!0);u(ht);var mt=l(ht,2),kr=c(mt);u(mt);var Ir=l(mt,2),Tr=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(r()),v(()=>It(r().last_month?.c)))]),q(ae,pe)};I(Ir,ae=>{e(A)&&ae(Tr)}),u(_);var ke=l(_,2),je=c(ke,!0);u(ke);var ze=l(ke,2),tt=c(ze),Bt=c(tt,!0);u(tt);var ft=l(tt,2),Ft=c(ft);u(ft);var Kt=l(ft,2),Nr=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().h.i,2)))]),q(ae,pe)};I(Kt,ae=>{e(A)&&ae(Nr)});var gr=l(Kt,2),_e=c(gr,!0);u(gr);var U=l(gr,2),X=c(U);u(U);var xe=l(U,2),ue=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().d.i,1)))]),q(ae,pe)};I(xe,ae=>{e(A)&&ae(ue)});var $e=l(xe,2),D=c($e,!0);u($e);var V=l($e,2),ne=c(V);u(V);var Ee=l(V,2),ce=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(a()),v(()=>It(a().m.i)))]),q(ae,pe)};I(Ee,ae=>{e(A)&&ae(ce)});var ye=l(Ee,2),we=c(ye,!0);u(ye);var Pe=l(ye,2),Te=c(Pe);u(Pe);var Ne=l(Pe,2),Ie=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${s()??""}`),[()=>($(It),$(r()),v(()=>It(r().last_month?.i)))]),q(ae,pe)};I(Ne,ae=>{e(A)&&ae(Ie)}),u(ze),j((ae,pe,me,he,oe,Ae)=>{h(x,($(i()),v(()=>i().common?.import??"Import"))),Vr(_,1,`grid grid-cols-${e(P)??""} mb-3`),h(y,ae),h(N,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(We,pe),h(He,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(be,me),h(Ve,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(ut,($(i()),v(()=>i().realtime?.last_mo??"Last mo."))),h(kr,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`),h(je,($(i()),v(()=>i().common?.export??"Export"))),Vr(ze,1,`grid grid-cols-${e(P)??""}`),h(Bt,he),h(Ft,`${e(o),v(()=>e(o)[0])??""} ${e(o),v(()=>e(o)[1])??""}`),h(_e,oe),h(X,`${e(m),v(()=>e(m)[0])??""} ${e(m),v(()=>e(m)[1])??""}`),h(D,Ae),h(ne,`${e(k),v(()=>e(k)[0])??""} ${e(k),v(()=>e(k)[1])??""}`),h(we,($(i()),v(()=>i().realtime?.last_mo??"Last mo."))),h(Te,`${e(g),v(()=>e(g)[0])??""} ${e(g),v(()=>e(g)[1])??""}`)},[()=>($(fr),$(i()),v(()=>fr(i().common?.hour??"Hour"))),()=>($(fr),$(i()),v(()=>fr(i().common?.day??"Day"))),()=>($(fr),$(i()),v(()=>fr(i().common?.month??"Month"))),()=>($(fr),$(i()),v(()=>fr(i().common?.hour??"Hour"))),()=>($(fr),$(i()),v(()=>fr(i().common?.day??"Day"))),()=>($(fr),$(i()),v(()=>fr(i().common?.month??"Month")))]),q(le,qe)},se=le=>{var qe=kd(),K=fe(qe),x=c(K,!0);u(K);var _=l(K,2),w=c(_),y=c(w,!0);u(w);var M=l(w,2),N=c(M);u(M);var z=l(M,2),Z=c(z,!0);u(z);var ge=l(z,2),We=c(ge);u(ge);var Oe=l(ge,2),He=c(Oe,!0);u(Oe);var pt=l(Oe,2),Ze=c(pt);u(pt);var Et=l(pt,2),be=c(Et,!0);u(Et);var Le=l(Et,2),Ve=c(Le);u(Le),u(_);var ct=l(_,2),Ge=ht=>{var ut=wd(),mt=fe(ut),kr=c(mt,!0);u(mt);var Ir=l(mt,2),Tr=c(Ir),ke=c(Tr,!0);u(Tr);var je=l(Tr,2),ze=c(je);u(je);var tt=l(je,2),Bt=c(tt,!0);u(tt);var ft=l(tt,2),Ft=c(ft);u(ft);var Kt=l(ft,2),Nr=c(Kt,!0);u(Kt);var gr=l(Kt,2),_e=c(gr);u(gr);var U=l(gr,2),X=c(U,!0);u(U);var xe=l(U,2),ue=c(xe);u(xe),u(Ir),j(($e,D,V,ne,Ee,ce,ye)=>{h(kr,($(i()),v(()=>i().realtime?.cost??"Cost"))),h(ke,$e),h(ze,`${D??""} ${s()??""}`),h(Bt,V),h(Ft,`${ne??""} ${s()??""}`),h(Nr,Ee),h(_e,`${ce??""} ${s()??""}`),h(X,($(i()),v(()=>i().realtime?.last_month??"Last month"))),h(ue,`${ye??""} ${s()??""}`)},[()=>($(fr),$(i()),v(()=>fr(i().common?.hour??"Hour"))),()=>($(It),$(a()),v(()=>It(a().h.c,2))),()=>($(fr),$(i()),v(()=>fr(i().common?.day??"Day"))),()=>($(It),$(a()),v(()=>It(a().d.c,1))),()=>($(fr),$(i()),v(()=>fr(i().common?.month??"Month"))),()=>($(It),$(a()),v(()=>It(a().m.c))),()=>($(It),$(r()),v(()=>It(r().last_month?.c)))]),q(ht,ut)};I(ct,ht=>{e(A)&&ht(Ge)}),j((ht,ut,mt)=>{h(x,($(i()),v(()=>i().realtime?.consumption??"Consumption"))),h(y,ht),h(N,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(Z,ut),h(We,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(He,mt),h(Ze,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(be,($(i()),v(()=>i().realtime?.last_month??"Last month"))),h(Ve,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`)},[()=>($(fr),$(i()),v(()=>fr(i().common?.hour??"Hour"))),()=>($(fr),$(i()),v(()=>fr(i().common?.day??"Day"))),()=>($(fr),$(i()),v(()=>fr(i().common?.month??"Month")))]),q(le,qe)};I(J,le=>{f()?le(te):le(se,-1)}),q(C,B)};I(T,C=>{a()&&C(O)}),u(R),j(()=>h(H,($(i()),v(()=>i().realtime?.title??"Real time calculations")))),q(t,R),yt()}function Qo(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"json",8),s=de(n,"sysinfo",8),f=W({}),i=W(),d=W(),b=document.documentElement.classList.contains("dark"),p=W(new Date);Oo(()=>{let k;function g(){E(p,new Date),k=setTimeout(()=>{g()},(15-e(p).getMinutes()%15)*6e4)}return g(),()=>{clearTimeout(k)}}),mr(()=>($(a()),e(p),e(d),e(i),$(s()),$(r()),Rl),()=>{if(a()?.prices?.length>0){E(p,new Date);let k=a()?.currency,g=0,A=[],P=[],R=[];E(d,E(i,0)),Ja(e(p),s().clock_offset-(24+e(p).getHours()-e(p).getUTCHours())%24);let Y=a()?.cursor?a().cursor:0;for(e(p).setMinutes(Math.floor(e(p).getMinutes()/a()?.resolution)*a()?.resolution,0,0);Y0&&a()?.resolution<60&&e(p).getMinutes()!=0?"":Wt(e(p).getHours())}),R.push(g*100),E(d,Math.min(e(d),g*100)),E(i,Math.max(e(i),g*100)),Pf(e(p),a()?.resolution),Y++;let H=hi(Math.max(Math.abs(e(d))/100,Math.abs(e(i))/100),k);if(H&&H[1]&&H[1]!=k)for(k=H[1],E(d,e(d)*100),E(i,e(i)*100),Y=0;Y=0?J.toFixed(te):"",title:J>=0?J.toFixed(2)+" "+k:"",value:g>=0?Math.abs(g):0,label2:J<0?J.toFixed(te):"",title2:J<0?J.toFixed(2)+" "+k:"",value2:g<0?Math.abs(g):0,color:b?"#5c2da5":"#7c3aed"})}let O=Math.max(e(i),Math.abs(e(d)));if(e(d)<0){E(d,Math.min(O/4*-1,e(d)));let J=Math.ceil(Math.abs(e(d))/O*4),te=e(d)/J;for(Y=1;Y{On(k,{get config(){return e(f)}})};I(o,k=>{e(f),v(()=>e(f).points&&e(f).points.length>0)&&k(m)}),q(t,S),yt()}function qd(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"json",8),s=de(n,"sysinfo",8),f=W({}),i=W(),d=W(),b=document.documentElement.classList.contains("dark");mr(()=>(e(d),e(i),$(s()),$(a()),$(r())),()=>{let p=0,S=[],o=[],m=[];E(d,E(i,0));let k=new Date,g=new Date;g.setDate(0),g.setHours(12);let A=(g.getHours()-g.getUTCHours())%24-s().clock_offset,P=k.getUTCHours();for(Ja(k,-A-24),p=P;p<24;p++){let T=a()["i"+Wt(p)],O=a()["e"+Wt(p)];T===void 0&&(T=0),O===void 0&&(O=0),o.push({label:Wt(k.getHours())}),m.push({label:T.toFixed(1),title:T.toFixed(2)+" kWh",value:T*10,label2:O.toFixed(1),title2:O.toFixed(2)+" kWh",value2:O*10,color:b?"#5c2da5":"#7c3aed",color2:b?"#27728e":"#37829e"}),E(d,Math.max(e(d),O*10)),E(i,Math.max(e(i),T*10)),Ja(k,1)}for(p=0;p(e(d),e(i),$(s()),$(a()),$(r())),()=>{let p=0,S=[],o=[],m=[];E(d,E(i,0));let k=new Date,g=new Date;g.setDate(0),g.setHours(12);let A=(g.getHours()-g.getUTCHours())%24-s().clock_offset;for(Ja(k,-A),Ja(g,-A),p=k.getDate();p<=g.getDate();p++){let H=a()["i"+Wt(p)],T=a()["e"+Wt(p)];H===void 0&&(H=0),T===void 0&&(T=0),o.push({label:Wt(p)}),m.push({label:H.toFixed(H<10?1:0),title:H.toFixed(2)+" kWh",value:H,label2:T.toFixed(T<10?1:0),title2:T.toFixed(2)+" kWh",value2:T,color:b?"#5c2da5":"#7c3aed",color2:b?"#27728e":"#37829e"}),E(d,Math.max(e(d),T)),E(i,Math.max(e(i),H))}for(p=1;p($(a()),e(d),e(i),$(r())),()=>{let b=0,p=0,S=[],o=[],m=[];a().s&&a().s.forEach((A,P)=>{var R=A.n?A.n:A.a;p=A.v,p==-127&&(p=0),o.push({label:R.slice(-4)}),m.push({label:p.toFixed(1),value:p,color:s?"#5c2da5":"#7c3aed"}),E(d,Math.min(e(d),p)),E(i,Math.max(e(i),p))}),E(i,Math.ceil(e(i))),E(d,Math.floor(e(d)));let k=e(i);e(d)<0&&(k+=Math.abs(e(d)));let g=k/4;for(b=0;b<5;b++)p=e(d)+g*b,S.push({value:p,label:p.toFixed(1)});E(f,{title:r()+" (°C)",dark:document.documentElement.classList.contains("dark"),height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:e(d),max:e(i),ticks:S},x:{ticks:o},points:m})}),wr(),Mt(),On(t,{get config(){return e(f)}}),yt()}function Td(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"translations",24,()=>({})),s=document.documentElement.classList.contains("dark"),f=W({}),i=W(0),d=0,b=de(n,"tariffData",8),p=de(n,"realtime",8);mr(()=>($(b()),$(p()),$(a()),e(i),$(r())),()=>{let S=0,o=[],m=[],k=[];if(o.push({value:0,label:0}),b()&&!isNaN(p()?.h?.u)&&(k.push({label:p().h.u.toFixed(2),value:p().h.u,title:(a().common?.now??"Now")+": "+p().h.u.toFixed(2)+" kWh",color:eo(p().h.u/b().c*100)}),m.push({label:a().common?.now??"Now"})),b()&&b().p){const g=[...b().p].sort((A,P)=>A.d-P.d);for(S=0;S0&&(R=Wt(A.d)+".",P=Wt(A.d)+"."+(a().months?a().months?.[new Date().getMonth()]:Wt(new Date().getMonth()+1)),g.length<4&&(R=P)),isNaN(A.h)||(P=P+" "+Wt(A.h)+":00"),P=P+": "+A.v.toFixed(2)+" kWh",k.push({label:A.v.toFixed(2),value:A.v,title:P,color:s?"#5c2da5":"#7c3aed"}),m.push({label:R}),E(i,Math.max(e(i),A.v))}}if(b()&&b().t){for(S=0;S=e(i))break;o.push({value:g,label:g})}o.push({label:b().m.toFixed(1),align:"right",color:"green",value:b().m})}b()&&b().c&&(o.push({label:b().c.toFixed(0),color:"orange",value:b().c}),E(i,Math.max(e(i),b().c))),E(i,Math.ceil(e(i))),E(f,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:30,bottom:20,left:20},y:{min:d,max:e(i),ticks:o},x:{ticks:m},points:k})}),wr(),Mt(),On(t,{get config(){return e(f)}}),yt()}var vn=0,Ad={data:[]};async function Zs(){let t=await(await oa(vn<0?"realtime.json":"realtime.json?offset="+vn)).json();Js.update(n=>{for(let r=0;r=0&&(vn+=t.size,vnGn||$s-Gn>300?(Zs(),Zo=0):Js.update(t=>{if(t.lastUpdate)for(;Gn>t.lastUpdate;)t.data.unshift(gu),t.data=t.data.slice(0,t.size),t.lastUpdate+=10,Zo++;else t.lastUpdate=Gn;return t})}function Cd(t){if(gu=t.i-t.e,Gn=t.u,!Kl){Zs(),Kl=!0,$s=Gn;return}Pd()&&Od()}var Nd=Zr(' '),Ld=Zr(' '),Dd=Zr(''),Rd=F(' ',1),jd=F(' '),Fd=F('
');function Id(t,n){xt(n,!1);let r=de(n,"title",8),a=document.documentElement.classList.contains("dark"),s=W(null);Js.subscribe(B=>{E(s,B)});let f=W(!1),i=W(),d=W(),b=W(),p=W(),S=W(),o=W(),m=W(),k=function(B,J,te){return Math.ceil(e(S)-(B-J)/(te-J)*e(S))-25},g=function(B){return 30+Math.ceil(B/e(s).size*(e(o)-35))},A=W(),P=W(),R=W(),Y=W();mr(()=>(e(S),e(p),e(o),e(b),e(R),e(s),e(d),e(i),e(A),e(P),e(m)),()=>{if(E(S,parseInt(e(p))-50),E(o,e(b)-35),E(R,e(o)/e(s).size),E(d,0),E(i,0),e(s).data&&e(S)>10&&e(o)>100&&e(R)>.1){E(f,!0);for(let te in e(s).data){let se=e(s).data[te];isNaN(se)&&(se=0),E(i,Math.max(Math.ceil(se/1e3)*1e3,e(i))),E(d,Math.min(Math.floor(se/1e3)*1e3,e(d)))}let B=e(i)-e(d);E(Y,e(i)>2500?"kW":"W"),E(A,[]);for(let te=e(d);te2500?(te/1e3).toFixed(1):te}),!(e(A).length>6));te+=B/5);E(P,[]);for(let te=0;te12));te+=Math.round(e(s).size/Math.round(e(o)/120)));let J=e(s).size;E(m,g(e(s).size)+","+k(0,e(d),e(i))+" "+g(1)+","+k(0,e(d),e(i)));for(let te in e(s).data){if(J<0)break;let se=e(s).data[te];isNaN(se)&&(se=0),E(m,g(J--)+","+k(se,e(d),e(i))+" "+e(m))}}else E(f,!1)}),wr(),Mt();var H=Fd(),T=c(H),O=B=>{var J=Rd(),te=fe(J),se=c(te);u(te);var le=l(te,2),qe=K=>{var x=Dd(),_=c(x);Gt(_,5,()=>e(A),Yt,(M,N)=>{var z=qr(),Z=fe(z),ge=Oe=>{var He=Nd(),pt=l(c(He)),Ze=c(pt,!0);u(pt),u(He),j(Et=>{Vr(He,0,`tick tick-${e(N),v(()=>e(N).value)??""}`),Q(He,"transform",`translate(0, ${Et??""})`),h(Ze,(e(N),v(()=>e(N).label)))},[()=>(e(N),e(d),e(i),v(()=>k(e(N).value,e(d),e(i))))]),q(Oe,He)},We=er(()=>(e(N),e(d),e(i),v(()=>!isNaN(k(e(N).value,e(d),e(i))))));I(Z,Oe=>{e(We)&&Oe(ge)}),q(M,z)}),u(_);var w=l(_);Gt(w,5,()=>e(P),Yt,(M,N)=>{var z=qr(),Z=fe(z),ge=Oe=>{var He=Ld(),pt=c(He),Ze=c(pt,!0);u(pt),u(He),j(Et=>{Q(He,"transform",`translate(${Et??""},${e(S)??""})`),Q(pt,"x",e(R)/2),h(Ze,(e(N),v(()=>e(N).label)))},[()=>(e(N),v(()=>g(e(N).value)))]),q(Oe,He)},We=er(()=>(e(N),v(()=>!isNaN(g(e(N).value)))));I(Z,Oe=>{e(We)&&Oe(ge)}),q(M,z)}),u(w);var y=l(w);u(x),j(()=>{Q(x,"viewBox",`0 0 ${e(o)??""} ${e(S)??""}`),Q(y,"fill",a?"#5c2da5":"#7c3aed"),Q(y,"stroke",a?"#5c2da5":"#7c3aed"),Q(y,"points",e(m))}),q(K,x)};I(le,K=>{e(A)&&K(qe)}),j(()=>h(se,`${r()??""} (${e(Y)??""})`)),q(B,J)},C=B=>{var J=jd(),te=c(J);u(J),j(()=>h(te,`${r()??""} not available`)),q(B,J)};I(T,B=>{e(f)?B(O):B(C,-1)}),u(H),kn(H,"clientWidth",B=>E(b,B)),kn(H,"clientHeight",B=>E(p,B)),q(t,H),yt()}function Jo(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"unit",8,""),s=de(n,"l1",8,!1),f=de(n,"l2",8,!1),i=de(n,"l2x",8,!1),d=de(n,"l3",8,!1),b=de(n,"l1i",8,0),p=de(n,"l2i",8,0),S=de(n,"l3i",8,0),o=de(n,"l1e",8,0),m=de(n,"l2e",8,0),k=de(n,"l3e",8,0),g=de(n,"maxImport",8,0),A=de(n,"maxExport",8,0),P=de(n,"importColorFn",8),R=de(n,"exportColorFn",8),Y=W({});function H(T,O){return{label:It(T>900?T/1e3:T)+(T>900?"k":"")+a(),title:T.toFixed(2)+" "+a(),value:isNaN(T)?0:T,color:P()(T?T/g()*100:0,document.documentElement.classList.contains("dark")),label2:It(O>900?O/1e3:O)+(O>900?"k":"")+a(),title2:O.toFixed(2)+" "+a(),value2:isNaN(O)?0:O,color2:R()(O?O/A()*100:0)}}mr(()=>($(s()),$(b()),$(o()),$(f()),$(i()),$(p()),$(m()),$(d()),$(S()),$(k()),$(A()),$(g()),$(r())),()=>{let T=[],O=[];s()&&(T.push({label:"L1"}),O.push(H(b(),o()))),f()&&(i()?(T.push({label:"L2"}),O.push({label:"Not available",labelAngle:-90,title:"L2 current is not reported by your meter",value:0,color:"#7c3aedcc"})):(T.push({label:"L2"}),O.push(H(p(),m())))),d()&&(T.push({label:"L3"}),O.push(H(S(),k())));let C=[];if(A()){let B=A()>g()?4:A()*4/g();C.push({value:-A(),label:"-100%"}),B>=4&&C.push({value:-A()/4*3,label:"-75%"}),B>=2&&C.push({value:-A()/2,label:"-50%"}),B>=4&&C.push({value:-A()/4,label:"-25%"})}if(C.push({value:0,label:"0%"}),g()){let B=g()>A()?4:g()*4/A();C.push({value:g()/4,label:"25%"}),B>=4&&C.push({value:g()/2,label:"50%"}),B>=2&&C.push({value:g()/4*3,label:"75%"}),B>=4&&C.push({value:g(),label:"100%"})}E(Y,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:15,bottom:20,left:35},y:{min:-A(),max:g(),ticks:C},x:{ticks:T},points:O})}),wr(),Mt(),On(t,{get config(){return e(Y)}}),yt()}var Vl=F('
Tariff 1
Tariff 2
',1),Wd=F('
'),Bd=F('
'),Rn=F('
'),Ud=F('
'),on=F('
'),Hd=F('
');function zd(t,n){xt(n,!1);let r=W({}),a=W({}),s=W({}),f=W({}),i=W({}),d=W({}),b=W({}),p=W({}),S=W({});Co.subscribe(U=>E(r,U)),Sr.subscribe(U=>E(a,U)),vu.subscribe(U=>E(s,U)),uu.subscribe(U=>E(f,U)),Vs.subscribe(U=>E(i,U)),Xs.subscribe(U=>E(d,U)),fu.subscribe(U=>E(b,U)),Gr.subscribe(U=>E(p,U)),_u.subscribe(U=>E(S,U));let o=W(),m=W(),k=W(),g=W(),A=W(),P=W(),R=W(),Y=W(),H=W(),T=W();mr(()=>(e(r),e(Y),e(H),e(T)),()=>{E(o,Or(e(r)?.ic*1e3,"Wh")),E(m,Or(e(r)?.ec*1e3,"Wh")),E(k,Or(e(r)?.ict1*1e3,"Wh")),E(g,Or(e(r)?.ict2*1e3,"Wh")),E(A,Or(e(r)?.ect1*1e3,"Wh")),E(P,Or(e(r)?.ect2*1e3,"Wh")),e(r)?.l1?.u==0&&e(r)?.l2?.u==0&&e(r)?.l3?.u==0?E(Y,E(H,E(T,E(R,!0)))):(E(Y,e(r)?.l1?.u>0||e(r)?.l1?.i>0||e(r)?.l1?.p>0||e(r)?.l1?.q>0),E(H,e(r)?.l2?.u>0||e(r)?.l2?.i>0||e(r)?.l2?.p>0||e(r)?.l2?.q>0),E(T,e(r)?.l3?.u>0||e(r)?.l3?.i>0||e(r)?.l3?.p>0||e(r)?.l3?.q>0),E(R,e(Y)&&e(H)&&e(T)))}),wr(),Mt();var O=Hd(),C=c(O),B=U=>{var X=Wd(),xe=c(X),ue=c(xe),$e=c(ue);{let we=Ce(()=>(e(r),v(()=>e(r).i?e(r).i:0))),Pe=Ce(()=>(e(r),v(()=>e(r).im?e(r).im:15e3))),Te=Ce(()=>(e(p),v(()=>e(p).common?.import??"Import"))),Ne=Ce(()=>($(hi),e(r),v(()=>hi(e(r).p,e(r).pc))));Ul($e,{get val(){return e(we)},get max(){return e(Pe)},unit:"W",get label(){return e(Te)},get sub(){return e(Ne)},get colorFn(){return eo}})}u(ue);var D=l(ue,2),V=c(D,!0);u(D);var ne=l(D,2),Ee=c(ne);u(ne);var ce=l(ne,2),ye=we=>{var Pe=Vl(),Te=l(fe(Pe),2),Ne=c(Te);u(Te);var Ie=l(Te,4),ae=c(Ie);u(Ie),j(()=>{h(Ne,`${e(k),v(()=>e(k)[0])??""} ${e(k),v(()=>e(k)[1])??""}`),h(ae,`${e(g),v(()=>e(g)[0])??""} ${e(g),v(()=>e(g)[1])??""}`)}),q(we,Pe)};I(ce,we=>{e(r),v(()=>e(r)?.ict1>0||e(r)?.ict2>0)&&we(ye)}),u(xe),u(X),j(we=>{h(V,we),h(Ee,`${e(o),v(()=>e(o)[0])??""} ${e(o),v(()=>e(o)[1])??""}`)},[()=>(e(r),$(bo),v(()=>e(r).mt?bo(e(r).mt):"-"))]),q(U,X)},J=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.i,e(r).i))));I(C,U=>{e(J)&&U(B)});var te=l(C,2),se=U=>{var X=Bd(),xe=c(X),ue=c(xe),$e=c(ue);{let ce=Ce(()=>(e(r),v(()=>e(r).e?e(r).e:0))),ye=Ce(()=>(e(r),v(()=>e(r).om?e(r).om*1e3:1e4))),we=Ce(()=>(e(p),v(()=>e(p).common?.export??"Export"))),Pe=Ce(()=>($(hi),e(r),v(()=>hi(e(r).px,e(r).pc))));Ul($e,{get val(){return e(ce)},get max(){return e(ye)},unit:"W",get label(){return e(we)},get sub(){return e(Pe)},get colorFn(){return vi}})}u(ue);var D=l(ue,4),V=c(D);u(D);var ne=l(D,2),Ee=ce=>{var ye=Vl(),we=l(fe(ye),2),Pe=c(we);u(we);var Te=l(we,4),Ne=c(Te);u(Te),j(()=>{h(Pe,`${e(A),v(()=>e(A)[0])??""} ${e(A),v(()=>e(A)[1])??""}`),h(Ne,`${e(P),v(()=>e(P)[0])??""} ${e(P),v(()=>e(P)[1])??""}`)}),q(ce,ye)};I(ne,ce=>{e(r),v(()=>e(r)?.ect1>0||e(r)?.ect2>0)&&ce(Ee)}),u(xe),u(X),j(()=>h(V,`${e(m),v(()=>e(m)[0])??""} ${e(m),v(()=>e(m)[1])??""}`)),q(U,X)},le=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.e,e(r).om||e(r).e>0))));I(te,U=>{e(le)&&U(se)});var qe=l(te,2),K=U=>{var X=Rn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).common?.voltage??"Volt")));gd($e,{get title(){return e(D)},get u1(){return e(r),v(()=>e(r).l1.u)},get u2(){return e(r),v(()=>e(r).l2.u)},get u3(){return e(r),v(()=>e(r).l3.u)},get ds(){return e(r),v(()=>e(r).ds)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},x=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.v,e(r).l1&&(e(r).l1.u>100||e(r).l2.u>100||e(r).l3.u>100)))));I(qe,U=>{e(x)&&U(K)});var _=l(qe,2),w=U=>{var X=Rn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).common?.amperage??"Amp"))),V=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l1.i),0)))),ne=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l2.i),0)))),Ee=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l3.i),0))));Jo($e,{get title(){return e(D)},unit:"A",get importColorFn(){return eo},get exportColorFn(){return vi},get maxImport(){return e(r),v(()=>e(r).mf)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l2x(){return e(r),v(()=>e(r).l2.e)},get l1i(){return e(V)},get l2i(){return e(ne)},get l3i(){return e(Ee)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},y=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.a,e(r).l1&&(e(r).l1.i>.01||e(r).l2.i>.01||e(r).l3.i>.01)))));I(_,U=>{e(y)&&U(w)});var M=l(_,2),N=U=>{var X=Rn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).dashboard?.phase??"Phase"))),V=Ce(()=>(e(r),v(()=>(e(r).mf?e(r).mf:32)*230))),ne=Ce(()=>(e(r),e(R),v(()=>e(r).om?e(R)?e(r).om*1e3/Math.sqrt(3):e(r).om*1e3:0)));Jo($e,{get title(){return e(D)},unit:"W",get importColorFn(){return eo},get exportColorFn(){return vi},get maxImport(){return e(V)},get maxExport(){return e(ne)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),v(()=>e(r).l1.p)},get l2i(){return e(r),v(()=>e(r).l2.p)},get l3i(){return e(r),v(()=>e(r).l3.p)},get l1e(){return e(r),v(()=>e(r).l1.q)},get l2e(){return e(r),v(()=>e(r).l2.q)},get l3e(){return e(r),v(()=>e(r).l3.q)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},z=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.h,e(r).l1&&(e(r).l1.p>.01||e(r).l2.p>.01||e(r).l3.p>.01||e(r).l1.q>.01||e(r).l2.q>.01||e(r).l3.q>.01)))));I(M,U=>{e(z)&&U(N)});var Z=l(M,2),ge=U=>{var X=Rn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).dashboard?.pf??"Pf")));Jo($e,{get title(){return e(D)},get importColorFn(){return vi},get exportColorFn(){return vi},maxImport:1,get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),v(()=>e(r).l1.f)},get l2i(){return e(r),v(()=>e(r).l2.f)},get l3i(){return e(r),v(()=>e(r).l3.f)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},We=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.f,e(r).l1&&(e(r).l1.f>.01||e(r).l2.f>.01||e(r).l3.f>.01)))));I(Z,U=>{e(We)&&U(ge)});var Oe=l(Z,2),He=U=>{var X=Rn();xd(c(X),{get importInstant(){return e(r),v(()=>e(r).ri)},get exportInstant(){return e(r),v(()=>e(r).re)},get importTotal(){return e(r),v(()=>e(r).ric)},get exportTotal(){return e(r),v(()=>e(r).rec)},get translations(){return e(p)}}),u(X),q(U,X)},pt=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.r,e(r).ri>0||e(r).re>0||e(r).ric>0||e(r).rec>0))));I(Oe,U=>{e(pt)&&U(He)});var Ze=l(Oe,2),Et=U=>{var X=Rn(),xe=c(X);{let ue=Ce(()=>(e(r),v(()=>e(r).om>0||e(r).e>0)));Sd(xe,{get sysinfo(){return e(a)},get data(){return e(r),v(()=>e(r).ea)},get currency(){return e(r),v(()=>e(r).pc)},get hasExport(){return e(ue)},get translations(){return e(p)}})}u(X),q(U,X)},be=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.c,e(r).ea))));I(Ze,U=>{e(be)&&U(Et)});var Le=l(Ze,2),Ve=U=>{var X=Ud(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.tariffpeak??"Tariff peaks")));Td(xe,{get title(){return e(ue)},get tariffData(){return e(S)},get realtime(){return e(r),v(()=>e(r).ea)},get translations(){return e(p)}})}u(X),q(U,X)},ct=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.t,e(r).pr&&(e(r).pr.startsWith("NO")||e(r).pr.startsWith("10YNO")||e(r).pr.startsWith("10Y1001A1001A4"))))));I(Le,U=>{e(ct)&&U(Ve)});var Ge=l(Le,2),ht=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.realtime??"Real time")));Id(xe,{get title(){return e(ue)}})}u(X),q(U,X)},ut=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.l,e(r).hm==1))));I(Ge,U=>{e(ut)&&U(ht)});var mt=l(Ge,2),kr=U=>{var X=qr(),xe=fe(X),ue=D=>{var V=on(),ne=c(V);{let Ee=Ce(()=>(e(p),v(()=>e(p).dashboard?.price_import??"Price import")));Qo(ne,{get title(){return e(Ee)},get json(){return e(s)},get sysinfo(){return e(a)}})}u(V),q(D,V)},$e=D=>{var V=on(),ne=c(V);{let Ee=Ce(()=>(e(p),v(()=>e(p).dashboard?.price??"Price")));Qo(ne,{get title(){return e(Ee)},get json(){return e(s)},get sysinfo(){return e(a)}})}u(V),q(D,V)};I(xe,D=>{e(s),e(r),v(()=>e(s)?.importExportPriceDifferent&&(e(r).om||e(r).e>0))?D(ue):D($e,-1)}),q(U,X)},Ir=er(()=>($(jt),e(a),e(r),v(()=>jt(e(a).ui.p,e(r).p&&!Number.isNaN(e(r).p)))));I(mt,U=>{e(Ir)&&U(kr)});var Tr=l(mt,2),ke=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.price_export??"Price export")));Qo(xe,{get title(){return e(ue)},get json(){return e(f)},get sysinfo(){return e(a)}})}u(X),q(U,X)},je=er(()=>(e(s),e(r),$(jt),e(a),v(()=>e(s)?.importExportPriceDifferent&&(e(r).om||e(r).e>0)&&jt(e(a).ui.p,e(r).pe&&!Number.isNaN(e(r).pe)))));I(Tr,U=>{e(je)&&U(ke)});var ze=l(Tr,2),tt=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.day??"24 hours")));qd(xe,{get title(){return e(ue)},get json(){return e(i)},get sysinfo(){return e(a)}})}u(X),q(U,X)},Bt=er(()=>($(jt),e(a),e(i),v(()=>jt(e(a).ui.d,e(i)))));I(ze,U=>{e(Bt)&&U(tt)});var ft=l(ze,2),Ft=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.month??"{0} days")));Md(xe,{get title(){return e(ue)},get json(){return e(d)},get sysinfo(){return e(a)}})}u(X),q(U,X)},Kt=er(()=>($(jt),e(a),e(d),v(()=>jt(e(a).ui.m,e(d)))));I(ft,U=>{e(Kt)&&U(Ft)});var Nr=l(ft,2),gr=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.temperature??"Temperature")));Ed(xe,{get title(){return e(ue)},get json(){return e(b)}})}u(X),q(U,X)},_e=er(()=>($(jt),e(a),e(r),e(b),v(()=>jt(e(a).ui.s,e(r).t&&e(r).t!=-127&&e(b).c>1))));I(Nr,U=>{e(_e)&&U(gr)}),u(O),q(t,O),yt()}var Ss={},mi=Qr(Ss);async function Yd(){Ss=await(await fetch("configuration.json")).json(),mi.set(Ss)}var qs={},bu=Qr(qs);async function Gd(){qs=await(await fetch("priceconfig.json")).json(),bu.set(qs)}var Kd=F(" ",1),Vd=F(""),Xd=F(" ",1);function Ms(t,n){xt(n,!1);let r=de(n,"chip",8),a=W(39);mr(()=>$(r()),()=>{switch(r()){case"esp8266":E(a,16);break;case"esp32s2":E(a,44);break;case"esp32s3":E(a,46);break;case"esp32c3":E(a,21);break}}),wr();var s=Xd(),f=fe(s);f.value=f.__value=-1;var i=l(f,2),d=p=>{var S=Kd(),o=fe(S);o.value=o.__value=3;var m=l(o,2);m.value=m.__value=113,q(p,S)};I(i,p=>{r()=="esp8266"&&p(d)});var b=l(i,2);Gt(b,1,()=>({length:e(a)+1}),Yt,(p,S,o)=>{var m=qr(),k=fe(m),g=A=>{var P=Vd();P.textContent=`GPIO${o}`,P.value=P.__value=o,q(A,P)};I(k,A=>{o>1&&!(r()=="esp8266"&&(o==3||o==113))&&A(g)}),q(p,m)}),q(t,s),yt()}var Qd=F('
'),Zd=F('
');function jr(t,n){let r=de(n,"active",8),a=de(n,"message",8);var s=qr(),f=fe(s),i=d=>{var b=Zd(),p=c(b),S=c(p),o=m=>{var k=Qd(),g=c(k,!0);u(k),j(()=>h(g,a())),q(m,k)};I(S,m=>{a()&&m(o)}),u(p),u(b),q(d,b)};I(f,d=>{r()&&d(i)}),q(t,s)}var Jd=F(""),e_=F(" ",1);function t_(t){let n=["Amsterdam","Athens","Belfast","Berlin","Bratislava","Brussels","Bucharest","Budapest","Copenhagen","Dublin","Helsinki","Lisbon","Ljubljana","London","Luxembourg","Madrid","Malta","Nicosia","Oslo","Paris","Prague","Riga","Rome","Sofia","Stockholm","Tallinn","Vienna","Vilnius","Warsaw","Zagreb","Zurich"];var r=e_(),a=l(fe(r),2);Gt(a,1,()=>n,Yt,(s,f)=>{var i=Jd(),d=c(i);u(i),j(()=>h(d,`Europe/${e(f)??""}`)),q(s,i)}),q(t,r)}var r_=F(' ',1);function xu(t){var n=r_(),r=fe(n),a=c(r);a.value=a.__value="255.255.255.0",u(r);var s=l(r,2),f=c(s);f.value=f.__value="255.255.255.128";var i=l(f,2);i.value=i.__value="255.255.255.192";var d=l(i,2);d.value=d.__value="255.255.255.224";var b=l(d,2);b.value=b.__value="255.255.255.240";var p=l(b,2);p.value=p.__value="255.255.255.248",u(s);var S=l(s,2),o=c(S);o.value=o.__value="255.255.254.0";var m=l(o,2);m.value=m.__value="255.255.252.0";var k=l(m,2);k.value=k.__value="255.255.0.0",u(S),q(t,n)}var a_=F('

');function n_(t,n){xt(n,!1);let r=de(n,"cfg",12),a=de(n,"item",8),s=de(n,"translations",24,()=>({}));Mt();var f=a_(),i=c(f,!0),d=l(i,3),b=c(d),p=c(b,!0);u(b),b.value=b.__value=0;var S=l(b),o=c(S,!0);u(S),S.value=S.__value=1;var m=l(S),k=c(m,!0);u(m),m.value=m.__value=2,u(d),u(f),j(()=>{h(i,($(s()),$(a()),v(()=>s().conf?.ui?.[a().key]??a().name))),Q(d,"name",`u${$(a()),v(()=>a().key)??""}`),h(p,($(s()),v(()=>s().conf?.ui?.disabled??"Disabled"))),h(o,($(s()),v(()=>s().conf?.ui?.enabled??"Enabled"))),h(k,($(s()),v(()=>s().conf?.ui?.auto??"Auto")))}),At(d,()=>r()[a().key],g=>(r(r()[a().key]=g,!0),G(()=>{a(),s()}))),q(t,f),yt()}var i_=Pu(((t,n)=>{(function(r,a){typeof t=="object"&&typeof n<"u"?n.exports=a():typeof define=="function"&&define.amd?define(a):r.QRious=a()})(t,(function(){"use strict";var r=function(){},a=Object.prototype.hasOwnProperty,s=Array.prototype.slice;function f(x,_){var w;return typeof Object.create=="function"?w=Object.create(x):(r.prototype=x,w=new r,r.prototype=null),_&&d(!0,w,_),w}function i(x,_,w,y){var M=this;return typeof x!="string"&&(y=w,w=_,_=x,x=null),typeof _!="function"&&(y=w,w=_,_=function(){return M.apply(this,arguments)}),d(!1,_,M,y),_.prototype=f(M.prototype,w),_.prototype.constructor=_,_.class_=x||M.class_,_.super_=M,_}function d(x,_,w){w=s.call(arguments,2);for(var y,M,N=0,z=w.length;N>1&1,y=0;y0;_--)y[_]=y[_]?y[_-1]^A.EXPONENT[R._modN(A.LOG[y[_]]+x)]:y[_-1];y[0]=A.EXPONENT[R._modN(A.LOG[y[0]]+x)]}for(x=0;x<=w;x++)y[x]=A.LOG[y[x]]},_checkBadness:function(){var x,_,w,y,M,N=0,z=this._badness,Z=this.buffer,ge=this.width;for(M=0;Mge*ge;)He-=ge*ge,Oe++;for(N+=Oe*R.N4,y=0;y=z-2&&(x=z-2,M>9&&x--);var Z=x;if(M>9){for(N[Z+2]=0,N[Z+3]=0;Z--;)_=N[Z],N[Z+3]|=255&_<<4,N[Z+2]=_>>4;N[2]|=255&x<<4,N[1]=x>>4,N[0]=64|x>>12}else{for(N[Z+1]=0,N[Z+2]=0;Z--;)_=N[Z],N[Z+2]|=255&_<<4,N[Z+1]=_>>4;N[1]|=255&x<<4,N[0]=64|x>>4}for(Z=x+3-(M<10);Z=5&&(w+=R.N1+y[_]-5);for(_=3;_x||y[_-3]*3>=y[_]*4||y[_+3]*3>=y[_]*4)&&(w+=R.N3);return w},_finish:function(){this._stringBuffer=this.buffer.slice();var x,_,w=0,y=3e4;for(_=0;_<8&&(this._applyMask(_),x=this._checkBadness(),x>=1)y&1&&(M[N-1-_+N*8]=1,_<6?M[8+N*_]=1:M[8+N*(_+1)]=1);for(_=0;_<7;_++,y>>=1)y&1&&(M[8+N*(N-7+_)]=1,_?M[6-_+N*8]=1:M[7+N*8]=1)},_interleaveBlocks:function(){var x,_,w=this._dataBlock,y=this._ecc,M=this._eccBlock,N=0,z=this._calculateMaxLength(),Z=this._neccBlock1,ge=this._neccBlock2,We=this._stringBuffer;for(x=0;x1)for(x=k.BLOCK[y],w=M-7;;){for(_=M-7;_>x-3&&(this._addAlignment(_,w),!(_6)for(x=P.BLOCK[N-7],_=17,w=0;w<6;w++)for(y=0;y<3;y++,_--)1&(_>11?N>>_-12:x>>_)?(M[5-w+z*(2-y+z-11)]=1,M[2-y+z-11+z*(5-w)]=1):(this._setMask(5-w,2-y+z-11),this._setMask(2-y+z-11,5-w))},_isMasked:function(x,_){var w=R._getMaskBit(x,_);return this._mask[w]===1},_pack:function(){var x,_,w,y=1,M=1,N=this.width,z=N-1,Z=N-1,ge=(this._dataBlock+this._eccBlock)*(this._neccBlock1+this._neccBlock2)+this._neccBlock2;for(_=0;__&&(w=x,x=_,_=w),w=_,w+=_*_,w>>=1,w+=x,w},_modN:function(x){for(;x>=255;)x-=255,x=(x>>8)+(x&255);return x},N1:3,N2:3,N3:40,N4:10}),Y=R,H=o.extend({draw:function(){this.element.src=this.qrious.toDataURL()},reset:function(){this.element.src=""},resize:function(){var x=this.element;x.width=x.height=this.qrious.size}}),T=S.extend(function(x,_,w,y){this.name=x,this.modifiable=!!_,this.defaultValue=w,this._valueTransformer=y},{transform:function(x){var _=this._valueTransformer;return typeof _=="function"?_(x,this):x}}),O=S.extend(null,{abs:function(x){return x!=null?Math.abs(x):null},hasOwn:function(x,_){return Object.prototype.hasOwnProperty.call(x,_)},noop:function(){},toUpperCase:function(x){return x!=null?x.toUpperCase():null}}),C=S.extend(function(x){this.options={},x.forEach(function(_){this.options[_.name]=_},this)},{exists:function(x){return this.options[x]!=null},get:function(x,_){return C._get(this.options[x],_)},getAll:function(x){var _,w=this.options,y={};for(_ in w)O.hasOwn(w,_)&&(y[_]=C._get(w[_],x));return y},init:function(x,_,w){typeof w!="function"&&(w=O.noop);var y,M;for(y in this.options)O.hasOwn(this.options,y)&&(M=this.options[y],C._set(M,M.defaultValue,_),C._createAccessor(M,_,w));this._setAll(x,_,!0)},set:function(x,_,w){return this._set(x,_,w)},setAll:function(x,_){return this._setAll(x,_)},_set:function(x,_,w,y){var M=this.options[x];if(!M)throw new Error("Invalid option: "+x);if(!M.modifiable&&!y)throw new Error("Option cannot be modified: "+x);return C._set(M,_,w)},_setAll:function(x,_,w){if(!x)return!1;var y,M=!1;for(y in x)O.hasOwn(x,y)&&this._set(y,x[y],_,w)&&(M=!0);return M}},{_createAccessor:function(x,_,w){var y={get:function(){return C._get(x,_)}};x.modifiable&&(y.set=function(M){C._set(x,M,_)&&w(M,x)}),Object.defineProperty(_,x.name,y)},_get:function(x,_){return _["_"+x.name]},_set:function(x,_,w){var y="_"+x.name,M=w[y],N=x.transform(_??x.defaultValue);return w[y]=N,N!==M}}),B=C,J=S.extend(function(){this._services={}},{getService:function(x){var _=this._services[x];if(!_)throw new Error("Service is not being managed with name: "+x);return _},setService:function(x,_){if(this._services[x])throw new Error("Service is already managed with name: "+x);_&&(this._services[x]=_)}}),te=new B([new T("background",!0,"white"),new T("backgroundAlpha",!0,1,O.abs),new T("element"),new T("foreground",!0,"black"),new T("foregroundAlpha",!0,1,O.abs),new T("level",!0,"L",O.toUpperCase),new T("mime",!0,"image/png"),new T("padding",!0,null,O.abs),new T("size",!0,100,O.abs),new T("value",!0,"")]),se=new J,le=S.extend(function(x){te.init(x,this,this.update.bind(this));var _=te.get("element",this),w=se.getService("element"),y=_&&w.isCanvas(_)?_:w.createCanvas(),M=_&&w.isImage(_)?_:w.createImage();this._canvasRenderer=new m(this,y,!0),this._imageRenderer=new H(this,M,M===_),this.update()},{get:function(){return te.getAll(this)},set:function(x){te.setAll(x,this)&&this.update()},toDataURL:function(x){return this.canvas.toDataURL(x||this.mime)},update:function(){var x=new Y({level:this.level,value:this.value});this._canvasRenderer.render(x),this._imageRenderer.render(x)}},{use:function(x){se.setService(x.getName(),x)}});Object.defineProperties(le.prototype,{canvas:{get:function(){return this._canvasRenderer.getElement()}},image:{get:function(){return this._imageRenderer.getElement()}}});var qe=le,K=S.extend({getName:function(){}}).extend({createCanvas:function(){},createImage:function(){},getName:function(){return"element"},isCanvas:function(x){},isImage:function(x){}}).extend({createCanvas:function(){return document.createElement("canvas")},createImage:function(){return document.createElement("img")},isCanvas:function(x){return x instanceof HTMLCanvasElement},isImage:function(x){return x instanceof HTMLImageElement}});return qe.use(new K),qe}))})),o_=Cu(i_()),s_=F("");function l_(t,n){xt(n,!1);let r=de(n,"errorCorrection",8,"L"),a=de(n,"background",8,"#fff"),s=de(n,"color",8,"#000"),f=de(n,"size",8,"200"),i=de(n,"value",8,""),d=de(n,"padding",8,0),b=de(n,"className",8,"qrcode"),p=W(""),S=W();function o(){e(S).set({background:a(),foreground:s(),level:r(),padding:d(),size:f(),value:i()}),E(p,e(S).toDataURL("image/jpeg"))}function m(){return e(p)}Oo(()=>{E(S,new o_.default),i()&&o()}),mr(()=>($(i()),e(S)),()=>{i()&&e(S)&&o()}),wr();var k={getImage:m};Mt();var g=s_();return j(()=>{Q(g,"src",e(p)),Q(g,"alt",i()),Vr(g,1,ln(b()))}),q(t,g),hf(n,"getImage",m),yt(k)}var Vi=F("",1),v_=F(" ",1),jn=F(""),u_=F('
',1),c_=F('


👁️
',1),f_=F('







'),d_=F(""),__=F(""),p_=F('
'),h_=F('



',1),m_=F('
'),g_=F('
',1),b_=F('

'),x_=F('
',1),y_=F('




'),w_=F(' ',1),k_=F('




'),$_=F(''),S_=F(''),q_=F(''),M_=F('


👁️


dBm
',1),E_=F('
'),T_=F('


',1),A_=F('


'),P_=F(''),O_=F(' 🗑',1),C_=F(''),N_=F(' 🗑',1),L_=F(''),D_=F(' 🗑',1),R_=F(''),j_=F('
'),F_=F('



👁️




'),I_=F('


'),W_=F('



'),B_=F(''),U_=F(''),H_=F('
',1),z_=F('
'),Y_=F('
'),G_=F('
',1),K_=F('
'),V_=F('
',1),X_=F('
'),Q_=F(''),Z_=F('
'),J_=F('
'),ep=F('

'),tp=F('

'),rp=F('







',1),ap=F('
'),np=F('Power saving: ',1),ip=F('

'),op=F('


',1),sp=F('
'),lp=F('
'),vp=F('
',1),up=F('
'),cp=F('
',1),fp=F('
'),dp=F('
',1);function _p(t,n){xt(n,!1);let r="/",a=W({}),s=W();Sr.subscribe(D=>E(a,D)),Co.subscribe(D=>E(s,D));let f=W(),i=W({});Gr.subscribe(D=>{E(i,D)});let d=[{name:"Import gauge",key:"i"},{name:"Export gauge",key:"e"},{name:"Voltage",key:"v"},{name:"Amperage",key:"a"},{name:"Per phase",key:"h"},{name:"Power factor",key:"f"},{name:"Reactive",key:"r"},{name:"Realtime",key:"c"},{name:"Peaks",key:"t"},{name:"Realtime plot",key:"l"},{name:"Price",key:"p"},{name:"Day plot",key:"d"},{name:"Month plot",key:"m"},{name:"Temperature plot",key:"s"},{name:"Dark mode",key:"k"}],b=W(!0),p=W(!1),S=W(!1),o=W(),m=W([]);mi.subscribe(D=>{D.version&&(E(S,D?.c?.e),E(o,D),E(b,!1),E(m,[{code:"en",name:"English"}]),e(o)?.u?.lang&&e(o).u.lang!="en"&&e(m).push({code:e(o).u.lang,name:e(i).language?.name??"Unknown"}),e(m).push({code:"hub",name:"Load from server"}))}),Yd();let k=W(!0),g=W({});Qs.subscribe(D=>{E(k,!0);for(let V=0;V(ce.hostname=V.get("gh"),ce.usrcfg=Ee.success,ce.booting=Ee.reboot,V.get("nm")=="static"&&(ce.net.ip=V.get("ni"),ce.net.mask=V.get("nu"),ce.net.gw=V.get("ng"),ce.net.dns1=V.get("nd")),ce.ui=e(o).u,ce)),E(p,!1),Za(r)}async function H(){await(await fetch("reboot",{method:"POST"})).json()}const T=function(){confirm("Reboot?")&&(Sr.update(D=>(D.booting=!0,D)),H())};async function O(){confirm("Are you sure you want to delete CA?")&&(await(await fetch("mqtt-ca",{method:"POST"})).text(),mi.update(D=>(D.q.s.c=!1,D)))}async function C(){confirm("Are you sure you want to delete cert?")&&(await(await fetch("mqtt-cert",{method:"POST"})).text(),mi.update(D=>(D.q.s.r=!1,D)))}async function B(){confirm("Are you sure you want to delete key?")&&(await(await fetch("mqtt-key",{method:"POST"})).text(),mi.update(D=>(D.q.s.k=!1,D)))}const J=function(){e(o).q.s.e?e(o).q.p==1883&&(ee(o,e(o).q.p=8883),G(()=>{e(i),e(a),e(g),e(m)})):e(o).q.p==8883&&(ee(o,e(o).q.p=1883),G(()=>{e(i),e(a),e(g),e(m)}))};async function te(){if(e(o).u.lang=="hub"){const D=await oa("http://hub.amsleser.no/hub/language/list.json");E(m,await D.json()),ee(o,e(o).u.lang=e(i).language.code),G(()=>{e(i),e(a),e(g),e(m)})}}async function se(){ee(o,e(o).p.e=!0),G(()=>{e(i),e(a),e(g),e(m)})}let le=W(44);async function qe(){const D=await oa("cloudkey.json");if(D.status==200){let V=await D.json();window.open("https://www.amsleser.cloud/device/"+V.seed)}else alert("Not able to bind to cloud")}const K=window||global;K.bindToCloud=function(){console.log("BIND CALLED")};async function x(){const D=e(f).querySelector('input[name="wp"]');y.call(this,D)}async function _(){const D=e(f).querySelector('input[name="qa"]');y.call(this,D)}async function w(){const D=e(f).querySelector('input[name="gp"]');y.call(this,D)}async function y(D){D.type==="password"?(D.type="text",this.textContent="🙈"):(D.type="password",this.textContent="👁️")}mr(()=>e(a),()=>{E(le,e(a).chip=="esp8266"?16:e(a).chip=="esp32s2"?44:39)}),wr(),Mt();var M=dp(),N=fe(M),z=c(N),Z=c(z),ge=D=>{var V=f_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe),Ne=c(Te,!0),Ie=l(Ne,3);ve(Ie),u(Te);var ae=l(Te,2),pe=c(ae,!0),me=l(pe,3);dn(me,()=>{var qt=c(me),Ar=Vi();t_(fe(Ar),{}),q(qt,Ar)}),u(ae),u(Pe),u(we);var he=l(we,2),oe=l(he,2),Ae=c(oe),re=c(Ae),ie=c(re,!0),Se=l(ie,3),Fe=c(Se),De=c(Fe),gt=qt=>{var Ar=v_(),xr=fe(Ar);xr.value=xr.__value="NO1S";var sa=l(xr,2);sa.value=sa.__value="NO2S";var ra=l(sa,2);ra.value=ra.__value="NO3S";var Ln=l(ra,2);Ln.value=Ln.__value="NO4S";var ni=l(Ln,2);ni.value=ni.__value="NO5S",q(qt,Ar)};I(De,qt=>{e(o),v(()=>!e(o).p.t)&&qt(gt)});var dt=l(De,2);dt.value=dt.__value="10YNO-1--------2";var rt=l(dt,2);rt.value=rt.__value="10YNO-2--------T";var at=l(rt,2);at.value=at.__value="10YNO-3--------J";var Xe=l(at,2);Xe.value=Xe.__value="10YNO-4--------9";var bt=l(Xe,2);bt.value=bt.__value="10Y1001A1001A48H",u(Fe);var wt=l(Fe),Ut=c(wt);Ut.value=Ut.__value="10Y1001A1001A44P";var tr=l(Ut,2);tr.value=tr.__value="10Y1001A1001A45N";var ar=l(tr,2);ar.value=ar.__value="10Y1001A1001A46L";var vt=l(ar,2);vt.value=vt.__value="10Y1001A1001A47J",u(wt);var nr=l(wt),Pt=c(nr);Pt.value=Pt.__value="10YDK-1--------W";var ir=l(Pt,2);ir.value=ir.__value="10YDK-2--------M",u(nr);var lr=l(nr),Lr=c(lr);Lr.value=Lr.__value="10Y1001A1001A73I";var vr=l(Lr,2);vr.value=vr.__value="10Y1001A1001A70O";var Ur=l(vr,2);Ur.value=Ur.__value="10Y1001A1001A71M";var _r=l(Ur,2);_r.value=_r.__value="10Y1001A1001A788";var Be=l(_r,2);Be.value=Be.__value="10Y1001C--00096J";var Je=l(Be,2);Je.value=Je.__value="10Y1001A1001A75E";var Tt=l(Je,2);Tt.value=Tt.__value="10Y1001A1001A74G",u(lr);var Ht=l(lr);Ht.value=Ht.__value="10YAL-KESH-----5";var Nt=l(Ht);Nt.value=Nt.__value="10YAT-APG------L";var Vt=l(Nt);Vt.value=Vt.__value="10YBE----------2";var or=l(Vt);or.value=or.__value="10YCA-BULGARIA-R";var Ot=l(or);Ot.value=Ot.__value="10YHR-HEP------M";var sr=l(Ot);sr.value=sr.__value="10YCZ-CEPS-----N";var nt=l(sr);nt.value=nt.__value="10Y1001A1001A39I";var it=l(nt);it.value=it.__value="10YFI-1--------U";var St=l(it);St.value=St.__value="10YFR-RTE------C";var zt=l(St);zt.value=zt.__value="10Y1001A1001A82H";var Dt=l(zt);Dt.value=Dt.__value="10YGR-HTSO-----Y";var rr=l(Dt);rr.value=rr.__value="10YHU-MAVIR----U";var Ct=l(rr);Ct.value=Ct.__value="10Y1001A1001A59C";var Rt=l(Ct);Rt.value=Rt.__value="10Y1001C--00100H";var Mr=l(Rt);Mr.value=Mr.__value="10YLV-1001A00074";var Xt=l(Mr);Xt.value=Xt.__value="10YLT-1001A0008Q";var ur=l(Xt);ur.value=ur.__value="10YCS-CG-TSO---S";var pr=l(ur);pr.value=pr.__value="10YNL----------L";var Qt=l(pr);Qt.value=Qt.__value="10YMK-MEPSO----8";var Ye=l(Qt);Ye.value=Ye.__value="10YPL-AREA-----S";var Zt=l(Ye);Zt.value=Zt.__value="10YPT-REN------W";var Hr=l(Zt);Hr.value=Hr.__value="10YRO-TEL------P";var Wr=l(Hr);Wr.value=Wr.__value="10YCS-SERBIATSOV";var Jr=l(Wr);Jr.value=Jr.__value="10YSK-SEPS-----K";var qa=l(Jr);qa.value=qa.__value="10YSI-ELES-----O";var ea=l(qa);ea.value=ea.__value="10YES-REE------0";var Ci=l(ea);Ci.value=Ci.__value="10YCH-SWISSGRIDZ",u(Se),u(re);var ot=l(re,2),Ma=c(ot,!0),ta=l(Ma,3);Gt(ta,4,()=>[15,60],Yt,(qt,Ar)=>{var xr=jn(),sa=c(xr);u(xr);var ra={};j(()=>{h(sa,`${Ar??""}M`),ra!==(ra=Ar)&&(xr.value=(xr.__value=Ar)??"")}),q(qt,xr)}),u(ta),u(ot);var Cn=l(ot,2),Ni=c(Cn,!0),ti=l(Ni,3);Gt(ti,4,()=>["NOK","SEK","DKK","EUR","CHF"],Yt,(qt,Ar)=>{var xr=jn(),sa=c(xr,!0);u(xr);var ra={};j(()=>{h(sa,Ar),ra!==(ra=Ar)&&(xr.value=(xr.__value=Ar)??"")}),q(qt,xr)}),u(ti),u(Cn),u(Ae),u(oe);var tn=l(oe,2),Li=c(tn),No=c(Li,!0);u(Li),u(tn);var ri=l(tn,2),Nn=c(ri),rn=c(Nn);ve(rn),rn.value=rn.__value="true";var Lo=l(rn);u(Nn);var Do=l(Nn,2),br=qt=>{var Ar=u_(),xr=fe(Ar);ve(xr),Rr(3),Me(xr,()=>e(o).p.t,sa=>(ee(o,e(o).p.t=sa),G(()=>{e(i),e(a),e(g),e(m)}))),q(qt,Ar)};I(Do,qt=>{e(o),e(a),v(()=>e(o).p.e&&e(a).chip!="esp8266"&&e(o).p.t)&&qt(br)}),u(ri);var cr=l(ri,2),Er=c(cr,!0),Cr=l(Er,3),Dr=c(Cr),Ea=c(Dr,!0);u(Dr),Dr.value=Dr.__value=0;var ai=l(Dr),wu=c(ai,!0);u(ai),ai.value=ai.__value=1;var Di=l(ai),ku=c(Di,!0);u(Di),Di.value=Di.__value=2,u(Cr),u(cr);var el=l(cr,2),$u=qt=>{var Ar=c_(),xr=fe(Ar),sa=c(xr,!0),ra=l(sa,3);ve(ra),u(xr);var Ln=l(xr,2),ni=c(Ln,!0),al=l(ni,3),ji=c(al);ve(ji);var Su=l(ji,2);u(al),u(Ln),j(()=>{h(sa,(e(i),v(()=>e(i).conf?.general?.security?.username??"Username"))),Q(ra,"pattern",ja),h(ni,(e(i),v(()=>e(i).conf?.general?.security?.password??"Password"))),Q(ji,"pattern",ja)}),Me(ra,()=>e(o).g.u,Ro=>(ee(o,e(o).g.u=Ro),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ji,()=>e(o).g.p,Ro=>(ee(o,e(o).g.p=Ro),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("click",Su,w),q(qt,Ar)};I(el,qt=>{e(o),v(()=>e(o).g.s>0)&&qt($u)});var tl=l(el,2),rl=c(tl,!0),Ri=l(rl,3);ve(Ri),u(tl),u(V),j(qt=>{h(Ee,(e(i),v(()=>e(i).conf?.general?.title??"General"))),Q(ce,"href",qt),h(Ne,(e(i),v(()=>e(i).conf?.general?.hostname??"Hostname"))),Q(Ie,"pattern",to),h(pe,(e(i),v(()=>e(i).conf?.general?.timezone??"Time zone"))),h(ie,(e(i),v(()=>e(i).conf?.price?.region??"Price region"))),h(Ma,(e(i),v(()=>e(i).conf?.price?.resolution??"Resolution"))),h(Ni,(e(i),v(()=>e(i).conf?.price?.currency??"Currency"))),h(No,(e(i),v(()=>e(i).conf?.price?.conf??"Configure"))),h(Lo,` ${e(i),v(()=>e(i).conf?.price?.enabled??"Enabled")??""}`),h(Er,(e(i),v(()=>e(i).conf?.general?.security?.title??"Security"))),h(Ea,(e(i),v(()=>e(i).conf?.general?.security?.none??"None"))),h(wu,(e(i),v(()=>e(i).conf?.general?.security?.conf??"Conf"))),h(ku,(e(i),v(()=>e(i).conf?.general?.security?.all??"All"))),h(rl,(e(i),v(()=>e(i).conf?.general?.context??"Context"))),Q(Ri,"pattern",to),Q(Ri,"placeholder",(e(i),v(()=>e(i).conf?.general?.context_placeholder??"/")))},[()=>($(Jt),v(()=>Jt("general")))]),Me(Ie,()=>e(o).g.h,qt=>(ee(o,e(o).g.h=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(me,()=>e(o).g.t,qt=>(ee(o,e(o).g.t=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Se,()=>e(o).p.r,qt=>(ee(o,e(o).p.r=qt),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("change",Se,se),At(ta,()=>e(o).p.m,qt=>(ee(o,e(o).p.m=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(ti,()=>e(o).p.c,qt=>(ee(o,e(o).p.c=qt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(rn,()=>e(o).p.e,qt=>(ee(o,e(o).p.e=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Cr,()=>e(o).g.s,qt=>(ee(o,e(o).g.s=qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Ri,()=>e(o).g.c,qt=>(ee(o,e(o).g.c=qt),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Z,D=>{e(o),v(()=>e(o)?.g)&&D(ge)});var We=l(Z,2),Oe=D=>{var V=k_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=l(we,2),Te=c(Pe,!0),Ne=l(Te,3),Ie=c(Ne),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=0;var pe=l(Ie),me=c(pe,!0);u(pe),pe.value=pe.__value=2;var he=l(pe),oe=Be=>{var Je=d_();Je.value=Je.__value=9,q(Be,Je)},Ae=er(()=>(e(a),v(()=>e(a)?.features?.includes("kmp"))));I(he,Be=>{e(Ae)&&Be(oe)});var re=l(he),ie=Be=>{var Je=__();Je.value=Je.__value=18,q(Be,Je)};I(re,Be=>{e(a),v(()=>e(a)?.chip!="esp8266")&&Be(ie)}),u(Ne),u(Pe);var Se=l(Pe,2),Fe=Be=>{var Je=p_(),Tt=c(Je),Ht=c(Tt,!0);u(Tt);var Nt=l(Tt,2);ve(Nt),Q(Nt,"min",1),Q(Nt,"max",3600),u(Je),j(()=>h(Ht,(e(i),v(()=>e(i).conf?.meter?.pulses??"Pulses per kWh")))),Me(Nt,()=>e(o).m.b,Vt=>(ee(o,e(o).m.b=Vt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)},De=Be=>{var Je=h_(),Tt=fe(Je),Ht=l(Tt,2),Nt=l(Ht,2),Vt=l(Nt,2),or=c(Vt),Ot=c(or,!0),sr=l(Ot,3);ve(sr),u(or);var nt=l(or,2),it=c(nt,!0),St=l(it,3);ve(St),u(nt),u(Vt);var zt=l(Vt,2),Dt=c(zt,!0),rr=l(Dt,3);ve(rr),u(zt);var Ct=l(zt,2),Rt=c(Ct);ve(Rt),Rt.value=Rt.__value="true";var Mr=l(Rt);u(Ct),j(()=>{h(Ot,(e(i),v(()=>e(i).conf?.meter?.c1218?.userid??"User ID"))),h(it,(e(i),v(()=>e(i).conf?.meter?.c1218?.username??"Username"))),h(Dt,(e(i),v(()=>e(i).conf?.meter?.c1218?.password??"Password"))),h(Mr,` ${e(i),v(()=>e(i).conf?.meter?.c1218?.extended??"Read extended table 28")??""}`)}),Me(sr,()=>e(o).m.c.u,Xt=>(ee(o,e(o).m.c.u=Xt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(St,()=>e(o).m.c.n,Xt=>(ee(o,e(o).m.c.n=Xt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(rr,()=>e(o).m.c.p,Xt=>(ee(o,e(o).m.c.p=Xt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Rt,()=>e(o).m.c.x,Xt=>(ee(o,e(o).m.c.x=Xt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)},gt=Be=>{var Je=m_(),Tt=c(Je),Ht=c(Tt,!0);u(Tt);var Nt=l(Tt,2),Vt=c(Nt,!0);u(Nt);var or=l(Nt,2),Ot=c(or);ve(Ot),Ot.value=Ot.__value="true";var sr=l(Ot);u(or);var nt=l(or,2),it=c(nt),St=c(it);St.value=St.__value=0;var zt=l(St);Gt(zt,0,()=>[3,12,24,48,96,192,384,576,1152],Yt,(Qt,Ye)=>{var Zt=jn(),Hr=c(Zt,!0);u(Zt);var Wr={};j(()=>{h(Hr,Ye*100),Wr!==(Wr=Ye*100)&&(Zt.value=Zt.__value=Ye*100)}),q(Qt,Zt)}),u(it);var Dt=l(it,2),rr=c(Dt);rr.value=rr.__value=0;var Ct=l(rr);Ct.value=Ct.__value=2;var Rt=l(Ct);Rt.value=Rt.__value=3;var Mr=l(Rt);Mr.value=Mr.__value=7;var Xt=l(Mr);Xt.value=Xt.__value=10;var ur=l(Xt);ur.value=ur.__value=11,u(Dt);var pr=l(Dt,2);ve(pr),Q(pr,"min",64),Q(pr,"step",64),u(nt),u(Je),j(()=>{h(Ht,(e(i),v(()=>e(i).conf?.meter?.buffer??"Buffer size"))),h(Vt,(e(i),v(()=>e(i).conf?.meter?.serial??"Serial conf."))),h(sr,` ${e(i),v(()=>e(i).conf?.meter?.inverted??"inverted")??""}`),St.disabled=(e(o),v(()=>e(o).m.b!=0)),Dt.disabled=(e(o),v(()=>e(o).m.b==0)),rr.disabled=(e(o),v(()=>e(o).m.b!=0)),Q(pr,"max",(e(a),e(o),v(()=>e(a).chip=="esp8266"?e(o).i.h.p==3||e(o).i.h.p==113?512:256:4096)))}),hr(Ot,()=>e(o).m.i,Qt=>(ee(o,e(o).m.i=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(it,()=>e(o).m.b,Qt=>(ee(o,e(o).m.b=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Dt,()=>e(o).m.p,Qt=>(ee(o,e(o).m.p=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(pr,()=>e(o).m.s,Qt=>(ee(o,e(o).m.s=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)};I(Se,Be=>{e(o),v(()=>e(o).m.a===2)?Be(Fe):(e(o),v(()=>e(o).m.a===18)?Be(De,1):Be(gt,-1))});var dt=l(Se,2),rt=c(dt,!0),at=l(rt,3),Xe=c(at);Xe.value=Xe.__value=2;var bt=l(Xe);bt.value=bt.__value=1,u(at),u(dt);var wt=l(dt,2),Ut=c(wt),tr=c(Ut,!0),ar=l(tr,3),vt=c(ar);ve(vt),Rr(2),u(ar),u(Ut);var nr=l(Ut,2),Pt=c(nr,!0),ir=l(Pt,3),lr=c(ir);ve(lr),Rr(2),u(ir),u(nr),u(wt);var Lr=l(wt,4),vr=Be=>{var Je=x_(),Tt=fe(Je),Ht=c(Tt),Nt=c(Ht);ve(Nt),Nt.value=Nt.__value="true";var Vt=l(Nt);u(Ht);var or=l(Ht,2),Ot=it=>{var St=g_(),zt=l(fe(St));ve(zt),j(()=>Q(zt,"pattern",Fl)),Me(zt,()=>e(o).m.e.k,Dt=>(ee(o,e(o).m.e.k=Dt),G(()=>{e(i),e(a),e(g),e(m)}))),q(it,St)};I(or,it=>{e(o),v(()=>e(o).m.e.e)&&it(Ot)}),u(Tt);var sr=l(Tt,2),nt=it=>{var St=b_(),zt=c(St,!0),Dt=l(zt,3);ve(Dt),u(St),j(()=>{h(zt,(e(i),v(()=>e(i).conf?.meter?.authkey??"Authentication key"))),Q(Dt,"pattern",Fl)}),Me(Dt,()=>e(o).m.e.a,rr=>(ee(o,e(o).m.e.a=rr),G(()=>{e(i),e(a),e(g),e(m)}))),q(it,St)};I(sr,it=>{e(o),v(()=>e(o).m.e.e)&&it(nt)}),j(()=>h(Vt,` ${e(i),v(()=>e(i).conf?.meter?.encrypted??"Encrypted")??""}`)),hr(Nt,()=>e(o).m.e.e,it=>(ee(o,e(o).m.e.e=it),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)};I(Lr,Be=>{e(o),v(()=>e(o).m.a!==18)&&Be(vr)});var Ur=l(Lr,2),_r=Be=>{var Je=w_(),Tt=fe(Je),Ht=c(Tt);ve(Ht),Ht.value=Ht.__value="true";var Nt=l(Ht);u(Tt);var Vt=l(Tt,2),or=Ot=>{var sr=y_(),nt=c(sr),it=c(nt,!0),St=l(it,3);ve(St),u(nt);var zt=l(nt,2),Dt=c(zt,!0),rr=l(Dt,3);ve(rr),u(zt);var Ct=l(zt,2),Rt=c(Ct,!0),Mr=l(Rt,3);ve(Mr),u(Ct);var Xt=l(Ct,2),ur=c(Xt,!0),pr=l(ur,3);ve(pr),u(Xt),u(sr),j(()=>{h(it,(e(i),v(()=>e(i).conf?.meter?.multipliers?.watt??"Watt"))),h(Dt,(e(i),v(()=>e(i).conf?.meter?.multipliers?.volt??"Volt"))),h(Rt,(e(i),v(()=>e(i).conf?.meter?.multipliers?.amp??"Amp"))),h(ur,(e(i),v(()=>e(i).conf?.meter?.multipliers?.kwh??"kWh")))}),Me(St,()=>e(o).m.m.w,Qt=>(ee(o,e(o).m.m.w=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(rr,()=>e(o).m.m.v,Qt=>(ee(o,e(o).m.m.v=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Mr,()=>e(o).m.m.a,Qt=>(ee(o,e(o).m.m.a=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(pr,()=>e(o).m.m.c,Qt=>(ee(o,e(o).m.m.c=Qt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ot,sr)};I(Vt,Ot=>{e(o),v(()=>e(o).m.m.e)&&Ot(or)}),j(()=>h(Nt,` ${e(i),v(()=>e(i).conf?.meter?.multipliers?.title??"Multipliers")??""}`)),hr(Ht,()=>e(o).m.m.e,Ot=>(ee(o,e(o).m.m.e=Ot),G(()=>{e(i),e(a),e(g),e(m)}))),q(Be,Je)};I(Ur,Be=>{e(o),v(()=>e(o).m.a!==18)&&Be(_r)}),u(V),j(Be=>{h(Ee,(e(i),v(()=>e(i).conf?.meter?.title??"Meter"))),Q(ce,"href",Be),h(Te,(e(i),v(()=>e(i).conf?.meter?.comm?.title??"Communication"))),h(ae,(e(i),v(()=>e(i).conf?.meter?.comm?.passive??"Passive"))),h(me,(e(i),v(()=>e(i).conf?.meter?.comm?.pulse??"Pulse"))),h(rt,(e(i),v(()=>e(i).common?.voltage??"Voltage"))),h(tr,(e(i),v(()=>e(i).conf?.meter?.fuse??"Main fuse"))),h(Pt,(e(i),v(()=>e(i).conf?.meter?.prod??"Production")))},[()=>($(Jt),v(()=>Jt("meter")))]),At(Ne,()=>e(o).m.a,Be=>(ee(o,e(o).m.a=Be),G(()=>{e(i),e(a),e(g),e(m)}))),At(at,()=>e(o).m.d,Be=>(ee(o,e(o).m.d=Be),G(()=>{e(i),e(a),e(g),e(m)}))),Me(vt,()=>e(o).m.f,Be=>(ee(o,e(o).m.f=Be),G(()=>{e(i),e(a),e(g),e(m)}))),Me(lr,()=>e(o).m.r,Be=>(ee(o,e(o).m.r=Be),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(We,D=>{e(o),v(()=>e(o)?.m)&&D(Oe)});var He=l(We,2),pt=D=>{var V=E_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe),Ne=c(Te,!0);u(Te),Te.value=Te.__value=1;var Ie=l(Te),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=2;var pe=l(Ie),me=Ae=>{var re=jn(),ie=c(re,!0);u(re),re.value=re.__value=3,j(()=>h(ie,(e(i),v(()=>e(i).conf?.connection?.eth??"Ethernet")))),q(Ae,re)};I(pe,Ae=>{e(a),v(()=>e(a).if&&e(a).if.eth)&&Ae(me)}),u(Pe),u(we);var he=l(we,2),oe=Ae=>{var re=M_(),ie=fe(re),Se=c(ie),Fe=l(Se),De=c(Fe);ve(De),De.value=De.__value="true",Rr(),u(Fe);var gt=l(Fe,4),dt=nt=>{var it=$_();ve(it),j(()=>{Q(it,"pattern",Yn),it.required=(e(o),v(()=>e(o).n.c==1||e(o).n.c==2))}),Me(it,()=>e(o).w.s,St=>(ee(o,e(o).w.s=St),G(()=>{e(i),e(a),e(g),e(m)}))),q(nt,it)},rt=nt=>{var it=q_(),St=c(it),zt=Ct=>{var Rt=S_();Rt.value=Rt.__value="",q(Ct,Rt)};I(St,Ct=>{e(g),v(()=>e(g)?.c==-1)&&Ct(zt)});var Dt=l(St),rr=Ct=>{var Rt=qr(),Mr=fe(Rt);Gt(Mr,1,()=>(e(g),v(()=>e(g)?.n)),Yt,(Xt,ur)=>{var pr=jn(),Qt=c(pr);u(pr);var Ye={};j(()=>{h(Qt,`${e(ur),v(()=>e(ur).s)??""} (${e(ur),v(()=>e(ur).e)??""}, RSSI: ${e(ur),v(()=>e(ur).r)??""})`),Ye!==(Ye=(e(ur),v(()=>e(ur).s)))&&(pr.value=(pr.__value=(e(ur),v(()=>e(ur).s)))??"")}),q(Xt,pr)}),q(Ct,Rt)};I(Dt,Ct=>{e(g),v(()=>e(g)?.n)&&Ct(rr)}),u(it),j(()=>it.required=(e(o),v(()=>e(o).n.c==1||e(o).n.c==2))),At(it,()=>e(o).w.s,Ct=>(ee(o,e(o).w.s=Ct),G(()=>{e(i),e(a),e(g),e(m)}))),q(nt,it)};I(gt,nt=>{e(k)?nt(dt):nt(rt,-1)}),u(ie);var at=l(ie,2),Xe=c(at,!0),bt=l(Xe,3),wt=c(bt);ve(wt);var Ut=l(wt,2);u(bt),u(at);var tr=l(at,2),ar=c(tr),vt=c(ar,!0),nr=l(vt,3),Pt=c(nr),ir=c(Pt,!0);u(Pt),Pt.value=Pt.__value=255;var lr=l(Pt),Lr=c(lr,!0);u(lr),lr.value=lr.__value=0;var vr=l(lr),Ur=c(vr,!0);u(vr),vr.value=vr.__value=1;var _r=l(vr),Be=c(_r,!0);u(_r),_r.value=_r.__value=2,u(nr),u(ar);var Je=l(ar,2),Tt=c(Je,!0),Ht=l(Tt,3),Nt=c(Ht);ve(Nt),Rr(2),u(Ht),u(Je),u(tr);var Vt=l(tr,2),or=c(Vt),Ot=c(or);ve(Ot),Ot.value=Ot.__value="true";var sr=l(Ot);u(or),u(Vt),j(()=>{h(Se,`${e(i),v(()=>e(i).conf?.connection?.ssid??"SSID")??""} `),h(Xe,(e(i),v(()=>e(i).conf?.connection?.psk??"Password"))),Q(wt,"pattern",Yn),h(vt,(e(i),v(()=>e(i).conf?.connection?.ps?.title??"Power saving"))),h(ir,(e(i),v(()=>e(i).conf?.connection?.ps?.default??"Default"))),h(Lr,(e(i),v(()=>e(i).conf?.connection?.ps?.off??"Off"))),h(Ur,(e(i),v(()=>e(i).conf?.connection?.ps?.min??"Min"))),h(Be,(e(i),v(()=>e(i).conf?.connection?.ps?.max??"Max"))),h(Tt,(e(i),v(()=>e(i).conf?.connection?.pwr??"Power"))),h(sr,` ${e(i),v(()=>e(i).conf?.connection?.tick_11b??"802.11b")??""}`)}),hr(De,()=>e(k),nt=>E(k,nt)),Me(wt,()=>e(o).w.p,nt=>(ee(o,e(o).w.p=nt),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("click",Ut,x),At(nr,()=>e(o).w.z,nt=>(ee(o,e(o).w.z=nt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Nt,()=>e(o).w.w,nt=>(ee(o,e(o).w.w=nt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Ot,()=>e(o).w.b,nt=>(ee(o,e(o).w.b=nt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ae,re)};I(he,Ae=>{e(o),v(()=>e(o).n.c==1||e(o).n.c==2)&&Ae(oe)}),u(V),j(Ae=>{h(Ee,(e(i),v(()=>e(i).conf?.connection?.title??"Connection"))),Q(ce,"href",Ae),h(Ne,(e(i),v(()=>e(i).conf?.connection?.wifi??"WiFi"))),h(ae,(e(i),v(()=>e(i).conf?.connection?.ap??"AP")))},[()=>($(Jt),v(()=>Jt("connection")))]),At(Pe,()=>e(o).n.c,Ae=>(ee(o,e(o).n.c=Ae),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(He,D=>{e(o),v(()=>e(o)?.w)&&D(pt)});var Ze=l(He,2),Et=D=>{var V=A_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=c(ye,!0),Pe=l(we,3),Te=c(Pe),Ne=c(Te),Ie=c(Ne,!0);u(Ne),Ne.value=Ne.__value="dhcp";var ae=l(Ne),pe=c(ae,!0);u(ae),ae.value=ae.__value="static",u(Te);var me=l(Te,2);ve(me);var he=l(me,2);dn(he,()=>{var vt=c(he),nr=Vi();xu(fe(nr),{}),q(vt,nr)}),u(Pe),u(ye);var oe=l(ye,2),Ae=vt=>{var nr=T_(),Pt=fe(nr),ir=c(Pt,!0),lr=l(ir,3);ve(lr),u(Pt);var Lr=l(Pt,2),vr=c(Lr,!0),Ur=l(vr,3),_r=c(Ur);ve(_r);var Be=l(_r,2);ve(Be),u(Ur),u(Lr),j(()=>{h(ir,(e(i),v(()=>e(i).conf?.network?.gw??"Gateway"))),Q(lr,"pattern",_n),h(vr,(e(i),v(()=>e(i).conf?.network?.dns??"DNS"))),Q(_r,"pattern",_n),Q(Be,"pattern",_n)}),Me(lr,()=>e(o).n.g,Je=>(ee(o,e(o).n.g=Je),G(()=>{e(i),e(a),e(g),e(m)}))),Me(_r,()=>e(o).n.d1,Je=>(ee(o,e(o).n.d1=Je),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Be,()=>e(o).n.d2,Je=>(ee(o,e(o).n.d2=Je),G(()=>{e(i),e(a),e(g),e(m)}))),q(vt,nr)};I(oe,vt=>{e(o),v(()=>e(o).n.m=="static")&&vt(Ae)});var re=l(oe,2),ie=c(re),Se=c(ie);ve(Se),Se.value=Se.__value="true",Rr(),u(ie),u(re);var Fe=l(re,2),De=c(Fe),gt=c(De);ve(gt),gt.value=gt.__value="true";var dt=l(gt);u(De),u(Fe);var rt=l(Fe,2),at=l(rt,2),Xe=c(at),bt=l(Xe),wt=c(bt);ve(wt),wt.value=wt.__value="true";var Ut=l(wt);u(bt);var tr=l(bt,3),ar=c(tr);ve(ar),u(tr),u(at),u(V),j(vt=>{h(Ee,(e(i),v(()=>e(i).conf?.network?.title??"Network"))),Q(ce,"href",vt),h(we,(e(i),v(()=>e(i).conf?.network?.ip??"IP"))),h(Ie,(e(i),v(()=>e(i).conf?.network?.dhcp??"DHCP"))),h(pe,(e(i),v(()=>e(i).conf?.network?.static??"Static"))),me.disabled=(e(o),v(()=>e(o).n.m=="dhcp")),me.required=(e(o),v(()=>e(o).n.m=="static")),Q(me,"pattern",_n),he.disabled=(e(o),v(()=>e(o).n.m=="dhcp")),he.required=(e(o),v(()=>e(o).n.m=="static")),h(dt,` ${e(i),v(()=>e(i).conf?.network?.tick_mdns??"mDNS")??""}`),h(Xe,`${e(i),v(()=>e(i).conf?.network?.ntp??"NTP")??""} `),h(Ut,` ${e(i),v(()=>e(i).conf?.network?.tick_ntp_dhcp??"from DHCP")??""}`),Q(ar,"pattern",ja)},[()=>($(Jt),v(()=>Jt("network")))]),At(Te,()=>e(o).n.m,vt=>(ee(o,e(o).n.m=vt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(me,()=>e(o).n.i,vt=>(ee(o,e(o).n.i=vt),G(()=>{e(i),e(a),e(g),e(m)}))),At(he,()=>e(o).n.s,vt=>(ee(o,e(o).n.s=vt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Se,()=>e(o).n.x,vt=>(ee(o,e(o).n.x=vt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(gt,()=>e(o).n.d,vt=>(ee(o,e(o).n.d=vt),G(()=>{e(i),e(a),e(g),e(m)}))),hr(wt,()=>e(o).n.h,vt=>(ee(o,e(o).n.h=vt),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ar,()=>e(o).n.n1,vt=>(ee(o,e(o).n.n1=vt),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ze,D=>{e(o),v(()=>e(o)?.n)&&D(Et)});var be=l(Ze,2),Le=D=>{var V=F_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=l(Pe),Ne=ot=>{var Ma=P_(),ta=c(Ma);ve(ta),ta.value=ta.__value="true",Rr(),u(Ma),hr(ta,()=>e(o).q.s.e,Cn=>(ee(o,e(o).q.s.e=Cn),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("change",ta,J),q(ot,Ma)};I(Te,ot=>{e(a),v(()=>e(a).chip!="esp8266")&&ot(Ne)});var Ie=l(Te,4),ae=c(Ie);ve(ae);var pe=l(ae,2);ve(pe),u(Ie),u(we);var me=l(we,2),he=ot=>{var Ma=j_(),ta=c(Ma),Cn=c(ta),Ni=br=>{var cr=O_(),Er=fe(cr),Cr=c(Er),Dr=c(Cr,!0);u(Cr),u(Er);var Ea=l(Er,2);j(()=>h(Dr,(e(i),v(()=>e(i).conf?.mqtt?.ca_ok??"CA OK")))),Ue("click",Ea,O),Ue("keypress",Ea,O),q(br,cr)},ti=br=>{var cr=C_(),Er=c(cr);{let Cr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_ca_upload??"Upload CA"))),Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_ca??"")));hn(Er,{color:"blue",get text(){return e(Cr)},get title(){return e(Dr)}})}u(cr),q(br,cr)};I(Cn,br=>{e(o),v(()=>e(o).q.s.c)?br(Ni):br(ti,-1)}),u(ta);var tn=l(ta,2),Li=c(tn),No=br=>{var cr=N_(),Er=fe(cr),Cr=c(Er),Dr=c(Cr,!0);u(Cr),u(Er);var Ea=l(Er,2);j(()=>h(Dr,(e(i),v(()=>e(i).conf?.mqtt?.crt_ok??"Cert OK")))),Ue("click",Ea,C),Ue("keypress",Ea,C),q(br,cr)},ri=br=>{var cr=L_(),Er=c(cr);{let Cr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_crt_upload??"Upload cert"))),Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_crt??"")));hn(Er,{color:"blue",get text(){return e(Cr)},get title(){return e(Dr)}})}u(cr),q(br,cr)};I(Li,br=>{e(o),v(()=>e(o).q.s.r)?br(No):br(ri,-1)}),u(tn);var Nn=l(tn,2),rn=c(Nn),Lo=br=>{var cr=D_(),Er=fe(cr),Cr=c(Er),Dr=c(Cr,!0);u(Cr),u(Er);var Ea=l(Er,2);j(()=>h(Dr,(e(i),v(()=>e(i).conf?.mqtt?.key_ok??"Key OK")))),Ue("click",Ea,B),Ue("keypress",Ea,B),q(br,cr)},Do=br=>{var cr=R_(),Er=c(cr);{let Cr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_key_upload??"Upload key"))),Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_key??"")));hn(Er,{color:"blue",get text(){return e(Cr)},get title(){return e(Dr)}})}u(cr),q(br,cr)};I(rn,br=>{e(o),v(()=>e(o).q.s.k)?br(Lo):br(Do,-1)}),u(Nn),u(Ma),q(ot,Ma)};I(me,ot=>{e(o),v(()=>e(o).q.s.e)&&ot(he)});var oe=l(me,2),Ae=c(oe,!0),re=l(Ae,3);ve(re),u(oe);var ie=l(oe,2),Se=c(ie,!0),Fe=l(Se,3),De=c(Fe);ve(De);var gt=l(De,2);u(Fe),u(ie);var dt=l(ie,2),rt=c(dt),at=c(rt,!0),Xe=l(at,3);ve(Xe),u(rt);var bt=l(rt,2),wt=c(bt,!0),Ut=l(wt,3),tr=c(Ut);tr.value=tr.__value=1;var ar=l(tr);ar.value=ar.__value=2;var vt=l(ar);vt.value=vt.__value=3;var nr=l(vt);nr.value=nr.__value=4;var Pt=l(nr);Pt.value=Pt.__value=0;var ir=l(Pt);ir.value=ir.__value=5;var lr=l(ir);lr.value=lr.__value=6;var Lr=l(lr);Lr.value=Lr.__value=255,u(Ut),u(bt),u(dt);var vr=l(dt,2),Ur=c(vr,!0),_r=l(Ur,3);ve(_r),u(vr);var Be=l(vr,2),Je=c(Be,!0),Tt=l(Je,3);ve(Tt),u(Be);var Ht=l(Be,2),Nt=c(Ht),Vt=l(Nt),or=c(Vt,!0);u(Vt);var Ot=l(Vt,2),sr=c(Ot),nt=c(sr),it=c(nt,!0);u(nt),nt.value=nt.__value=0;var St=l(nt),zt=c(St,!0);u(St),St.value=St.__value=1,u(sr);var Dt=l(sr,2);ve(Dt),u(Ot),u(Ht);var rr=l(Ht,2),Ct=c(rr),Rt=c(Ct),Mr=c(Rt,!0);u(Rt);var Xt=l(Rt,2),ur=c(Xt,!0);u(Xt);var pr=l(Xt,2),Qt=c(pr,!0);u(pr),u(Ct);var Ye=l(Ct,2),Zt=c(Ye);ve(Zt);var Hr=l(Zt,2);ve(Hr);var Wr=l(Hr,2);ve(Wr),u(Ye),u(rr);var Jr=l(rr,2),qa=c(Jr),ea=c(qa);ve(ea),ea.value=ea.__value="true";var Ci=l(ea);u(qa),u(Jr),u(V),j(ot=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.title??"MQTT"))),Q(ce,"href",ot),h(Pe,`${e(i),v(()=>e(i).conf?.mqtt?.server??"Server")??""} `),Q(ae,"pattern",ja),h(Ae,(e(i),v(()=>e(i).conf?.mqtt?.user??"Username"))),Q(re,"pattern",Yn),h(Se,(e(i),v(()=>e(i).conf?.mqtt?.pass??"Password"))),Q(De,"pattern",Yn),h(at,(e(i),v(()=>e(i).conf?.mqtt?.id??"Client ID"))),Xe.required=(e(o),v(()=>e(o).q.h)),Q(Xe,"pattern",to),h(wt,(e(i),v(()=>e(i).conf?.mqtt?.payload??"Payload"))),h(Ur,(e(i),v(()=>e(i).conf?.mqtt?.publish??"Publish topic"))),Q(_r,"pattern",ja),h(Je,(e(i),v(()=>e(i).conf?.mqtt?.subscribe??"Subscribe topic"))),Q(Tt,"pattern",ja),Q(Tt,"placeholder",`${e(o),v(()=>e(o).q.b)??""}/command`),h(Nt,`${e(i),v(()=>e(i).conf?.mqtt?.update??"Update method")??""} `),h(or,(e(i),v(()=>e(i).conf?.mqtt?.interval??"Interval"))),h(it,(e(i),v(()=>e(i).conf?.mqtt?.realtime??"Real time"))),h(zt,(e(i),v(()=>e(i).conf?.mqtt?.interval??"Interval"))),Dt.disabled=(e(o),v(()=>e(o)?.q?.t!=1)),h(Mr,(e(i),v(()=>e(i).conf?.mqtt?.timeout??"Timeout"))),h(ur,(e(i),v(()=>e(i).conf?.mqtt?.keepalive??"Keep-alive"))),h(Qt,(e(i),v(()=>e(i).conf?.mqtt?.autoreboot??"Auto-reboot"))),h(Ci,` ${e(i),v(()=>e(i).conf?.mqtt?.allowdestructive??"Allow destructive commands")??""}`)},[()=>($(Jt),v(()=>Jt("mqtt")))]),Me(ae,()=>e(o).q.h,ot=>(ee(o,e(o).q.h=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(pe,()=>e(o).q.p,ot=>(ee(o,e(o).q.p=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(re,()=>e(o).q.u,ot=>(ee(o,e(o).q.u=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(De,()=>e(o).q.a,ot=>(ee(o,e(o).q.a=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("click",gt,_),Me(Xe,()=>e(o).q.c,ot=>(ee(o,e(o).q.c=ot),G(()=>{e(i),e(a),e(g),e(m)}))),At(Ut,()=>e(o).q.m,ot=>(ee(o,e(o).q.m=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(_r,()=>e(o).q.b,ot=>(ee(o,e(o).q.b=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Tt,()=>e(o).q.r,ot=>(ee(o,e(o).q.r=ot),G(()=>{e(i),e(a),e(g),e(m)}))),At(sr,()=>e(o).q.t,ot=>(ee(o,e(o).q.t=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Dt,()=>e(o).q.d,ot=>(ee(o,e(o).q.d=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Zt,()=>e(o).q.i,ot=>(ee(o,e(o).q.i=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Hr,()=>e(o).q.k,ot=>(ee(o,e(o).q.k=ot),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Wr,()=>e(o).q.e,ot=>(ee(o,e(o).q.e=ot),G(()=>{e(i),e(a),e(g),e(m)}))),hr(ea,()=>e(o).q.dc,ot=>(ee(o,e(o).q.dc=ot),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(be,D=>{e(o),v(()=>e(o)?.q)&&D(Le)});var Ve=l(be,2),ct=D=>{var V=I_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe,!0),Ne=l(Te,3);ve(Ne),u(Pe);var Ie=l(Pe,2),ae=c(Ie,!0),pe=l(ae,3);ve(pe),u(Ie),u(we);var me=l(we,2),he=c(me),oe=l(he),Ae=c(oe);ve(Ae);var re=l(Ae,2);ve(re);var ie=l(re,2);ve(ie),u(oe),u(me),u(V),j(Se=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.title??"Domoticz"))),Q(ce,"href",Se),h(Te,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.eidx??"Electricity IDX"))),Q(Ne,"pattern",ui),h(ae,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.cidx??"Current IDX"))),Q(pe,"pattern",ui),h(he,`${e(i),v(()=>e(i).conf?.mqtt?.domoticz?.vidx??"Voltage IDX")??""}: L1, L2 & L3 `),Q(Ae,"pattern",ui),Q(re,"pattern",ui),Q(ie,"pattern",ui)},[()=>($(Jt),v(()=>Jt("MQTT-configuration#domoticz")))]),Me(Ne,()=>e(o).o.e,Se=>(ee(o,e(o).o.e=Se),G(()=>{e(i),e(a),e(g),e(m)}))),Me(pe,()=>e(o).o.c,Se=>(ee(o,e(o).o.c=Se),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Ae,()=>e(o).o.u1,Se=>(ee(o,e(o).o.u1=Se),G(()=>{e(i),e(a),e(g),e(m)}))),Me(re,()=>e(o).o.u2,Se=>(ee(o,e(o).o.u2=Se),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ie,()=>e(o).o.u3,Se=>(ee(o,e(o).o.u3=Se),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ve,D=>{e(o),v(()=>e(o)?.q?.m==3)&&D(ct)});var Ge=l(Ve,2),ht=D=>{var V=W_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we,!0),Te=l(Pe,3);ve(Te),u(we);var Ne=l(we,2),Ie=c(Ne,!0),ae=l(Ie,3);ve(ae),u(Ne);var pe=l(Ne,2),me=c(pe,!0),he=l(me,3);ve(he),u(pe),u(V),j(oe=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.ha?.title??"Home-Assistant"))),Q(ce,"href",oe),h(Pe,(e(i),v(()=>e(i).conf?.mqtt?.ha?.discovery??"Discovery topic prefix"))),Q(Te,"pattern",ja),h(Ie,(e(i),v(()=>e(i).conf?.mqtt?.ha?.hostname??"Hostname for URL"))),Q(ae,"placeholder",`${e(o),v(()=>e(o).g.h)??""}.local`),Q(ae,"pattern",ja),h(me,(e(i),v(()=>e(i).conf?.mqtt?.ha?.tag??"Name tag"))),Q(he,"pattern",ja)},[()=>($(Jt),v(()=>Jt("MQTT-configuration#home-assistant")))]),Me(Te,()=>e(o).h.t,oe=>(ee(o,e(o).h.t=oe),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ae,()=>e(o).h.h,oe=>(ee(o,e(o).h.h=oe),G(()=>{e(i),e(a),e(g),e(m)}))),Me(he,()=>e(o).h.n,oe=>(ee(o,e(o).h.n=oe),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ge,D=>{e(o),v(()=>e(o)?.q?.m==4)&&D(ht)});var ut=l(Ge,2),mt=D=>{var V=X_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=re=>{var ie=z_(),Se=c(ie),Fe=c(Se);ve(Fe),Fe.value=Fe.__value="true";var De=l(Fe);u(Se);var gt=l(Se,2),dt=rt=>{var at=H_(),Xe=fe(at),bt=l(c(Xe),2),wt=c(bt),Ut=Pt=>{var ir=B_();ir.value=ir.__value=0,q(Pt,ir)};I(wt,Pt=>{e(o),v(()=>e(o).c.p==0)&&Pt(Ut)});var tr=l(wt);tr.value=tr.__value=1;var ar=l(tr);ar.value=ar.__value=2,u(bt),u(Xe);var vt=l(Xe,2),nr=Pt=>{var ir=U_();Ue("click",ir,qe),q(Pt,ir)};I(vt,Pt=>{e(S)&&Pt(nr)}),At(bt,()=>e(o).c.p,Pt=>(ee(o,e(o).c.p=Pt),G(()=>{e(i),e(a),e(g),e(m)}))),q(rt,at)};I(gt,rt=>{e(o),v(()=>e(o).c.e)&&rt(dt)}),u(ie),j(()=>h(De,` ${e(i),v(()=>e(i).conf?.cloud?.ams??"AMS reader cloud")??""}`)),hr(Fe,()=>e(o).c.e,rt=>(ee(o,e(o).c.e=rt),G(()=>{e(i),e(a),e(g),e(m)}))),q(re,ie)},Te=er(()=>(e(a),v(()=>e(a)?.features?.includes("cloud"))));I(we,re=>{e(Te)&&re(Pe)});var Ne=l(we,2),Ie=c(Ne),ae=c(Ie);ve(ae),ae.value=ae.__value="true";var pe=l(ae,2),me=re=>{var ie=G_(),Se=fe(ie),Fe=c(Se);u(Se);var De=l(Se,2),gt=c(De);u(De);var dt=l(De,2),rt=at=>{var Xe=Y_(),bt=c(Xe);{let wt=Ce(()=>(e(a),v(()=>e(a).mac))),Ut=Ce(()=>(e(a),v(()=>e(a).meter.id)));l_(bt,{get value(){return`{"mac":"${e(wt)??""}","meter":"${e(Ut)??""}"}`}})}u(Xe),q(at,Xe)};I(dt,at=>{e(a),v(()=>e(a).mac&&e(a).meter.id)&&at(rt)}),j(()=>{h(Fe,`MAC: ${e(a),v(()=>e(a).mac)??""}`),h(gt,`Meter ID: ${e(a),v(()=>e(a).meter.id?e(a).meter.id:"missing, required")??""}`)}),q(re,ie)};I(pe,re=>{e(o),v(()=>e(o)?.c?.es)&&re(me)}),u(Ie),u(Ne);var he=l(Ne,2),oe=re=>{var ie=V_(),Se=fe(ie),Fe=c(Se),De=c(Fe);ve(De),De.value=De.__value="true",Rr(),u(Fe),u(Se);var gt=l(Se,2),dt=rt=>{var at=K_(),Xe=c(at);ve(Xe),u(at),Me(Xe,()=>e(o).c.zt,bt=>(ee(o,e(o).c.zt=bt),G(()=>{e(i),e(a),e(g),e(m)}))),q(rt,at)};I(gt,rt=>{e(o),v(()=>e(o).c.ze)&&rt(dt)}),hr(De,()=>e(o).c.ze,rt=>(ee(o,e(o).c.ze=rt),G(()=>{e(i),e(a),e(g),e(m)}))),q(re,ie)},Ae=er(()=>(e(a),v(()=>e(a)?.features?.includes("zc"))));I(he,re=>{e(Ae)&&re(oe)}),u(V),j(re=>{h(Ee,(e(i),v(()=>e(i).conf?.cloud?.title??"Cloud connections"))),Q(ce,"href",re)},[()=>($(Jt),v(()=>Jt("cloud-connections")))]),hr(ae,()=>e(o).c.es,re=>(ee(o,e(o).c.es=re),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(ut,D=>{e(o),v(()=>e(o)?.c)&&D(mt)});var kr=l(ut,2),Ir=D=>{var V=Z_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2);Gt(we,4,()=>({length:9}),Yt,(me,he,oe)=>{var Ae=Q_(),re=c(Ae);re.textContent=oe+1;var ie=l(re,2);ve(ie),Q(ie,"name",`t${oe}`),Rr(2),u(Ae),Me(ie,()=>e(o).t.t[oe],Se=>(ee(o,e(o).t.t[oe]=Se),G(()=>{e(i),e(a),e(g),e(m)}))),q(me,Ae)}),u(we);var Pe=l(we,2),Te=c(Pe),Ne=c(Te,!0);u(Te);var Ie=l(Te,2);ve(Ie);var ae=l(Ie,2),pe=c(ae,!0);u(ae),u(Pe),u(V),j(me=>{h(Ee,(e(i),v(()=>e(i).conf?.thresholds?.title??"Thresholds"))),Q(ce,"href",me),h(Ne,(e(i),v(()=>e(i).conf?.thresholds?.avg??"Average of"))),h(pe,(e(i),v(()=>e(i).common?.hours??"hours")))},[()=>($(Jt),v(()=>Jt("tariff-thresholds")))]),Me(Ie,()=>e(o).t.h,me=>(ee(o,e(o).t.h=me),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)},Tr=er(()=>(e(o),v(()=>e(o)?.p?.r?.startsWith("NO")||e(o)?.p?.r?.startsWith("10YNO")||e(o)?.p?.r?.startsWith("10Y1001A1001A4"))));I(kr,D=>{e(Tr)&&D(Ir)});var ke=l(kr,2),je=D=>{var V=J_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we);Gt(Pe,1,()=>d,Yt,(ae,pe)=>{n_(ae,{get cfg(){return e(o),v(()=>e(o).u)},get item(){return e(pe)},get translations(){return e(i)}})});var Te=l(Pe,2),Ne=c(Te),Ie=l(Ne);Gt(Ie,5,()=>e(m),Yt,(ae,pe)=>{var me=jn(),he=c(me,!0);u(me);var oe={};j(()=>{h(he,(e(pe),v(()=>e(pe).name))),oe!==(oe=(e(pe),v(()=>e(pe).code)))&&(me.value=(me.__value=(e(pe),v(()=>e(pe).code)))??"")}),q(ae,me)}),u(Ie),u(Te),u(we),u(V),j(ae=>{h(Ee,(e(i),v(()=>e(i).conf?.ui?.title??"User interface"))),Q(ce,"href",ae),h(Ne,`${e(i),v(()=>e(i).conf?.ui?.lang??"Language")??""} `)},[()=>($(Jt),v(()=>Jt("user-interface")))]),At(Ie,()=>e(o).u.lang,ae=>(ee(o,e(o).u.lang=ae),G(()=>{e(i),e(a),e(g),e(m)}))),Ue("change",Ie,te),q(D,V)};I(ke,D=>{e(o),v(()=>e(o)?.u)&&D(je)});var ze=l(ke,2),tt=D=>{var V=sp(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=he=>{var oe=rp(),Ae=fe(oe),re=l(Ae,2),ie=c(re),Se=c(ie,!0),Fe=l(Se,3);dn(Fe,()=>{var Ye=c(Fe),Zt=Vi();Ms(fe(Zt),{get chip(){return e(a),v(()=>e(a).chip)}}),q(Ye,Zt)}),u(ie);var De=l(ie,2),gt=c(De,!0),dt=l(gt,3);dn(dt,()=>{var Ye=c(dt),Zt=Vi();Ms(fe(Zt),{get chip(){return e(a),v(()=>e(a).chip)}}),q(Ye,Zt)}),u(De);var rt=l(De,2),at=c(rt),Xe=c(at);ve(Xe),Xe.value=Xe.__value="true";var bt=l(Xe);u(at),u(rt),u(re);var wt=l(re,2),Ut=c(wt),tr=c(Ut,!0),ar=l(tr,3);ve(ar),u(Ut);var vt=l(Ut,2),nr=c(vt,!0),Pt=l(nr,3),ir=c(Pt);ve(ir),u(Pt),u(vt);var lr=l(vt,2),Lr=c(lr),vr=c(Lr);ve(vr),vr.value=vr.__value="true";var Ur=l(vr);u(Lr),u(lr);var _r=l(lr,2),Be=c(_r,!0),Je=l(Be),Tt=c(Je);ve(Tt),Tt.value=Tt.__value="true";var Ht=l(Tt);u(Je);var Nt=l(Je,3),Vt=c(Nt);ve(Vt);var or=l(Vt,2);ve(or);var Ot=l(or,2);ve(Ot),u(Nt),u(_r);var sr=l(_r,2),nt=c(sr),it=c(nt),St=l(it);ve(St),u(nt),u(sr);var zt=l(sr,2),Dt=c(zt,!0),rr=l(Dt,3);ve(rr),u(zt);var Ct=l(zt,2),Rt=c(Ct,!0),Mr=l(Rt,3);ve(Mr),u(Ct);var Xt=l(Ct,2),ur=Ye=>{var Zt=ep(),Hr=c(Zt,!0),Wr=l(Hr,3);ve(Wr),u(Zt),j(()=>{h(Hr,(e(i),v(()=>e(i).conf?.hw?.vcc?.title??"Vcc"))),Q(Wr,"max",e(le))}),Me(Wr,()=>e(o).i.v.p,Jr=>(ee(o,e(o).i.v.p=Jr),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ye,Zt)};I(Xt,Ye=>{e(a),v(()=>e(a).chip!="esp8266")&&Ye(ur)});var pr=l(Xt,2),Qt=Ye=>{var Zt=tp(),Hr=c(Zt,!0),Wr=l(Hr,3),Jr=c(Wr);ve(Jr);var qa=l(Jr,2);ve(qa),u(Wr),u(Zt),j(()=>{h(Hr,(e(i),v(()=>e(i).conf?.hw?.vcc?.divider??"Voltage divider"))),Q(Jr,"placeholder",(e(i),v(()=>e(i).conf?.hw?.vcc?.div_vcc??"VCC"))),Q(qa,"placeholder",(e(i),v(()=>e(i).conf?.hw?.vcc?.div_gnd??"GND")))}),Me(Jr,()=>e(o).i.v.d.v,ea=>(ee(o,e(o).i.v.d.v=ea),G(()=>{e(i),e(a),e(g),e(m)}))),Me(qa,()=>e(o).i.v.d.g,ea=>(ee(o,e(o).i.v.d.g=ea),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ye,Zt)};I(pr,Ye=>{e(o),v(()=>e(o)?.i?.v?.p>0)&&Ye(Qt)}),u(wt),j(()=>{h(Se,(e(i),v(()=>e(i).conf?.hw?.han?.rx??"HAN RX"))),h(gt,(e(i),v(()=>e(i).conf?.hw?.han?.tx??"HAN TX"))),h(bt,` ${e(i),v(()=>e(i).conf?.hw?.han?.pullup??"pullup")??""}`),h(tr,(e(i),v(()=>e(i).conf?.hw?.ap_btn??"AP button"))),Q(ar,"max",e(le)),h(nr,(e(i),v(()=>e(i).conf?.hw?.led?.title??"LED"))),Q(ir,"max",e(le)),h(Ur,` ${e(i),v(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),h(Be,(e(i),v(()=>e(i).conf?.hw?.led?.rgb??"RGB"))),h(Ht,` ${e(i),v(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),Q(Vt,"max",e(le)),Q(or,"max",e(le)),Q(Ot,"max",e(le)),h(it,`${e(i),v(()=>e(i).conf?.hw?.led?.disable??"LED dis. GPIO")??""} `),Q(St,"max",e(le)),h(Dt,(e(i),v(()=>e(i).conf?.hw?.temp??"Temperature"))),Q(rr,"max",e(le)),h(Rt,(e(i),v(()=>e(i).conf?.hw?.temp_analog??"Analog temp"))),Q(Mr,"max",e(le))}),At(Fe,()=>e(o).i.h.p,Ye=>(ee(o,e(o).i.h.p=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),At(dt,()=>e(o).i.h.t,Ye=>(ee(o,e(o).i.h.t=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Xe,()=>e(o).i.h.u,Ye=>(ee(o,e(o).i.h.u=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ar,()=>e(o).i.a,Ye=>(ee(o,e(o).i.a=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(ir,()=>e(o).i.l.p,Ye=>(ee(o,e(o).i.l.p=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),hr(vr,()=>e(o).i.l.i,Ye=>(ee(o,e(o).i.l.i=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),hr(Tt,()=>e(o).i.r.i,Ye=>(ee(o,e(o).i.r.i=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Vt,()=>e(o).i.r.r,Ye=>(ee(o,e(o).i.r.r=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(or,()=>e(o).i.r.g,Ye=>(ee(o,e(o).i.r.g=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Ot,()=>e(o).i.r.b,Ye=>(ee(o,e(o).i.r.b=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(St,()=>e(o).i.d.d,Ye=>(ee(o,e(o).i.d.d=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(rr,()=>e(o).i.t.d,Ye=>(ee(o,e(o).i.t.d=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),Me(Mr,()=>e(o).i.t.a,Ye=>(ee(o,e(o).i.t.a=Ye),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,oe)};I(ye,he=>{e(a),v(()=>e(a).board>20)&&he(we)});var Pe=l(ye,2),Te=he=>{var oe=ap(),Ae=c(oe),re=l(Ae),ie=c(re),Se=c(ie,!0);u(ie),ie.value=ie.__value=0;var Fe=l(ie),De=c(Fe,!0);u(Fe),Fe.value=Fe.__value=1,u(re),u(oe),j(()=>{h(Ae,`${e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.title??"LED behaviour")??""} `),h(Se,(e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.enabled??"Enabled"))),h(De,(e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.disabled??"Disabled")))}),At(re,()=>e(o).i.d.b,gt=>(ee(o,e(o).i.d.b=gt),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,oe)};I(Pe,he=>{e(o),v(()=>e(o)?.i?.d?.d>0)&&he(Te)});var Ne=l(Pe,2),Ie=he=>{var oe=np(),Ae=l(fe(oe)),re=c(Ae),ie=c(re,!0);u(re),re.value=re.__value=0;var Se=l(re),Fe=c(Se,!0);u(Se),Se.value=Se.__value=3,u(Ae),j(()=>{h(ie,(e(i),v(()=>e(i).conf?.hw?.powersaving?.[0]??"Normal"))),h(Fe,(e(i),v(()=>e(i).conf?.hw?.powersaving?.[3]??"Extreme (Experimental)")))}),At(Ae,()=>e(o).i.p,De=>(ee(o,e(o).i.p=De),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,oe)},ae=er(()=>($($n),e(a),v(()=>$n(e(a).board))));I(Ne,he=>{e(ae)&&he(Ie)});var pe=l(Ne,2),me=he=>{var oe=op(),Ae=fe(oe),re=l(Ae,2),ie=c(re),Se=c(ie,!0),Fe=l(Se,3);ve(Fe),u(ie);var De=l(ie,2),gt=c(De,!0),dt=l(gt,3);ve(dt),u(De);var rt=l(De,2),at=Xe=>{var bt=ip(),wt=c(bt,!0),Ut=l(wt,3);ve(Ut),u(bt),j(()=>h(wt,(e(i),v(()=>e(i).conf?.hw?.vcc?.boot??"Boot limit")))),Me(Ut,()=>e(o).i.v.b,tr=>(ee(o,e(o).i.v.b=tr),G(()=>{e(i),e(a),e(g),e(m)}))),q(Xe,bt)};I(rt,Xe=>{e(a),v(()=>e(a).board==2||e(a).board==100)&&Xe(at)}),u(re),j(()=>{h(Se,(e(i),v(()=>e(i).conf?.hw?.vcc?.offset??"Vcc offset"))),h(gt,(e(i),v(()=>e(i).conf?.hw?.vcc?.multiplier??"Multiplier")))}),Me(Fe,()=>e(o).i.v.o,Xe=>(ee(o,e(o).i.v.o=Xe),G(()=>{e(i),e(a),e(g),e(m)}))),Me(dt,()=>e(o).i.v.m,Xe=>(ee(o,e(o).i.v.m=Xe),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,oe)};I(pe,he=>{e(a),v(()=>e(a).chip=="esp8266")&&he(me)}),u(V),j(he=>{h(Ee,(e(i),v(()=>e(i).conf?.hw?.title??"Hardware"))),Q(ce,"href",he)},[()=>($(Jt),v(()=>Jt("hardware")))]),q(D,V)};I(ze,D=>{e(o),e(a),v(()=>e(o)?.i?.h&&(e(a)?.board>20||e(a)?.chip=="esp8266"||e(o)?.i?.d?.d>0))&&D(tt)});var Bt=l(ze,2),ft=D=>{var V=up(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,4),ye=l(ce,2),we=c(ye),Pe=c(we);ve(Pe),Pe.value=Pe.__value="true";var Te=l(Pe);u(we),u(ye);var Ne=l(ye,2),Ie=ae=>{var pe=vp(),me=fe(pe),he=c(me,!0);u(me);var oe=l(me,2),Ae=c(oe),re=c(Ae);ve(re),re.value=re.__value="true";var ie=l(re);u(Ae),u(oe);var Se=l(oe,2),Fe=bt=>{var wt=lp(),Ut=c(wt,!0);u(wt),j(()=>h(Ut,(e(i),v(()=>e(i).conf?.debug?.telnet_danger??"Disable when done")))),q(bt,wt)};I(Se,bt=>{e(o),v(()=>e(o).d.t)&&bt(Fe)});var De=l(Se,2),gt=c(De),dt=c(gt);dt.value=dt.__value=1;var rt=l(dt);rt.value=rt.__value=2;var at=l(rt);at.value=at.__value=3;var Xe=l(at);Xe.value=Xe.__value=4,u(gt),u(De),j(()=>{h(he,(e(i),v(()=>e(i).conf?.debug?.danger??"Disable when done"))),h(ie,` ${e(i),v(()=>e(i).conf?.debug?.telnet??"Enable telnet")??""}`)}),hr(re,()=>e(o).d.t,bt=>(ee(o,e(o).d.t=bt),G(()=>{e(i),e(a),e(g),e(m)}))),At(gt,()=>e(o).d.l,bt=>(ee(o,e(o).d.l=bt),G(()=>{e(i),e(a),e(g),e(m)}))),q(ae,pe)};I(Ne,ae=>{e(o),v(()=>e(o)?.d?.s)&&ae(Ie)}),u(V),j(()=>{h(Ee,(e(i),v(()=>e(i).conf?.debug?.title??"Debugging"))),h(Te,` ${e(i),v(()=>e(i).conf?.debug?.enable??"Enable debugging")??""}`)}),hr(Pe,()=>e(o).d.s,ae=>(ee(o,e(o).d.s=ae),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)},Ft=er(()=>(e(o),e(a),v(()=>e(o)?.d&&e(a)?.features?.includes("rdebug"))));I(Bt,D=>{e(Ft)&&D(ft)}),u(z);var Kt=l(z,2),Nr=c(Kt),gr=D=>{var V=cp(),ne=fe(V),Ee=c(ne),ce=c(Ee,!0);u(Ee),u(ne);var ye=l(ne,2),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>{h(ce,(e(i),v(()=>e(i).conf?.btn_reset??"Factory reset"))),h(Pe,(e(i),v(()=>e(i).btn?.reboot??"Reboot")))}),Ue("click",Ee,R),Ue("click",we,T),q(D,V)};I(Nr,D=>{e(s),v(()=>e(s)?.a)&&D(gr)});var _e=l(Nr,2),U=D=>{var V=fp(),ne=c(V),Ee=c(ne,!0);u(ne),u(V),j(()=>h(Ee,(e(i),v(()=>e(i).btn?.save??"Save")))),q(D,V)};I(_e,D=>{e(o)&&D(U)}),u(Kt),u(N),go(N,D=>E(f,D),()=>e(f));var X=l(N,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.loading??"Loading")));jr(X,{get active(){return e(b)},get message(){return e(D)}})}var xe=l(X,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.saving??"Saving")));jr(xe,{get active(){return e(p)},get message(){return e(D)}})}var ue=l(xe,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.reset??"Factory reset")));jr(ue,{get active(){return e(A)},get message(){return e(D)}})}var $e=l(ue,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.reset_done??"Done")));jr($e,{get active(){return e(P)},get message(){return e(D)}})}Ue("submit",N,Pn(Y)),q(t,M),yt()}var pp=F('
'),hp=F(' '),mp=F(' '),gp=F('
 
'),bp=F('
');function xp(t,n){xt(n,!1);let r=de(n,"services",24,()=>[]),a=de(n,"translations",24,()=>({}));const s={mqtt:"MQTT",mqtt_c:"MQTT (custom)",mqtt_es:"Flexpartner.Energy",price:"Price service",ntp:"NTP",cloud:"Cloud",zc:"ZmartCharge"};function f(A){return A.n??a().status?.services?.[A.k]??a().header?.[A.k]??s[A.k]??A.k}function i(A){return a().status?.services?.state?.[A]??{0:"Disabled",1:"OK",2:"Connecting",3:"Error"}[A]??A}const d={mqtt:"mqtt",mqtt_c:"mqtt",mqtt_es:"mqtt",price:"price",cloud:"http",zc:"http"};function b(A){if(!A.e)return"";const P=d[A.k];return a().errors?.[P]?.[A.e]??A.e}Mt();var p=bp(),S=c(p),o=c(S,!0);u(S);var m=l(S,2),k=A=>{var P=pp(),R=c(P,!0);u(P),j(()=>h(R,($(a()),v(()=>a().status?.services?.none??"No services configured")))),q(A,P)},g=A=>{var P=qr(),R=fe(P);Gt(R,1,r,Yt,(Y,H)=>{var T=gp(),O=c(T),C=l(O,2),B=c(C),J=c(B,!0);u(B);var te=l(B,2),se=_=>{var w=hp(),y=c(w,!0);u(w),j(()=>{Q(w,"title",(e(H),v(()=>e(H).d))),h(y,(e(H),v(()=>e(H).d)))}),q(_,w)};I(te,_=>{e(H),v(()=>e(H).d)&&_(se)}),u(C);var le=l(C,2),qe=c(le,!0);u(le);var K=l(le,2),x=_=>{var w=mp(),y=c(w,!0);u(w),j(M=>{Q(w,"title",(e(H),v(()=>e(H).e))),h(y,M)},[()=>(e(H),v(()=>b(e(H))))]),q(_,w)};I(K,_=>{e(H),v(()=>e(H).e)&&_(x)}),u(T),j((_,w,y)=>{Vr(O,1,`bd-${_??""} mr-2 flex-none`),h(J,w),h(qe,y)},[()=>($(Aa),e(H),v(()=>Aa(e(H).s))),()=>(e(H),v(()=>f(e(H)))),()=>(e(H),v(()=>i(e(H).s)))]),q(Y,T)}),q(A,P)};I(m,A=>{$(r()),v(()=>!r()||r().length===0)?A(k):A(g,-1)}),u(p),j(()=>h(o,($(a()),v(()=>a().status?.services?.title??"Services")))),q(t,p),yt()}var yp=F('
',1),wp=F(''),kp=F('
'),Xl=F('DNSv6: ',1),$p=F('
IPv6:
',1),Sp=F('
'),qp=F('
Channel:
'),Ql=F('
'),Mp=F('
'),Ep=F(' ',1),Tp=F('
'),Ap=F(''),Pp=F(' ',1),Op=F('
'),Cp=F(''),Np=F(''),Lp=F(''),Dp=F(' ',1),Rp=F('
'),jp=F(' ',1);function Fp(t,n){xt(n,!1);let r=W(),a=W();Co.subscribe(_e=>E(r,_e)),Sr.subscribe(_e=>E(a,_e));const s=_e=>{if(!_e)return _e;const U=_e.toLowerCase().split(":").map(D=>D.replace(/^0+/,"")||"0");let X=-1,xe=0,ue=-1,$e=0;for(let D=0;Dxe&&(X=ue,xe=$e),ue=-1,$e=0);if($e>xe&&(X=ue,xe=$e),xe>1){const D=U.slice(0,X),V=U.slice(X+xe);return D.length===0&&V.length===0?"::":D.length===0?"::"+V.join(":"):V.length===0?D.join(":")+"::":D.join(":")+"::"+V.join(":")}return U.join(":")};let f=[{name:"WiFi",key:"iw"},{name:"MQTT",key:"im"},{name:"Web",key:"ie"},{name:"Meter",key:"it"},{name:"Thresholds",key:"ih"},{name:"GPIO",key:"ig"},{name:"NTP",key:"in"},{name:"Price",key:"is"}],i=W({});Gr.subscribe(_e=>{E(i,_e)});let d;Oo(()=>{d=setInterval(pn,1e4)}),ou(()=>{d&&clearInterval(d)});let b=W();function p(){confirm((e(i).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(a).upgrade.n))&&(hu(e(a).upgrade.n),Sr.update(_e=>(_e.upgrade.t=e(a).upgrade.n,_e.upgrade.p=0,_e.upgrading=!0,_e)))}async function S(){await(await fetch("reboot",{method:"POST"})).json()}const o=function(){confirm(e(i).device?.reboot_confirm??"Reboot?")&&(Sr.update(_e=>(_e.booting=!0,_e)),S())};let m=W(),k=W(null),g=W(!1),A=W(),P=W(null),R=W(!1);pn();let Y=W({hostname:"",ip:""});function H(_e){E(R,!0);const U=new FormData;U.append("file",e(P)[0]),fetch("configfile",{method:"POST",body:U}).then(X=>X.json()).then(X=>{Sr.update(xe=>(e(Y)&&e(Y).hostname&&(xe.hostname=e(Y).hostname),xe.booting=X.reboot,e(Y)&&e(Y).ip&&(xe.net.ip=e(Y).ip),setTimeout(Ei,5e3,e(a)),xe))}).catch(X=>{console.error("Error:",X),setTimeout(Ei,5e3,e(a))})}function T(){const _e=new FormData;_e.append("channel",e(a).upgrade.c),fetch("fwchannel",{method:"POST",body:_e})}mr(()=>(e(r),e(b),pn),()=>{e(r)&&e(r).sa!==void 0&&e(r).sa!==e(b)&&(e(b)!==void 0&&pn(),E(b,e(r).sa))}),mr(()=>e(P),()=>{if(e(P)&&e(P).length==1){let _e=e(P)[0],U=new FileReader,X=xe=>{let ue=xe.target.result.split(` -`);for(let $e in ue){let D=ue[$e];D.startsWith("hostname ")?ee(Y,e(Y).hostname=D.split(" ")[1]):D.startsWith("ip ")&&ee(Y,e(Y).ip=D.split(" ")[1])}};U.onload=X,U.readAsText(_e)}}),wr(),Mt();var O=jp(),C=fe(O),B=c(C),J=c(B),te=c(J,!0);u(J);var se=l(J,2),le=c(se),qe=l(le),K=_e=>{var U=ca();j(()=>h(U,`(${e(a),v(()=>e(a).cpu)??""}MHz)`)),q(_e,U)};I(qe,_e=>{e(a),v(()=>e(a).cpu)&&_e(K)}),u(se);var x=l(se,2),_=c(x),w=l(_),y=c(w,!0);u(w),u(x);var M=l(x,2),N=c(M);u(M);var z=l(M,2),Z=_e=>{var U=yp(),X=fe(U),xe=c(X);u(X);var ue=l(X,2),$e=c(ue),D=l($e),V=ye=>{{let we=Ce(()=>(e(r),v(()=>new Date(new Date().getTime()-e(r).u*1e3))));mu(ye,{get timestamp(){return e(we)},fullTimeColor:"",get offset(){return e(a),v(()=>e(a).clock_offset)}})}},ne=ye=>{var we=ca("-");q(ye,we)};I(D,ye=>{e(r),v(()=>e(r).u>0)?ye(V):ye(ne,-1)}),u(ue);var Ee=l(ue,2),ce=c(Ee);u(Ee),j(ye=>{h(xe,`${e(i),v(()=>e(i).status?.device?.apmac??"AP MAC")??""}: ${e(a),v(()=>e(a).apmac)??""}`),h($e,`${e(i),v(()=>e(i).status?.device?.last_boot??"Last boot")??""}: `),h(ce,`${e(i),v(()=>e(i).status?.device?.reason??"Reason")??""}: ${ye??""} (${e(a),v(()=>e(a).boot_reason)??""}/${e(a),v(()=>e(a).ex_cause)??""})`)},[()=>(e(i),$(jl),e(a),v(()=>e(i)[jl(e(a).chip)]?.reason?.[e(a).boot_reason]??e(a).boot_reason))]),q(_e,U)};I(z,_e=>{e(a),v(()=>e(a).apmac&&e(a).apmac!=e(a).mac)&&_e(Z)});var ge=l(z,2),We=_e=>{var U=wp(),X=c(U),xe=c(X),ue=c(xe,!0);u(xe),u(X);var $e=l(X,2),D=c($e,!0);u($e),u(U),j(()=>{h(ue,(e(i),v(()=>e(i).status?.device?.btn_consents??"Consents"))),h(D,(e(i),v(()=>e(i).btn?.reboot??"Reboot")))}),Ue("click",$e,o),q(_e,U)};I(ge,_e=>{e(r),v(()=>e(r)?.a)&&_e(We)}),u(B);var Oe=l(B,2),He=_e=>{var U=kp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne),u(U),j(ce=>{h(xe,(e(i),v(()=>e(i).status?.meter?.title??"Meter"))),h($e,`${e(i),v(()=>e(i).status?.meter?.manufacturer??"Manufacturer")??""}: ${ce??""}`),h(V,`${e(i),v(()=>e(i).status?.meter?.model??"Model")??""}: ${e(a),v(()=>e(a).meter.model?e(a).meter.model:"unknown")??""}`),h(Ee,`${e(i),v(()=>e(i).status?.meter?.id??"ID")??""}: ${e(a),v(()=>e(a).meter.id?e(a).meter.id:"unknown")??""}`)},[()=>($(bo),e(a),v(()=>bo(e(a).meter.mfg)))]),q(_e,U)};I(Oe,_e=>{e(a),v(()=>e(a).meter)&&_e(He)});var pt=l(Oe,2);xp(pt,{get services(){return e(a),v(()=>e(a).services)},get translations(){return e(i)}});var Ze=l(pt,2),Et=_e=>{var U=Sp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne);var ce=l(ne,2),ye=c(ce),we=ae=>{var pe=ca();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns1)??""}`)),q(ae,pe)};I(ye,ae=>{e(a),v(()=>e(a).net.dns1)&&ae(we)});var Pe=l(ye,2),Te=ae=>{var pe=ca();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns2)??""}`)),q(ae,pe)};I(Pe,ae=>{e(a),v(()=>e(a).net.dns2)&&ae(Te)}),u(ce);var Ne=l(ce,2),Ie=ae=>{var pe=$p(),me=fe(pe),he=l(c(me)),oe=c(he,!0);u(he),u(me);var Ae=l(me,2),re=c(Ae),ie=De=>{var gt=Xl(),dt=l(fe(gt)),rt=c(dt,!0);u(dt),j(at=>h(rt,at),[()=>(e(a),v(()=>s(e(a).net.dns1v6)))]),q(De,gt)};I(re,De=>{e(a),v(()=>e(a).net.dns1v6)&&De(ie)});var Se=l(re,2),Fe=De=>{var gt=Xl(),dt=l(fe(gt)),rt=c(dt,!0);u(dt),j(at=>h(rt,at),[()=>(e(a),v(()=>s(e(a).net.dns2v6)))]),q(De,gt)};I(Se,De=>{e(a),v(()=>e(a).net.dns2v6)&&De(Fe)}),u(Ae),j(De=>h(oe,De),[()=>(e(a),v(()=>s(e(a).net.ipv6)))]),q(ae,pe)};I(Ne,ae=>{e(a),v(()=>e(a).net.ipv6)&&ae(Ie)}),u(U),j(()=>{h(xe,(e(i),v(()=>e(i).status?.network?.title??"Network"))),h($e,`${e(i),v(()=>e(i).conf?.network?.ip??"IP")??""}: ${e(a),v(()=>e(a).net.ip)??""}`),h(V,`${e(i),v(()=>e(i).conf?.network?.mask??"Mask")??""}: ${e(a),v(()=>e(a).net.mask)??""}`),h(Ee,`${e(i),v(()=>e(i).conf?.network?.gw??"Gateway")??""}: ${e(a),v(()=>e(a).net.gw)??""}`)}),q(_e,U)};I(Ze,_e=>{e(a),v(()=>e(a).net)&&_e(Et)});var be=l(Ze,2),Le=c(be),Ve=c(Le,!0);u(Le);var ct=l(Le,2),Ge=l(ct,2),ht=_e=>{var U=qp(),X=l(c(U)),xe=c(X);xe.value=xe.__value=0;var ue=l(xe);ue.value=ue.__value=1;var $e=l(ue);$e.value=$e.__value=2;var D=l($e);D.value=D.__value=3,u(X),u(U),At(X,()=>e(a).upgrade.c,V=>(ee(a,e(a).upgrade.c=V),G(()=>{}))),Ue("change",X,T),q(_e,U)};I(Ge,_e=>{e(a),v(()=>e(a).fwconsent===1)&&_e(ht)});var ut=l(Ge,2),mt=c(ut);u(ut);var kr=l(ut,2),Ir=_e=>{var U=Ql(),X=c(U),xe=c(X);u(X),u(U),j(ue=>h(xe,`${ue??""} - ${e(i),e(a),v(()=>e(i).errors?.upgrade?.[e(a).upgrade.e]??e(a).upgrade.e)??""}`),[()=>(e(i),e(a),v(()=>(e(i).status?.firmware?.failed??"Upgrade from {0} to {1} failed").replace("{0}",e(a).upgrade.f).replace("{1}",e(a).upgrade.t)))]),q(_e,U)};I(kr,_e=>{e(a),v(()=>e(a).upgrade.t&&e(a).upgrade.t!=e(a).version&&e(a).upgrade.e!=0&&e(a).upgrade.e!=123)&&_e(Ir)});var Tr=l(kr,2),ke=_e=>{var U=Ep(),X=fe(U),xe=c(X),ue=l(xe),$e=c(ue,!0);u(ue);var D=l(ue,2),V=ce=>{var ye=Mp(),we=c(ye);u(ye),j(()=>Q(ye,"title",(e(i),v(()=>e(i).status?.firmware?.install??"Install")))),Ue("click",we,p),q(ce,ye)};I(D,ce=>{e(a),e(r),v(()=>(e(a).security==0||e(r).a)&&e(a).fwconsent===1&&e(a).upgrade.n&&e(a).upgrade.n!=e(a).version)&&ce(V)}),u(X);var ne=l(X,2),Ee=ce=>{var ye=Ql(),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>h(Pe,(e(i),v(()=>e(i).status?.firmware?.no_one_click??"One-click upgrade disabled")))),q(ce,ye)};I(ne,ce=>{e(a),v(()=>e(a).fwconsent===2)&&ce(Ee)}),j(()=>{h(xe,`${e(i),v(()=>e(i).status?.firmware?.latest??"Latest")??""}: `),Q(ue,"href",(e(a),v(()=>"https://github.com/UtilitechAS/amsreader-firmware/releases/tag/"+e(a).upgrade.n))),h($e,(e(a),v(()=>e(a).upgrade.n)))}),q(_e,U)};I(Tr,_e=>{e(a),v(()=>e(a).upgrade.n)&&_e(ke)});var je=l(Tr,2),ze=_e=>{var U=Tp(),X=c(U,!0);u(U),j(xe=>h(X,xe),[()=>($(Bl),$(Re),e(a),v(()=>Bl(Re(e(a).chip,e(a).board))))]),q(_e,U)},tt=er(()=>(e(a),e(r),$($n),v(()=>(e(a).security==0||e(r).a)&&$n(e(a).board))));I(je,_e=>{e(tt)&&_e(ze)});var Bt=l(je,2),ft=_e=>{var U=Op(),X=c(U),xe=c(X);go(xe,V=>E(m,V),()=>e(m));var ue=l(xe,2),$e=V=>{var ne=Ap(),Ee=c(ne,!0);u(ne),j(()=>h(Ee,(e(i),v(()=>e(i).status?.firmware?.btn_select_file??"Select file")))),Ue("click",ne,()=>{e(m).click()}),q(V,ne)},D=V=>{var ne=Pp(),Ee=fe(ne),ce=l(Ee),ye=c(ce,!0);u(ce),j(()=>{h(Ee,`${e(k),v(()=>e(k)[0].name)??""} `),h(ye,(e(i),v(()=>e(i).btn?.upload??"Upload")))}),q(V,ne)};I(ue,V=>{e(k),v(()=>!e(k)||e(k).length==0)?V($e):V(D,-1)}),u(X),u(U),El(xe,()=>e(k),V=>E(k,V)),Ue("submit",X,()=>E(g,!0)),q(_e,U)};I(Bt,_e=>{e(a),e(r),v(()=>e(a).security==0||e(r).a)&&_e(ft)}),u(be);var Ft=l(be,2),Kt=_e=>{var U=Rp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue),D=c($e);Gt(D,1,()=>f,Yt,(me,he)=>{var oe=Cp(),Ae=c(oe);ve(Ae);var re=l(Ae);u(oe),j(()=>{Q(Ae,"name",(e(he),v(()=>e(he).key))),h(re,` ${e(i),e(he),v(()=>e(i).status?.backup?.[e(he).key]??e(he).name)??""}`)}),q(me,oe)});var V=l(D,2),ne=c(V),Ee=l(ne),ce=l(Ee,2),ye=c(ce,!0);u(ce),u(V),u($e);var we=l($e,2),Pe=me=>{var he=Np(),oe=c(he,!0);u(he),j(()=>h(oe,(e(i),v(()=>e(i).status?.backup?.btn_download??"Download")))),q(me,he)};I(we,me=>{e(P),v(()=>!e(P)||e(P).length==0)&&me(Pe)}),u(ue);var Te=l(ue,2),Ne=c(Te);go(Ne,me=>E(A,me),()=>e(A));var Ie=l(Ne,2),ae=me=>{var he=Lp(),oe=c(he,!0);u(he),j(()=>h(oe,(e(i),v(()=>e(i).status?.backup?.btn_select_file??"Select file")))),Ue("click",he,()=>{e(A).click()}),q(me,he)},pe=me=>{var he=Dp(),oe=fe(he),Ae=l(oe),re=c(Ae,!0);u(Ae),j(()=>{h(oe,`${e(P),v(()=>e(P)[0].name)??""} `),h(re,(e(i),v(()=>e(i).btn?.upload??"Upload")))}),q(me,he)};I(Ie,me=>{e(P),v(()=>!e(P)||e(P).length==0)?me(ae):me(pe,-1)}),u(Te),u(U),j(()=>{h(xe,(e(i),v(()=>e(i).status?.backup?.title??"Backup"))),h(Ee,` ${e(i),v(()=>e(i).status?.backup?.secrets??"Include secrets")??""}`),h(ye,(e(i),v(()=>e(i).status?.backup?.secrets_desc??"")))}),El(Ne,()=>e(P),me=>E(P,me)),Ue("submit",Te,Pn(H)),q(_e,U)};I(Ft,_e=>{e(a),e(r),v(()=>e(a).security==0||e(r).a)&&_e(Kt)}),u(C);var Nr=l(C,2);{let _e=Ce(()=>(e(i),v(()=>e(i).status?.mask?.firmware??"Uploading")));jr(Nr,{get active(){return e(g)},get message(){return e(_e)}})}var gr=l(Nr,2);{let _e=Ce(()=>(e(i),v(()=>e(i).status?.mask?.config??"Uploading")));jr(gr,{get active(){return e(R)},get message(){return e(_e)}})}j((_e,U)=>{h(te,(e(i),v(()=>e(i).status?.device.title??"Device"))),h(le,`${e(i),v(()=>e(i).status?.device?.chip??"Chip")??""}: ${e(a),v(()=>e(a).chip)??""} `),h(_,`${e(i),v(()=>e(i).status?.device?.device??"Device")??""}: `),h(y,_e),h(N,`${e(i),v(()=>e(i).status?.device?.mac??"MAC")??""}: ${e(a),v(()=>e(a).mac)??""}`),h(Ve,(e(i),v(()=>e(i).status?.firmware?.title??"Firmware"))),Q(ct,"href",U),h(mt,`${e(i),v(()=>e(i).status?.firmware?.installed??"Installed")??""}: ${e(a),v(()=>e(a).version)??""}`)},[()=>($(Re),e(a),v(()=>Re(e(a).chip,e(a).board))),()=>($(Jt),v(()=>Jt("statusinformation-screen")))]),q(t,O),yt()}var Xi=F(" "),Zl=F(""),Jl=F(""),Ip=F('
🗑

',1),Wp=F('

',1);function Bp(t,n){xt(n,!1);let r=W({});Gr.subscribe(y=>{E(r,y)});let a=["mo","tu","we","th","fr","sa","su"],s=W({}),f=W(!0),i=W(!1);bu.subscribe(y=>{y.o&&(E(s,y),E(f,!1))}),Gd();async function d(y){E(i,!0);const M=new URLSearchParams;M.append("r","true"),M.append("rc",e(s).o.length),e(s).o.forEach(function(N,z){M.append("rt"+z,N.t),M.append("rn"+z,N.n),M.append("rd"+z,N.d),M.append("ra"+z,N.a),M.append("rh"+z,N.h),M.append("rv"+z,N.v),M.append("rsm"+z,N.s.m),M.append("rsd"+z,N.s.d),M.append("rem"+z,N.e.m),M.append("red"+z,N.e.d)}),await(await fetch("save",{method:"POST",body:M})).json(),E(i,!1),Za("/configuration")}let b=function(y,M){return y.includes(M)?y=y.filter(function(N){return N!==M}):y.push(M),y},p=function(){let y=e(s).o;y.push({t:1,n:"",d:3,a:[0,1,2,3,4,5,6,7],h:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],v:.001,s:{m:0,d:0},e:{m:0,d:0}}),ee(s,e(s).o=y)},S=function(y){let M=e(s).o;M.splice(y,1),ee(s,e(s).o=M)},o=function(y){if(y<=0)return;let M=e(s).o;var N=M[y];M[y]=M[y-1],M[y-1]=N,ee(s,e(s).o=M)};function m(y){return y===0?31:new Date(2024,y,0).getDate()}function k(y,M){const N=m(M);y.d>N&&(y.d=N)}let g=function(y){let M=e(s).o;if(!(y>=M.length-1)){var N=M[y];M[y]=M[y+1],M[y+1]=N,ee(s,e(s).o=M)}};Mt();var A=Wp(),P=fe(A),R=c(P),Y=c(R,!0);u(R);var H=l(R,2),T=l(H,4),O=c(T),C=l(O,2),B=y=>{var M=qr(),N=fe(M);Gt(N,1,()=>e(s).o,Yt,(z,Z,ge)=>{var We=Ip(),Oe=fe(We),He=c(Oe),pt=c(He);ve(pt),u(He);var Ze=l(He,2),Et=c(Ze),be=c(Et),Le=c(be,!0);u(be),be.value=be.__value=1;var Ve=l(be),ct=c(Ve,!0);u(Ve),Ve.value=Ve.__value=2;var Ge=l(Ve),ht=c(Ge,!0);u(Ge),Ge.value=Ge.__value=3,u(Et);var ut=l(Et,2),mt=c(ut),kr=c(mt,!0);u(mt),mt.value=mt.__value=0;var Ir=l(mt);Ir.value=Ir.__value=1;var Tr=l(Ir);Tr.value=Tr.__value=3;var ke=l(Tr);ke.value=ke.__value=2,u(ut);var je=l(ut,2);ve(je),u(Ze);var ze=l(Ze,2),tt=c(ze),Bt=c(tt);u(tt);var ft=l(tt,2);Gt(ft,4,()=>({length:7}),Yt,(oe,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j(Fe=>{Vr(ie,1,Fe),h(Se,a[re])},[()=>ln(e(Z).a.includes(re)?"bd-on":"bd-off")]),Ue("click",ie,()=>(e(Z).a=b(e(Z).a,re),G(()=>e(s)),G(()=>{e(r)}))),q(oe,ie)}),u(ft),u(ze);var Ft=l(ze,2),Kt=c(Ft),Nr=c(Kt);u(Kt);var gr=l(Kt,2),_e=c(gr);Gt(_e,4,()=>({length:8}),Yt,(oe,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Vr(ie,1,Fe),h(Se,De)},[()=>ln(e(Z).h.includes(re)?"bd-on":"bd-off"),()=>re.toString().padStart(2,"0")]),Ue("click",ie,()=>(e(Z).h=b(e(Z).h,re),G(()=>e(s)),G(()=>{e(r)}))),q(oe,ie)}),u(_e);var U=l(_e,2);Gt(U,4,()=>({length:8}),Yt,(oe,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Vr(ie,1,Fe),h(Se,De)},[()=>ln(e(Z).h.includes(re+8)?"bd-on":"bd-off"),()=>(re+8).toString().padStart(2,"0")]),Ue("click",ie,()=>(e(Z).h=b(e(Z).h,re+8),G(()=>e(s)),G(()=>{e(r)}))),q(oe,ie)}),u(U);var X=l(U,2);Gt(X,4,()=>({length:8}),Yt,(oe,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Vr(ie,1,Fe),h(Se,De)},[()=>ln(e(Z).h.includes(re+16)?"bd-on":"bd-off"),()=>(re+16).toString().padStart(2,"0")]),Ue("click",ie,()=>(e(Z).h=b(e(Z).h,re+16),G(()=>e(s)),G(()=>{e(r)}))),q(oe,ie)}),u(X),u(gr),u(Ft);var xe=l(Ft,2),ue=c(xe),$e=c(ue);$e.value=$e.__value=0;var D=l($e);Gt(D,1,()=>({length:m(e(Z).s.m)}),Yt,(oe,Ae,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(oe,ie)}),u(ue);var V=l(ue,2),ne=c(V);ne.value=ne.__value=0;var Ee=l(ne);Gt(Ee,0,()=>({length:12}),Yt,(oe,Ae,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Fe=>h(Se,Fe),[()=>e(r).months?e(r).months?.[re]:Wt(re+1)]),q(oe,ie)}),u(V);var ce=l(V,2),ye=l(ce,2),we=c(ye);we.value=we.__value=0;var Pe=l(we);Gt(Pe,1,()=>({length:m(e(Z).e.m)}),Yt,(oe,Ae,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(oe,ie)}),u(ye);var Te=l(ye,2),Ne=c(Te);Ne.value=Ne.__value=0;var Ie=l(Ne);Gt(Ie,0,()=>({length:12}),Yt,(oe,Ae,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Fe=>h(Se,Fe),[()=>e(r).months?e(r).months?.[re]:Wt(re+1)]),q(oe,ie)}),u(Te),u(xe);var ae=l(xe,2),pe=c(ae);Vr(pe,1,ln(ge>0?"text-green-600":"text-gray-300"));var me=l(pe,2),he=l(me,2);u(ae),u(Oe),Rr(2),j(()=>{h(Le,e(r).conf?.common?.import??"Import"),h(ct,e(r).conf?.common?.export??"Export"),h(ht,e(r).conf?.price?.both??"Both"),h(kr,e(r).conf?.price?.fixed??"Fixed"),h(Bt,`${e(r).common?.days??"Days"??""}:`),h(Nr,`${e(r).common?.hours??"Hours"??""}:`),Vr(me,1,ln(gee(Z).n,oe=>(e(Z).n=oe,G(()=>e(s)),G(()=>{e(r)}))),At(Et,()=>e(Z).d,oe=>(e(Z).d=oe,G(()=>e(s)),G(()=>{e(r)}))),At(ut,()=>e(Z).t,oe=>(e(Z).t=oe,G(()=>e(s)),G(()=>{e(r)}))),Me(je,()=>e(Z).v,oe=>(e(Z).v=oe,G(()=>e(s)),G(()=>{e(r)}))),At(ue,()=>e(Z).s.d,oe=>(e(Z).s.d=oe,G(()=>e(s)),G(()=>{e(r)}))),At(V,()=>e(Z).s.m,oe=>(e(Z).s.m=oe,G(()=>e(s)),G(()=>{e(r)}))),Ue("change",V,()=>k(e(Z).s,e(Z).s.m)),At(ye,()=>e(Z).e.d,oe=>(e(Z).e.d=oe,G(()=>e(s)),G(()=>{e(r)}))),At(Te,()=>e(Z).e.m,oe=>(e(Z).e.m=oe,G(()=>e(s)),G(()=>{e(r)}))),Ue("change",Te,()=>k(e(Z).e,e(Z).e.m)),Ue("click",pe,()=>o(ge)),Ue("keypress",pe,()=>o(ge)),Ue("click",me,()=>g(ge)),Ue("keypress",me,()=>g(ge)),Ue("click",he,()=>S(ge)),Ue("keypress",he,()=>S(ge)),q(z,We)}),q(y,M)};I(C,y=>{e(s).o&&y(B)});var J=l(C,2),te=c(J),se=c(te),le=c(se,!0);u(se),u(te);var qe=l(te,4),K=c(qe),x=c(K,!0);u(K),u(qe),u(J),u(T),u(P);var _=l(P,2);{let y=Ce(()=>e(r).conf?.price?.mask_loading??"Loading");jr(_,{get active(){return e(f)},get message(){return e(y)}})}var w=l(_,2);{let y=Ce(()=>e(r).conf?.price?.mask_saving??"Saving");jr(w,{get active(){return e(i)},get message(){return e(y)}})}j(y=>{h(Y,e(r).conf?.price?.title??"Price"),Q(H,"href",y),h(le,e(r).conf?.price?.btn_add??"Add"),h(x,e(r).btn?.save??"Save")},[()=>Jt("configure-price-price-modifiers")]),Ue("click",se,p),Ue("submit",T,Pn(d)),q(t,A),yt()}var Up=F('

',1);function Hp(t,n){xt(n,!1);let r=W({});Gr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var s=Up(),f=fe(s),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var o=l(p,2),m=l(c(o),2),k=c(m),g=c(k,!0);u(k),u(m),u(o),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");jr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} CA`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),Ue("submit",o,()=>E(a,!0)),q(t,s),yt()}var zp=F('

',1);function Yp(t,n){xt(n,!1);let r=W({});Gr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var s=zp(),f=fe(s),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var o=l(p,2),m=l(c(o),2),k=c(m),g=c(k,!0);u(k),u(m),u(o),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");jr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} certificate`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),Ue("submit",o,()=>E(a,!0)),q(t,s),yt()}var Gp=F('

',1);function Kp(t,n){xt(n,!1);let r=W({});Gr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var s=Gp(),f=fe(s),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var o=l(p,2),m=l(c(o),2),k=c(m),g=c(k,!0);u(k),u(m),u(o),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");jr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} private key`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),Ue("submit",o,()=>E(a,!0)),q(t,s),yt()}var Vp=F(' ',1);function Xp(t,n){xt(n,!1);let r="/",a=W({}),s=W({});Gr.subscribe(le=>{E(s,le)}),Sr.subscribe(le=>E(a,le));let f=W(!1);async function i(le){E(f,!0);const qe=new FormData(le.target),K=new URLSearchParams;for(let _ of qe){const[w,y]=_;K.append(w,y)}let x=await(await fetch("save",{method:"POST",body:K})).json();E(f,!1),Sr.update(_=>(_.fwconsent=qe.sf===!0?1:qe.sf===!1?2:0,_.booting=x.reboot,_)),Za(r)}Mt();var d=Vp(),b=fe(d),p=c(b),S=c(p),o=c(S),m=c(o,!0);u(o);var k=l(o,4),g=c(k,!0),A=l(g,3),P=c(A,!0);u(A);var R=l(A,3),Y=c(R);ve(Y),Sl(Y,1);var H=l(Y);u(R);var T=l(R,2),O=c(T);ve(O),Sl(O,2);var C=l(O);u(T),Rr(),u(k);var B=l(k,2),J=c(B),te=c(J,!0);u(J),u(B),u(S),u(p),u(b);var se=l(b,2);{let le=Ce(()=>e(s).consent?.mask_saving??"Saving");jr(se,{get active(){return e(f)},get message(){return e(le)}})}j(()=>{h(m,e(s).consent?.title??"Consents"),h(g,e(s).consent?.one_click??"One-click"),h(P,e(s).consent?.read_more??"Read more"),ql(Y,e(a).fwconsent===1),h(H,` ${e(s).consent?.yes??"Yes"??""}`),ql(O,e(a).fwconsent===2),h(C,` ${e(s).consent?.no??"No"??""}`),h(te,e(s).btn?.save??"Save")}),Ue("submit",S,Pn(i)),q(t,d),yt()}var ev=F(""),Qp=F(''),Zp=F(''),Jp=F(''),e1=F('


👁️
',1),t1=F("",1),r1=F('
',1),a1=F('


'),n1=F(''),i1=F('
',1),o1=F('
'),s1=F('
',1),l1=F(''),v1=F('

',1);function u1(t,n){xt(n,!1);let r=W({});Gr.subscribe(ke=>{E(r,ke)});let a=W(),s=W(""),f=W(""),i=W(!1),d=W({});Qs.subscribe(ke=>{E(d,ke),E(i,ke?.c==0),E(s,ke?.n[0]?.s??"")});let b=W({});Sr.subscribe(ke=>E(b,ke));let p=W(!1),S=W(1),o=W(!1),m=W(!1),k=W(!1),g=W(0);function A(ke){Sr.update(je=>(je.trying=ke,je))}async function P(){E(o,!0);const ke=new FormData(e(a)),je=new URLSearchParams;for(let tt of ke){const[Bt,ft]=tt;je.append(Bt,ft)}let ze=await(await fetch("save",{method:"POST",body:je})).json();E(o,!1),Sr.update(tt=>(tt.hostname=ke.get("sh"),tt.usrcfg=ze.success,tt.booting=ze.reboot,e(p)&&(tt.net.ip=ke.get("si"),tt.net.mask=ke.get("su"),tt.net.gw=ke.get("sg"),tt.net.dns1=ke.get("sd")),ze.reboot&&setTimeout(Ei,5e3,e(b),A),tt))}async function R(){let ke;if(e(m))ke=await fetch("wifitest.json");else{E(m,!0),E(k,!1);const ze=new URLSearchParams;ze.append("ssid",e(s)),ze.append("psk",e(f)),ke=await fetch("wifitest.json",{method:"POST",body:ze})}const je=await ke.json();je?.time==0?(E(m,!1),E(k,je.status==3),E(g,je.status),e(k)&&(Sr.update(ze=>(ze.net.ip=je.ip,ze)),setTimeout(P,1e3))):e(m)&&(je.time>3e4?(E(g,4),E(m,!1)):setTimeout(R,2e3))}async function Y(){E(m,!1),E(k,!1),E(g,0)}async function H(){const ke=e(a).querySelector('input[name="sp"]');ke.type==="password"?(ke.type="text",this.textContent="🙈"):(ke.type="password",this.textContent="👁️")}Mt();var T=v1(),O=fe(T),C=c(O),B=c(C),J=c(B),te=l(J,2),se=c(te,!0);u(te);var le=l(te,2),qe=c(le,!0),K=l(qe,3),x=c(K),_=c(x,!0);u(x),x.value=x.__value=1;var w=l(x),y=c(w,!0);u(w),w.value=w.__value=2;var M=l(w),N=ke=>{var je=ev(),ze=c(je,!0);u(je),je.value=je.__value=3,j(()=>h(ze,e(r).conf?.connection?.eth??"Ethernet")),q(ke,je)};I(M,ke=>{e(b).if&&e(b).if.eth&&ke(N)}),u(K),u(le);var z=l(le,2),Z=ke=>{var je=e1(),ze=fe(je),tt=c(ze),Bt=l(tt),ft=c(Bt);ve(ft),ft.value=ft.__value="true",Rr(),u(Bt);var Ft=l(Bt,4),Kt=ue=>{var $e=Qp();ve($e),j(()=>{Q($e,"pattern",Yn),$e.required=e(S)==1||e(S)==2}),Me($e,()=>e(s),D=>E(s,D)),Ue("input",$e,Y),q(ue,$e)},Nr=ue=>{var $e=Jp(),D=c($e),V=ce=>{var ye=Zp();ye.value=ye.__value="",q(ce,ye)};I(D,ce=>{e(d)?.c==-1&&ce(V)});var ne=l(D),Ee=ce=>{var ye=qr(),we=fe(ye);Gt(we,1,()=>e(d)?.n,Yt,(Pe,Te)=>{var Ne=ev(),Ie=c(Ne);u(Ne);var ae={};j(()=>{h(Ie,`${e(Te).s??""} (${e(Te).e??""}, RSSI: ${e(Te).r??""})`),ae!==(ae=e(Te).s)&&(Ne.value=(Ne.__value=e(Te).s)??"")}),q(Pe,Ne)}),q(ce,ye)};I(ne,ce=>{e(d)?.n&&ce(Ee)}),u($e),j(()=>$e.required=e(S)==1||e(S)==2),At($e,()=>e(s),ce=>E(s,ce)),Ue("change",$e,Y),q(ue,$e)};I(Ft,ue=>{e(i)?ue(Kt):ue(Nr,-1)}),u(ze);var gr=l(ze,2),_e=c(gr,!0),U=l(_e,3),X=c(U);ve(X);var xe=l(X,2);u(U),u(gr),j(()=>{h(tt,`${e(r).conf?.connection?.ssid??"SSID"??""} `),h(_e,e(r).conf?.connection?.psk??"Password"),Q(X,"pattern",Yn),X.required=e(S)==2}),hr(ft,()=>e(i),ue=>E(i,ue)),Me(X,()=>e(f),ue=>E(f,ue)),Ue("input",X,Y),Ue("click",xe,H),q(ke,je)};I(z,ke=>{(e(S)==1||e(S)==2)&&ke(Z)});var ge=l(z,2),We=c(ge),Oe=l(We);ve(Oe),u(ge);var He=l(ge,2),pt=c(He),Ze=c(pt);ve(Ze),Ze.value=Ze.__value="static";var Et=l(Ze);u(pt);var be=l(pt,2),Le=ke=>{var je=r1(),ze=l(fe(je),2),tt=c(ze),Bt=l(tt,2);dn(Bt,()=>{var ft=c(Bt),Ft=t1();xu(fe(Ft),{}),q(ft,Ft)}),u(ze),j(()=>{tt.required=e(p),Q(tt,"pattern",_n),Bt.required=e(p)}),q(ke,je)};I(be,ke=>{e(p)&&ke(Le)}),u(He);var Ve=l(He,2),ct=ke=>{var je=a1(),ze=c(je),tt=c(ze,!0),Bt=l(tt,3);u(ze);var ft=l(ze,2),Ft=c(ft,!0),Kt=l(Ft,3);u(ft),u(je),j(()=>{h(tt,e(r).conf?.network?.gw??"Gateway"),Q(Bt,"pattern",_n),h(Ft,e(r).conf?.network?.dns??"DNS"),Q(Kt,"pattern",_n)}),q(ke,je)};I(Ve,ke=>{e(p)&&ke(ct)});var Ge=l(Ve,2),ht=c(Ge),ut=ke=>{var je=n1(),ze=c(je,!0);u(je),j(()=>h(ze,e(r).btn?.save??"Save")),q(ke,je)},mt=ke=>{var je=i1(),ze=fe(je),tt=c(ze,!0);u(ze);var Bt=l(ze,2),ft=c(Bt,!0);u(Bt),j(()=>{h(tt,e(r).setup?.testok??"Connection successful ("+e(b).net.ip+")"),h(ft,e(r).btn?.save??"Save")}),q(ke,je)},kr=ke=>{var je=o1(),ze=c(je,!0);u(je),j(()=>h(ze,e(r).setup?.testconn??"Testing connection")),q(ke,je)},Ir=ke=>{var je=qr(),ze=fe(je),tt=ft=>{var Ft=s1(),Kt=fe(Ft),Nr=c(Kt,!0);u(Kt);var gr=l(Kt,2),_e=c(gr,!0);u(gr),j(()=>{h(Nr,(e(r).setup?.testfail??"Connection failed")+": "+(e(r).errors?.wifi?.[e(g)]??e(g))),h(_e,e(r).btn?.forcesave??"Force save")}),q(ft,Ft)},Bt=ft=>{var Ft=l1(),Kt=c(Ft,!0);u(Ft),j(()=>h(Kt,e(r).btn?.save??"Save")),Ue("click",Ft,R),q(ft,Ft)};I(ze,ft=>{e(g)?ft(tt):ft(Bt,-1)}),q(ke,je)};I(ht,ke=>{e(S)!=1?ke(ut):e(k)?ke(mt,1):e(m)?ke(kr,2):ke(Ir,-1)}),u(Ge),u(B),go(B,ke=>E(a,ke),()=>e(a)),u(C),u(O);var Tr=l(O,2);{let ke=Ce(()=>e(r).setup?.mask??"Saving");jr(Tr,{get active(){return e(o)},get message(){return e(ke)}})}j(()=>{h(se,e(r).setup?.title??"Setup"),h(qe,e(r).conf?.connection?.title??"Connection"),h(_,e(r).conf?.connection?.wifi??"Connect to WiFi"),h(y,e(r).conf?.connection?.ap??"Standalone access point"),h(We,`${e(r).conf?.general?.hostname??"Hostname"??""} `),Q(Oe,"pattern",to),h(Et,` ${e(r).setup?.static??"Static IP"??""}`)}),At(K,()=>e(S),ke=>E(S,ke)),Ue("input",K,Y),Me(Oe,()=>e(b).hostname,ke=>ee(b,e(b).hostname=ke)),hr(Ze,()=>e(p),ke=>E(p,ke)),Ue("submit",B,Pn(P)),q(t,T),yt()}var c1=F(' ',1),f1=F(' '),d1=F(' ',1),_1=F(' ',1),tv=F(''),p1=F(" ",1);function h1(t,n){xt(n,!1);let r=de(n,"chip",8);Mt();var a=p1(),s=fe(a);s.value=s.__value=-1;var f=l(s,2),i=R=>{var Y=c1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=l(T,2),B=c(C,!0);u(C),C.value=C.__value=5;var J=l(C,2),te=c(J,!0);u(J),J.value=J.__value=4;var se=l(J,2),le=c(se,!0);u(se),se.value=se.__value=3,u(H);var qe=l(H,2),K=c(qe),x=c(K,!0);u(K),K.value=K.__value=2;var _=l(K,2),w=c(_,!0);u(_),_.value=_.__value=1;var y=l(_,2),M=c(y,!0);u(y),y.value=y.__value=0,u(qe);var N=l(qe,2),z=c(N),Z=c(z,!0);u(z),z.value=z.__value=101;var ge=l(z,2),We=c(ge,!0);u(ge),ge.value=ge.__value=100,u(N),j((Oe,He,pt,Ze,Et,be,Le,Ve,ct)=>{h(O,Oe),h(B,He),h(te,pt),h(le,Ze),h(x,Et),h(w,be),h(M,Le),h(Z,Ve),h(We,ct)},[()=>($(Re),$(r()),v(()=>Re(r(),7))),()=>($(Re),$(r()),v(()=>Re(r(),5))),()=>($(Re),$(r()),v(()=>Re(r(),4))),()=>($(Re),$(r()),v(()=>Re(r(),3))),()=>($(Re),$(r()),v(()=>Re(r(),2))),()=>($(Re),$(r()),v(()=>Re(r(),1))),()=>($(Re),$(r()),v(()=>Re(r(),0))),()=>($(Re),$(r()),v(()=>Re(r(),101))),()=>($(Re),$(r()),v(()=>Re(r(),100)))]),q(R,Y)};I(f,R=>{r()=="esp8266"&&R(i)});var d=l(f,2),b=R=>{var Y=f1(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=201;var O=l(H,2),C=c(O,!0);u(O),O.value=O.__value=202;var B=l(O,2),J=c(B,!0);u(B),B.value=B.__value=203;var te=l(B,2),se=c(te,!0);u(te),te.value=te.__value=241;var le=l(te,2),qe=c(le,!0);u(le),le.value=le.__value=242;var K=l(le,2),x=c(K,!0);u(K),K.value=K.__value=243;var _=l(K,2),w=c(_,!0);u(_),_.value=_.__value=245;var y=l(_,2),M=c(y,!0);u(y),y.value=y.__value=200,u(Y),j((N,z,Z,ge,We,Oe,He,pt)=>{h(T,N),h(C,z),h(J,Z),h(se,ge),h(qe,We),h(x,Oe),h(w,He),h(M,pt)},[()=>($(Re),$(r()),v(()=>Re(r(),201))),()=>($(Re),$(r()),v(()=>Re(r(),202))),()=>($(Re),$(r()),v(()=>Re(r(),203))),()=>($(Re),$(r()),v(()=>Re(r(),241))),()=>($(Re),$(r()),v(()=>Re(r(),242))),()=>($(Re),$(r()),v(()=>Re(r(),243))),()=>($(Re),$(r()),v(()=>Re(r(),245))),()=>($(Re),$(r()),v(()=>Re(r(),200)))]),q(R,Y)};I(d,R=>{r()=="esp32"&&R(b)});var p=l(d,2),S=R=>{var Y=d1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=l(T,2),B=c(C,!0);u(C),C.value=C.__value=6;var J=l(C,2),te=c(J,!0);u(J),J.value=J.__value=5,u(H);var se=l(H,2),le=c(se),qe=c(le,!0);u(le),le.value=le.__value=51;var K=l(le,2),x=c(K,!0);u(K),K.value=K.__value=50,u(se),j((_,w,y,M,N)=>{h(O,_),h(B,w),h(te,y),h(qe,M),h(x,N)},[()=>($(Re),$(r()),v(()=>Re(r(),7))),()=>($(Re),$(r()),v(()=>Re(r(),6))),()=>($(Re),$(r()),v(()=>Re(r(),5))),()=>($(Re),$(r()),v(()=>Re(r(),51))),()=>($(Re),$(r()),v(()=>Re(r(),50)))]),q(R,Y)};I(p,R=>{r()=="esp32s2"&&R(S)});var o=l(p,2),m=R=>{var Y=_1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=8,u(H);var C=l(H,2),B=c(C),J=c(B,!0);u(B),B.value=B.__value=71;var te=l(B,2),se=c(te,!0);u(te),te.value=te.__value=70,u(C),j((le,qe,K)=>{h(O,le),h(J,qe),h(se,K)},[()=>($(Re),$(r()),v(()=>Re(r(),8))),()=>($(Re),$(r()),v(()=>Re(r(),71))),()=>($(Re),$(r()),v(()=>Re(r(),70)))]),q(R,Y)};I(o,R=>{r()=="esp32c3"&&R(m)});var k=l(o,2),g=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=200,u(Y),j(O=>h(T,O),[()=>($(Re),$(r()),v(()=>Re(r(),200)))]),q(R,Y)};I(k,R=>{r()=="esp32solo"&&R(g)});var A=l(k,2),P=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=80,u(Y),j(O=>h(T,O),[()=>($(Re),$(r()),v(()=>Re(r(),80)))]),q(R,Y)};I(A,R=>{r()=="esp32s3"&&R(P)}),q(t,a),yt()}var m1=F('
WARNING: Changing this configuration will affect basic configuration of your device. Only make changes here if instructed by vendor
'),rv=F("",1),g1=F('
HAN GPIO
'),b1=F('
Initial configuration
Board type
 
',1);function x1(t,n){xt(n,!1);let r=W({}),a=W(!1);async function s(T){E(a,!0);const O=new FormData(T.target),C=new URLSearchParams;for(let J of O){const[te,se]=J;C.append(te,se)}let B=await(await fetch("save",{method:"POST",body:C})).json();E(a,!1),Sr.update(J=>(J.vndcfg=B.success,J.booting=B.reboot,J.if.eth=J.boardType>240&&J.boardType<250,J)),Za(e(r).usrcfg?"/":"/setup")}let f=W(!0);Sr.subscribe(T=>{E(r,T),T.fwconsent===1&&E(f,!e(r).usrcfg)}),Mt();var i=b1(),d=fe(i),b=c(d),p=c(b),S=c(p),o=l(S,4),m=T=>{var O=m1();q(T,O)};I(o,T=>{e(r).usrcfg&&T(m)});var k=l(o,2),g=l(c(k),3);dn(g,()=>{var T=c(g),O=rv();h1(fe(O),{get chip(){return e(r).chip}}),q(T,O)}),u(k);var A=l(k,2),P=T=>{var O=g1(),C=l(c(O),3);dn(C,()=>{var B=c(C),J=rv();Ms(fe(J),{get chip(){return e(r).chip}}),q(B,J)}),u(O),q(T,O)};I(A,T=>{e(r).board&&e(r).board>20&&T(P)});var R=l(A,2),Y=c(R),H=c(Y);ve(H),H.value=H.__value="true",Rr(),u(Y),u(R),Rr(4),u(p),u(b),u(d),jr(l(d,2),{get active(){return e(a)},message:"Saving"}),At(g,()=>e(r).board,T=>(ee(r,e(r).board=T),G(()=>{}))),hr(H,()=>e(f),T=>E(f,T)),Ue("submit",p,Pn(s)),q(t,i),yt()}var av=F(''),y1=F('
Import
',1),w1=F('
Export
',1),k1=F('
',1);function yu(t,n){xt(n,!1);let r=de(n,"prefix",8),a=de(n,"data",12),s=de(n,"url",8),f=de(n,"basepath",8,"/"),i=W({});Gr.subscribe(le=>{E(i,le)});let d=W(!1),b=W(),p=W();async function S(){if(confirm("Clear all data?"))for(let le in a())(le.startsWith("i")||le.startsWith("e"))&&a(a()[le]=0,!0)}let o=W(!1);async function m(le){E(o,!0);const qe=new FormData(le.target),K=new URLSearchParams;for(let x of qe){const[_,w]=x;K.append(_,w)}await(await fetch(s(),{method:"POST",body:K})).json(),E(o,!1),Za(f())}mr(()=>(e(b),e(p),$(a()),$(r())),()=>{E(b,[]),E(p,[]);for(let le in a()){let qe=[];le.startsWith("i")?qe=e(b):le.startsWith("e")&&(qe=e(p),a()[le]&&E(d,!0)),qe.push({key:le,name:r()+" "+le.substring(1),value:a()[le]})}}),wr(),Mt();var k=k1(),g=fe(k),A=c(g),P=c(A),R=le=>{var qe=y1(),K=l(fe(qe),2);Gt(K,5,()=>e(b),Yt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=l(y,2);ve(N),Rr(2),u(w),j(()=>{h(M,(e(_),v(()=>e(_).name))),Q(N,"name",(e(_),v(()=>e(_).key)))}),Me(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(K),q(le,qe)};I(P,le=>{e(b)&&le(R)});var Y=l(P,2),H=le=>{var qe=w1(),K=l(fe(qe),2);Gt(K,5,()=>e(p),Yt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=l(y,2);ve(N),Rr(2),u(w),j(()=>{h(M,(e(_),v(()=>e(_).name))),Q(N,"name",(e(_),v(()=>e(_).key)))}),Me(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(K),q(le,qe)};I(Y,le=>{e(p)&&e(d)&&le(H)});var T=l(Y,2),O=c(T),C=c(O);u(O);var B=l(O,2),J=c(B),te=c(J,!0);u(J),u(B),u(T),u(A),u(g);var se=l(g,2);{let le=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.saving??"Saving")));jr(se,{get active(){return e(o)},get message(){return e(le)}})}j(()=>h(te,(e(i),v(()=>e(i).btn?.save??"Save")))),Ue("click",C,S),Ue("submit",g,Pn(m)),q(t,k),yt()}function $1(t,n){xt(n,!1);let r="/",a=W();Vs.subscribe(s=>E(a,s)),Mt(),yu(t,{prefix:"UTC Hour",get data(){return e(a)},url:"/dayplot",basepath:r}),yt()}function S1(t,n){xt(n,!1);let r="/",a=W();Xs.subscribe(s=>E(a,s)),Mt(),yu(t,{prefix:"Day",get data(){return e(a)},url:"/monthplot",basepath:r}),yt()}var q1=F('
');function M1(t,n){xt(n,!1);let r=W(document.getElementsByTagName("base")[0].getAttribute("href"));e(r)||E(r,"/");let a={};Gr.subscribe(k=>{a=k});let s,f=W({}),i=W({}),d;Sr.subscribe(k=>{E(i,k),e(i).vndcfg===!1?Za("/vendor"):e(i).usrcfg===!1?Za("/setup"):e(i).fwconsent===0&&Za("/consent"),e(i).ui.k===1?document.documentElement.classList.add("dark"):e(i).ui.k===0?document.documentElement.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),e(i).ui.lang&&e(i).ui.lang!=a?.language?.code&&pu(e(i).ui.lang),e(i).version&&d&&e(i).version!=d&&window.location.reload(),d=e(i).version,s&&clearTimeout(s),s=setTimeout(pn,!e(f)||!e(f).u||e(f).u<30||e(i)?.upgrading?1e4:3e5)}),Co.subscribe(k=>{E(f,k),Cd(k)}),du(),Mt();var b=q1(),p=c(b);td(p,{get data(){return e(f)},get basepath(){return e(r)}});var S=l(p,2);{let k=Ce(()=>({"/":zd,"/configuration":_p,"/priceconfig":Bp,"/status":Fp,"/mqtt-ca":Hp,"/mqtt-cert":Yp,"/mqtt-key":Kp,"/consent":Xp,"/setup":u1,"/vendor":x1,"/edit-day":$1,"/edit-month":S1}));Tf(S,{get routes(){return e(k)}})}var o=l(S,2),m=k=>{var g=qr(),A=fe(g),P=Y=>{jr(Y,{active:"true",get message(){return`Device is booting, please wait. Trying to reach it on ${e(i).trying??""}`}})},R=Y=>{jr(Y,{active:"true",message:"Device is booting, please wait"})};I(A,Y=>{e(i).trying?Y(P):Y(R,-1)}),q(k,g)};I(o,k=>{e(i).booting&&k(m)}),u(b),q(t,b),yt()}var D1=Po(M1,{target:document.getElementById("app")}); +var qu=Object.create,nv=Object.defineProperty,Mu=Object.getOwnPropertyDescriptor,Eu=Object.getOwnPropertyNames,Tu=Object.getPrototypeOf,Au=Object.prototype.hasOwnProperty,Pu=(t,n)=>()=>(n||(t((n={exports:{}}).exports,n),t=null),n.exports),Ou=(t,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(var o=Eu(n),f=0,i=o.length,d;fn[b]).bind(null,d),enumerable:!(a=Mu(n,d))||a.enumerable});return t},Cu=(t,n,r)=>(r=t!=null?qu(Tu(t)):{},Ou(n||!t||!t.__esModule?nv(r,"default",{value:t,enumerable:!0}):r,t));(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))a(o);new MutationObserver(o=>{for(const f of o)if(f.type==="childList")for(const i of f.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&a(i)}).observe(document,{childList:!0,subtree:!0});function r(o){const f={};return o.integrity&&(f.integrity=o.integrity),o.referrerPolicy&&(f.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?f.credentials="include":o.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function a(o){if(o.ep)return;o.ep=!0;const f=r(o);fetch(o.href,f)}})();var Ai=Array.isArray,Nu=Array.prototype.indexOf,ns=Array.prototype.includes,bs=Array.from,nl=Object.keys,iv=Object.defineProperty,Wa=Object.getOwnPropertyDescriptor,sv=Object.getOwnPropertyDescriptors,Lu=Object.prototype,Du=Array.prototype,Eo=Object.getPrototypeOf,il=Object.isExtensible;function si(t){return typeof t=="function"}var gn=()=>{};function Ru(t){return t()}function is(t){for(var n=0;n{t=r,n=a}),resolve:t,reject:n}}function $i(t){"@babel/helpers - typeof";return $i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},$i(t)}function ju(t,n){if($i(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var a=r.call(t,n||"default");if($i(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function Fu(t){var n=ju(t,"string");return $i(n)=="symbol"?n:n+""}function pr(t,n,r){return(n=Fu(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}var E1=1<<24,pa=1024,xa=2048,en=4096,To=8192,Iu=16384,Ao=32768,sl=1<<25,xs=65536,T1=1<<17,A1=1<<18,Jn=1<<19,lv=1<<20,bi=1<<25,Pi=65536,ol=1<<21,Wu=1<<22,ss=1<<23,Na=Symbol("$state"),Po=Symbol("legacy props"),Bu=Symbol(""),Uu=Symbol("proxy path"),Js=Symbol("attributes"),eo=Symbol("class"),to=Symbol("style"),Qi=Symbol("text"),xi=Symbol("form reset");var ys=new class extends Error{constructor(...n){super(...n),pr(this,"name","StaleReactionError"),pr(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},vv=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function ws(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Hu(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function zu(t,n,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Yu(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Gu(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ku(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Vu(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Xu(){throw new Error("https://svelte.dev/e/hydration_failed")}function Qu(t){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Zu(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ju(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ec(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function tc(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function rc(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}var Vn={},Cr=Symbol("uninitialized");function ac(){console.warn("https://svelte.dev/e/derived_inert")}function ks(t){console.warn("https://svelte.dev/e/hydration_mismatch")}function nc(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ic(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}var ot=!1;function sa(t){ot=t}var $t;function Br(t){if(t===null)throw ks(),Vn;return $t=t}function Oi(){return Br(Da($t))}function u(t){if(ot){if(Da($t)!==null)throw ks(),Vn;$t=t}}function Ir(t=1){if(ot){for(var n=t,r=$t;n--;)r=Da(r);$t=r}}function Si(t=!0){for(var n=0,r=$t;;){if(r.nodeType===8){var a=r.data;if(a==="]"){if(n===0)return r;n-=1}else(a==="["||a==="[!"||a[0]==="["&&!isNaN(Number(a.slice(1))))&&(n+=1)}var o=Da(r);t&&r.remove(),r=o}}function Oo(t){if(!t||t.nodeType!==8)throw ks(),Vn;return t.data}function uv(t){return t===this.v}function Co(t,n){return t!=t?n==n:t!==n||t!==null&&typeof t=="object"||typeof t=="function"}function cv(t){return!Co(t,this.v)}var ha=!1,ei=!1;function sc(){ei=!0}function ll(t,n){return t.label=n,oc(t.v,n),t}function oc(t,n){return t?.[Uu]?.(n),t}var Dt=null;function Xn(t){Dt=t}function xt(t,n=!1,r){Dt={p:Dt,i:!1,c:null,e:null,s:t,x:null,r:lt,l:ei&&!n?{s:null,u:null,$:[]}:null}}function yt(t){var n=Dt,r=n.e;if(r!==null){n.e=null;for(var a of r)Iv(a)}return t!==void 0&&(n.x=t),n.i=!0,Dt=n.p,t??{}}function Ci(){return!ei||Dt!==null&&Dt.l===null}var cn=[];function fv(){var t=cn;cn=[],is(t)}function Ua(t){if(cn.length===0&&!yi){var n=cn;queueMicrotask(()=>{n===cn&&fv()})}cn.push(t)}function lc(){for(;cn.length>0;)fv()}function dv(t){var n=lt;if(n===null)return kt.f|=ss,t;if((n.f&32768)===0&&(n.f&4)===0)throw t;Qa(t,n)}function Qa(t,n){if(!(n!==null&&(n.f&16384)!==0)){for(;n!==null;){if((n.f&128)!==0){if((n.f&32768)===0)throw t;try{n.b.error(t);return}catch(r){t=r}}n=n.parent}throw t}}var vc=~(xa|en|pa);function wr(t,n){t.f=t.f&vc|n}function No(t){(t.f&512)!==0||t.deps===null?wr(t,pa):wr(t,en)}function _v(t){if(t!==null)for(const n of t)(n.f&2)===0||(n.f&65536)===0||(n.f^=Pi,_v(n.deps))}function pv(t,n,r){(t.f&2048)!==0?n.add(t):(t.f&4096)!==0&&r.add(t),_v(t.deps),wr(t,pa)}function uc(t,n,r){if(t==null)return n(void 0),r&&r(void 0),gn;const a=v(()=>t.subscribe(n,r));return a.unsubscribe?()=>a.unsubscribe():a}var Rn=[];function Lo(t,n){return{subscribe:ea(t,n).subscribe}}function ea(t,n=gn){let r=null;const a=new Set;function o(d){if(Co(t,d)&&(t=d,r)){const b=!Rn.length;for(const p of a)p[1](),Rn.push(p,t);if(b){for(let p=0;p{a.delete(p),a.size===0&&r&&(r(),r=null)}}return{set:o,update:f,subscribe:i}}function hv(t,n,r){const a=!Array.isArray(t),o=a?[t]:t;if(!o.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const f=n.length<2;return Lo(r,(i,d)=>{let b=!1;const p=[];let S=0,s=gn;const m=()=>{if(S)return;s();const g=n(a?p[0]:p,i,d);f?i(g):s=typeof g=="function"?g:gn},k=o.map((g,A)=>uc(g,P=>{p[A]=P,S&=~(1<{S|=1<{Bo()&&(e(r),za(()=>(n===0&&(a=v(()=>t(()=>wi(r)))),n+=1,()=>{Ua(()=>{n-=1,n===0&&(a?.(),a=void 0,wi(r))})})))}}function mv(t,n){if(n.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Do(t,n){mv(t,n),n.add(t)}function tt(t,n,r){mv(t,n),n.set(t,r)}function _t(t,n,r){if(typeof t=="function"?t===n:t.has(n))return arguments.length<3?n:r;throw new TypeError("Private element is not present on this object")}function Ke(t,n,r){return t.set(_t(t,n),r),r}function L(t,n){return t.get(_t(t,n))}var _c=xs|Jn;function pc(t,n,r,a){new hc(t,n,r,a)}var $a=new WeakMap,ro=new WeakMap,Ca=new WeakMap,qi=new WeakMap,ca=new WeakMap,La=new WeakMap,oa=new WeakMap,wa=new WeakMap,bn=new WeakMap,In=new WeakMap,xn=new WeakMap,Ii=new WeakMap,ao=new WeakMap,no=new WeakMap,nn=new WeakMap,vl=new WeakMap,Yr=new WeakSet,hc=class{constructor(t,n,r,a){Do(this,Yr),pr(this,"parent",void 0),pr(this,"is_pending",!1),pr(this,"transform_error",void 0),tt(this,$a,void 0),tt(this,ro,ot?$t:null),tt(this,Ca,void 0),tt(this,qi,void 0),tt(this,ca,void 0),tt(this,La,null),tt(this,oa,null),tt(this,wa,null),tt(this,bn,null),tt(this,In,0),tt(this,xn,0),tt(this,Ii,!1),tt(this,ao,new Set),tt(this,no,new Set),tt(this,nn,null),tt(this,vl,dc(()=>(Ke(nn,this,Mn(L(In,this))),()=>{Ke(nn,this,null)}))),Ke($a,this,t),Ke(Ca,this,n),Ke(qi,this,o=>{var f=lt;f.b=this,f.f|=128,r(o)}),this.parent=lt.b,this.transform_error=a??this.parent?.transform_error??(o=>o),Ke(ca,this,Ts(()=>{if(ot){const o=L(ro,this);Oi();const f=o.data==="[!";if(o.data.startsWith("[?")){const i=JSON.parse(o.data.slice(2));_t(Yr,this,gc).call(this,i)}else f?_t(Yr,this,bc).call(this):_t(Yr,this,mc).call(this)}else _t(Yr,this,gv).call(this)},_c)),ot&&Ke($a,this,$t)}defer_effect(t){pv(t,L(ao,this),L(no,this))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!L(Ca,this).pending}update_pending_count(t,n){_t(Yr,this,bv).call(this,t,n),Ke(In,this,L(In,this)+t),!(!L(nn,this)||L(Ii,this))&&(Ke(Ii,this,!0),Ua(()=>{Ke(Ii,this,!1),L(nn,this)&&En(L(nn,this),L(In,this))}))}get_effect_pending(){return L(vl,this).call(this),e(L(nn,this))}error(t){if(!L(Ca,this).onerror&&!L(Ca,this).failed)throw t;Qe?.is_fork?(L(La,this)&&Qe.skip_effect(L(La,this)),L(oa,this)&&Qe.skip_effect(L(oa,this)),L(wa,this)&&Qe.skip_effect(L(wa,this)),Qe.oncommit(()=>{_t(Yr,this,ul).call(this,t)})):_t(Yr,this,ul).call(this,t)}};function mc(){try{Ke(La,this,ma(()=>L(qi,this).call(this,L($a,this))))}catch(t){this.error(t)}}function gc(t){const n=L(Ca,this).failed;n&&Ke(wa,this,ma(()=>{n(L($a,this),()=>t,()=>()=>{})}))}function bc(){const t=L(Ca,this).pending;t&&(this.is_pending=!0,Ke(oa,this,ma(()=>t(L($a,this)))),Ua(()=>{var n=Ke(bn,this,document.createDocumentFragment()),r=Jr();n.append(r),Ke(La,this,_t(Yr,this,io).call(this,()=>ma(()=>L(qi,this).call(this,r)))),L(xn,this)===0&&(L($a,this).before(n),Ke(bn,this,null),Pn(L(oa,this),()=>{Ke(oa,this,null)}),_t(Yr,this,Ro).call(this,Qe))}))}function gv(){try{if(this.is_pending=this.has_pending_snippet(),Ke(xn,this,0),Ke(In,this,0),Ke(La,this,ma(()=>{L(qi,this).call(this,L($a,this))})),L(xn,this)>0){var t=Ke(bn,this,document.createDocumentFragment());Ho(L(La,this),t);const n=L(Ca,this).pending;Ke(oa,this,ma(()=>n(L($a,this))))}else _t(Yr,this,Ro).call(this,Qe)}catch(n){this.error(n)}}function Ro(t){this.is_pending=!1,t.transfer_effects(L(ao,this),L(no,this))}function io(t){var n=lt,r=kt,a=Dt;ba(L(ca,this)),ga(L(ca,this)),Xn(L(ca,this).ctx);try{return An.ensure(),t()}catch(o){return dv(o),null}finally{ba(n),ga(r),Xn(a)}}function bv(t,n){if(!this.has_pending_snippet()){if(this.parent){var r;_t(Yr,r=this.parent,bv).call(r,t,n)}return}Ke(xn,this,L(xn,this)+t),L(xn,this)===0&&(_t(Yr,this,Ro).call(this,n),L(oa,this)&&Pn(L(oa,this),()=>{Ke(oa,this,null)}),L(bn,this)&&(L($a,this).before(L(bn,this)),Ke(bn,this,null)))}function ul(t){L(La,this)&&(Vr(L(La,this)),Ke(La,this,null)),L(oa,this)&&(Vr(L(oa,this)),Ke(oa,this,null)),L(wa,this)&&(Vr(L(wa,this)),Ke(wa,this,null)),ot&&(Br(L(ro,this)),Ir(),Br(Si()));var n=L(Ca,this).onerror;let r=L(Ca,this).failed;var a=!1,o=!1;const f=()=>{if(a){ic();return}a=!0,o&&rc(),L(wa,this)!==null&&Pn(L(wa,this),()=>{Ke(wa,this,null)}),_t(Yr,this,io).call(this,()=>{_t(Yr,this,gv).call(this)})},i=d=>{try{o=!0,n?.(d,f),o=!1}catch(b){Qa(b,L(ca,this)&&L(ca,this).parent)}r&&Ke(wa,this,_t(Yr,this,io).call(this,()=>{try{return ma(()=>{var b=lt;b.b=this,b.f|=128,r(L($a,this),()=>d,()=>f)})}catch(b){return Qa(b,L(ca,this).parent),null}}))};Ua(()=>{var d;try{d=this.transform_error(t)}catch(b){Qa(b,L(ca,this)&&L(ca,this).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(i,b=>Qa(b,L(ca,this)&&L(ca,this).parent)):i(d)})}function xc(t,n,r,a){const o=Ci()?Qn:Ce;var f=t.filter(k=>!k.settled),i=n.map(o);if(r.length===0&&f.length===0){a(i);return}var d=lt,b=yc(),p=f.length===1?f[0].promise:f.length>1?Promise.all(f.map(k=>k.promise)):null;function S(k){if((d.f&16384)===0){b();try{a([...i,...k])}catch(g){Qa(g,d)}os()}}var s=xv();if(r.length===0){p.then(()=>S([])).finally(s);return}function m(){Promise.all(r.map(k=>wc(k))).then(S).catch(k=>Qa(k,d)).finally(s)}p?p.then(()=>{b(),m(),os()}):m()}function yc(){var t=lt,n=kt,r=Dt,a=Qe;if(0)var o;return function(i=!0){ba(t),ga(n),Xn(r),i&&(t.f&16384)===0&&(a?.activate(),a?.apply())}}function os(t=!0){ba(null),ga(null),Xn(null),t&&Qe?.deactivate()}function xv(){var t=lt,n=t.b,r=Qe,a=!!n?.is_rendered();return n?.update_pending_count(1,r),r.increment(a,t),()=>{n?.update_pending_count(-1,r),r.decrement(a,t)}}function Qn(t){var n=2|xa;return lt!==null&&(lt.f|=Jn),{ctx:Dt,deps:null,effects:null,equals:uv,f:n,fn:t,reactions:null,rv:0,v:Cr,wv:0,parent:lt,ac:null}}var fi=Symbol("obsolete");function wc(t,n,r){let a=lt;a===null&&Hu();var o=void 0,f=Mn(Cr),i=!kt,d=new Set;return Ic(()=>{var b=lt,p=ov();o=p.promise;try{Promise.resolve(t()).then(p.resolve,k=>{k!==ys&&p.reject(k)}).finally(os)}catch(k){p.reject(k),os()}var S=Qe;if(i){if((b.f&32768)!==0)var s=xv();if(a.b?.is_rendered())S.async_deriveds.get(b)?.reject(fi);else for(const k of d.values())k.reject(fi);d.add(p),S.async_deriveds.set(b,p)}const m=(k,g=void 0)=>{s?.(),d.delete(p),g!==fi&&(S.activate(),g?(f.f|=ss,En(f,g)):((f.f&8388608)!==0&&(f.f^=ss),En(f,k)),S.deactivate())};p.promise.then(m,k=>m(null,k||"unknown"))}),Ms(()=>{for(const b of d)b.reject(fi)}),new Promise(b=>{function p(S){function s(){S===o?b(f):p(o)}S.then(s,s)}p(o)})}function er(t){const n=Qn(t);return ha||zv(n),n}function Ce(t){const n=Qn(t);return n.equals=cv,n}function kc(t){var n=t.effects;if(n!==null){t.effects=null;for(var r=0;rthis.schedule(a)){var a=L(Xa,this).get(n);if(a){L(Xa,this).delete(n);for(var o of a.d)wr(o,xa),r(o);for(o of a.m)wr(o,en),r(o)}L(Zi,this).add(n)}capture(n,r,a=!1){n.v!==Cr&&!this.previous.has(n)&&this.previous.set(n,n.v),(n.f&8388608)===0&&(this.current.set(n,[r,a]),Kr?.set(n,r)),this.is_fork||(n.v=r)}activate(){Qe=this}deactivate(){Qe=null,Kr=null}flush(){try{Rs=!0,Qe=this,_t(Sr,this,fs).call(this)}finally{$v=0,so=null,Zn=null,vs=null,Rs=!1,Qe=null,Kr=null,wn.clear()}}discard(){for(const n of L(Wi,this))n(this);L(Wi,this).clear();for(const n of this.async_deriveds.values())n.reject(fi);_t(Sr,this,ds).call(this),L(di,this)?.resolve()}register_created_effect(n){L(oo,this).push(n)}increment(n,r){if(Ke(Bn,this,L(Bn,this)+1),n){let a=L(ln,this).get(r)??0;L(ln,this).set(r,a+1)}}decrement(n,r){if(Ke(Bn,this,L(Bn,this)-1),n){let a=L(ln,this).get(r)??0;a===1?L(ln,this).delete(r):L(ln,this).set(r,a-1)}L(_i,this)||(Ke(_i,this,!0),Ua(()=>{Ke(_i,this,!1),this.linked&&this.flush()}))}transfer_effects(n,r){for(const a of n)L(qn,this).add(a);for(const a of r)L(Ba,this).add(a);n.clear(),r.clear()}oncommit(n){L(cs,this).add(n)}ondiscard(n){L(Wi,this).add(n)}settled(){return(L(di,this)??Ke(di,this,ov())).promise}static ensure(){if(Qe===null){const n=Qe=new Sv;!Rs&&!yi&&Ua(()=>{L(us,n)||n.flush()})}return Qe}apply(){if(!ha||!this.is_fork&&L(yn,this)===null&&L(fn,this)===null){Kr=null;return}Kr=new Map;for(const[r,[a]]of this.current)Kr.set(r,a);for(let r=ls;r!==null;r=L(fn,r))if(!(r===this||r.is_fork)){var n=!1;if(r.id1e3&&(_t(Sr,this,ds).call(this),Tc());for(const d of L(qn,this))L(Ba,this).delete(d),wr(d,xa),this.schedule(d);for(const d of L(Ba,this))wr(d,en),this.schedule(d);const t=L(fa,this);Ke(fa,this,[]),this.apply();var n=Zn=[],r=[],a=vs=[];for(const d of t)try{_t(Sr,this,qv).call(this,d,n,r)}catch(b){throw Av(d),_t(Sr,this,cl).call(this)||this.discard(),b}if(Qe=null,a.length>0){var o=kv.ensure();for(const d of a)o.schedule(d)}if(Zn=null,vs=null,_t(Sr,this,cl).call(this)){_t(Sr,this,pi).call(this,r),_t(Sr,this,pi).call(this,n);for(const[d,b]of L(Xa,this))Tv(d,b);a.length>0&&_t(Sr,Qe,fs).call(Qe);return}const f=_t(Sr,this,qc).call(this);if(f){_t(Sr,this,pi).call(this,r),_t(Sr,this,pi).call(this,n),_t(Sr,f,Mc).call(f,this);return}L(qn,this).clear(),L(Ba,this).clear();for(const d of L(cs,this))d(this);L(cs,this).clear(),Mi=this,fl(r),fl(n),Mi=null,L(di,this)?.resolve();var i=Qe;if(L(Bn,this)===0&&(L(fa,this).length===0||i!==null)&&(_t(Sr,this,ds).call(this),ha&&(_t(Sr,this,Ec).call(this),Qe=i)),L(fa,this).length>0)if(i!==null){const d=i;L(fa,d).push(...L(fa,this).filter(b=>!L(fa,d).includes(b)))}else i=this;i!==null&&_t(Sr,i,fs).call(i)}function qv(t,n,r){t.f^=pa;for(var a=t.first;a!==null;){var o=a.f,f=(o&96)!==0;if(!(f&&(o&1024)!==0||(o&8192)!==0||L(Xa,this).has(a))&&a.fn!==null){f?a.f^=pa:(o&4)!==0?n.push(a):ha&&(o&16777224)!==0?r.push(a):ti(a)&&((o&16)!==0&&L(Ba,this).add(a),Tn(a));var i=a.first;if(i!==null){a=i;continue}}for(;a!==null;){var d=a.next;if(d!==null){a=d;break}a=a.parent}}}function qc(){for(var t=L(yn,this);t!==null;){if(!t.is_fork){for(const[n,[,r]]of this.current)if(t.current.has(n)&&!r)return t}t=L(yn,t)}return null}function Mc(t){for(const[r,a]of t.current)!this.previous.has(r)&&t.previous.has(r)&&this.previous.set(r,t.previous.get(r)),this.current.set(r,a);for(const[r,a]of t.async_deriveds){const o=this.async_deriveds.get(r);o&&a.promise.then(o.resolve).catch(o.reject)}t.async_deriveds.clear(),this.transfer_effects(L(qn,t),L(Ba,t));const n=r=>{var a=r.reactions;if(a!==null)for(const i of a){var o=i.f;if((o&2)!==0)n(i);else{var f=i;o&4194320&&!this.async_deriveds.has(f)&&(L(Ba,this).delete(f),wr(f,xa),this.schedule(f))}}};for(const r of this.current.keys())n(r);this.oncommit(()=>t.discard()),_t(Sr,t,ds).call(t),Qe=this,_t(Sr,this,fs).call(this)}function pi(t){for(var n=0;n!S.current.get(s)[1]);if(!(!L(us,S)||a.length===0)){var o=a.filter(s=>!this.current.has(s));if(o.length===0)t&&S.discard();else if(n.length>0){if(t)for(const s of L(Zi,this))S.unskip_effect(s,m=>{(m.f&4194320)!==0?S.schedule(m):_t(Sr,S,pi).call(S,[m])});S.activate();var f=new Set,i=new Map;for(var d of n)Ev(d,o,f,i);i=new Map;var b=[...S.current].filter(([s,m])=>{const k=this.current.get(s);return k?k[0]!==m[0]||k[1]!==m[1]:!0}).map(([s])=>s);if(b.length>0)for(const s of L(oo,this))(s.f&155648)===0&&Fo(s,b,i)&&((s.f&4194320)!==0?(wr(s,xa),S.schedule(s)):L(qn,S).add(s));if(L(fa,S).length>0&&!L(_i,S)){S.apply();for(var p of L(fa,S))_t(Sr,S,qv).call(S,p,[],[]);Ke(fa,S,[])}S.deactivate()}}}}function ds(){if(this.linked){var t=L(yn,this),n=L(fn,this);t===null?ls=n:Ke(fn,t,n),n===null?Wn=t:Ke(yn,n,t),this.linked=!1}}function Mv(t){var n=yi;yi=!0;try{var r;for(t&&(Qe!==null&&!Qe.is_fork&&Qe.flush(),r=t());;){if(lc(),Qe===null)return r;Qe.flush()}}finally{yi=n}}function Tc(){if(0){var t;for(const r of Qe.current.keys())for(const[a,o]of r.updated??[])var n}try{Vu()}catch(r){Qa(r,so)}}var Pa=null;function fl(t){var n=t.length;if(n!==0){for(var r=0;r0)){wn.clear();for(const o of Pa){if((o.f&24576)!==0)continue;const f=[o];let i=o.parent;for(;i!==null;)Pa.has(i)&&(Pa.delete(i),f.push(i)),i=i.parent;for(let d=f.length-1;d>=0;d--){const b=f[d];(b.f&24576)===0&&Tn(b)}}Pa.clear()}}Pa=null}}function Ev(t,n,r,a){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const o of t.reactions){const f=o.f;(f&2)!==0?Ev(o,n,r,a):(f&4194320)!==0&&(f&2048)===0&&Fo(o,n,a)&&(wr(o,xa),Io(o))}}function Fo(t,n,r){const a=r.get(t);if(a!==void 0)return a;if(t.deps!==null)for(const o of t.deps){if(ns.call(n,o))return!0;if((o.f&2)!==0&&Fo(o,n,r))return r.set(o,!0),!0}return r.set(t,!1),!1}function Io(t){Qe.schedule(t)}function Tv(t,n){if(!((t.f&32)!==0&&(t.f&1024)!==0)){(t.f&2048)!==0?n.d.push(t):(t.f&4096)!==0&&n.m.push(t),wr(t,pa);for(var r=t.first;r!==null;)Tv(r,n),r=r.next}}function Av(t){wr(t,pa);for(var n=t.first;n!==null;)Av(n),n=n.next}var _s=new Set,wn=new Map;var Pv=!1;function Mn(t,n){var r={f:0,v:t,reactions:null,equals:uv,rv:0,wv:0};return r}function Ya(t,n){const r=Mn(t,n);return zv(r),r}function W(t,n=!1,r=!0){const a=Mn(t);if(n||(a.equals=cv),ei&&r&&Dt!==null&&Dt.l!==null){var o;((o=Dt.l).s??(o.s=[])).push(a)}return a}function ee(t,n){return E(t,v(()=>e(t))),n}function E(t,n,r=!1){kt!==null&&(!ka||(kt.f&131072)!==0)&&Ci()&&(kt.f&4325394)!==0&&(Sa===null||!Sa.has(t))&&tc();let a=r?Yn(n):n;return En(t,a,vs)}function En(t,n,r=null){if(!t.equals(n)){wn.set(t,Ha?n:t.v);var a=An.ensure();if(a.capture(t,n),(t.f&2)!==0){const o=t;(t.f&2048)!==0&&jo(o),Kr===null&&No(o)}t.wv=Gv(),Ov(t,xa,r),Ci()&<!==null&&(lt.f&1024)!==0&&(lt.f&96)===0&&(ua===null?Hc([t]):ua.push(t)),!a.is_fork&&_s.size>0&&!Pv&&Ac()}return n}function Ac(){Pv=!1;for(const t of _s){(t.f&1024)!==0&&wr(t,en);let n;try{n=ti(t)}catch{n=!0}n&&Tn(t)}_s.clear()}function wi(t){E(t,t.v+1)}function Ov(t,n,r){var a=t.reactions;if(a!==null)for(var o=Ci(),f=a.length,i=0;i{if(kn===i)return s();var m=kt,k=kn;ga(null),ml(i);var g=s();return ga(m),ml(k),g};a&&r.set("length",Ya(t.length,f));var b="";let p=!1;function S(s){if(!p){p=!0,b=s,ll(o,`${b} version`);for(const[m,k]of r)ll(k,Oc(b,m));p=!1}}return new Proxy(t,{defineProperty(s,m,k){(!("value"in k)||k.configurable===!1||k.enumerable===!1||k.writable===!1)&&Ju();var g=r.get(m);return g===void 0?d(()=>{var A=Ya(k.value,f);return r.set(m,A),A}):E(g,k.value,!0),!0},deleteProperty(s,m){var k=r.get(m);if(k===void 0){if(m in s){const g=d(()=>Ya(Cr,f));r.set(m,g),wi(o)}}else E(k,Cr),wi(o);return!0},get(s,m,k){if(m===Na)return t;var g=r.get(m),A=m in s;if(g===void 0&&(!A||Wa(s,m)?.writable)&&(g=d(()=>{var R=Ya(Yn(A?s[m]:Cr),f);return R}),r.set(m,g)),g!==void 0){var P=e(g);return P===Cr?void 0:P}return Reflect.get(s,m,k)},getOwnPropertyDescriptor(s,m){var k=Reflect.getOwnPropertyDescriptor(s,m);if(k&&"value"in k){var g=r.get(m);g&&(k.value=e(g))}else if(k===void 0){var A=r.get(m),P=A?.v;if(A!==void 0&&P!==Cr)return{enumerable:!0,configurable:!0,value:P,writable:!0}}return k},has(s,m){if(m===Na)return!0;var k=r.get(m),g=k!==void 0&&k.v!==Cr||Reflect.has(s,m);return(k!==void 0||lt!==null&&(!g||Wa(s,m)?.writable))&&(k===void 0&&(k=d(()=>{var A=Ya(g?Yn(s[m]):Cr,f);return A}),r.set(m,k)),e(k)===Cr)?!1:g},set(s,m,k,g){var A=r.get(m),P=m in s;if(a&&m==="length")for(var R=k;RYa(Cr,f)),r.set(R+"",Y))}if(A===void 0)(!P||Wa(s,m)?.writable)&&(A=d(()=>Ya(void 0,f)),E(A,Yn(k)),r.set(m,A));else{P=A.v!==Cr;var H=d(()=>Yn(k));E(A,H)}var T=Reflect.getOwnPropertyDescriptor(s,m);if(T?.set&&T.set.call(g,k),!P){if(a&&typeof m=="string"){var O=r.get("length"),C=Number(m);Number.isInteger(C)&&C>=O.v&&E(O,C+1)}wi(o)}return!0},ownKeys(s){e(o);var m=Reflect.ownKeys(s).filter(A=>{var P=r.get(A);return P===void 0||P.v!==Cr});for(var[k,g]of r)g.v!==Cr&&!(k in s)&&m.push(k);return m},setPrototypeOf(){ec()}})}function Oc(t,n){return typeof n=="symbol"?`${t}[Symbol(${n.description??""})]`:Pc.test(n)?`${t}.${n}`:/^\d+$/.test(n)?`${t}[${n}]`:`${t}['${n}']`}function dl(t){try{if(t!==null&&typeof t=="object"&&Na in t)return t[Na]}catch{}return t}function Cc(t,n){return Object.is(dl(t),dl(n))}var _l,Nc,Cv,Nv,Lv;function lo(){if(_l===void 0){_l=window,Nc=document,Cv=/Firefox/.test(navigator.userAgent);var t=Element.prototype,n=Node.prototype,r=Text.prototype;Nv=Wa(n,"firstChild").get,Lv=Wa(n,"nextSibling").get,il(t)&&(t[eo]=void 0,t[Js]=null,t[to]=void 0,t.__e=void 0),il(r)&&(r[Qi]=void 0)}}function Jr(t=""){return document.createTextNode(t)}function _a(t){return Nv.call(t)}function Da(t){return Lv.call(t)}function c(t,n){if(!ot)return _a(t);var r=_a($t);if(r===null)r=$t.appendChild(Jr());else if(n&&r.nodeType!==3){var a=Jr();return r?.before(a),Br(a),a}return n&&$s(r),Br(r),r}function fe(t,n=!1){if(!ot){var r=_a(t);return r instanceof Comment&&r.data===""?Da(r):r}if(n){if($t?.nodeType!==3){var a=Jr();return $t?.before(a),Br(a),a}$s($t)}return $t}function l(t,n=1,r=!1){let a=ot?$t:t;for(var o;n--;)o=a,a=Da(a);if(!ot)return a;if(r){if(a?.nodeType!==3){var f=Jr();return a===null?o?.after(f):a.before(f),Br(f),f}$s(a)}return Br(a),a}function Dv(t){t.textContent=""}function Rv(){return!ha||Pa!==null?!1:(lt.f&Ao)!==0}function Wo(t,n,r){return n==null||n==="http://www.w3.org/1999/xhtml"?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(n,t,{is:r}):document.createElementNS(n,t)}function Lc(t=""){return document.createComment(t)}function $s(t){if(t.nodeValue.length<65536)return;let n=t.nextSibling;for(;n!==null&&n.nodeType===3;)n.remove(),t.nodeValue+=n.nodeValue,n=t.nextSibling}var pl=!1;function jv(){pl||(pl=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{if(!t.defaultPrevented)for(const n of t.target.elements)n[xi]?.()})},{capture:!0}))}function Ss(t){var n=kt,r=lt;ga(null),ba(null);try{return t()}finally{ga(n),ba(r)}}function qs(t,n,r,a=r){t.addEventListener(n,()=>Ss(r));const o=t[xi];o?t[xi]=()=>{o(),a(!0)}:t[xi]=()=>a(!0),jv()}function Fv(t){lt===null&&(kt===null&&Ku(t),Gu()),Ha&&Yu(t)}function Dc(t,n){var r=n.last;r===null?n.last=n.first=t:(r.next=t,t.prev=r,n.last=t)}function Ma(t,n){var r=lt;r!==null&&(r.f&8192)!==0&&(t|=To);var a={ctx:Dt,deps:null,nodes:null,f:t|xa|512,first:null,fn:n,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};Qe?.register_created_effect(a);var o=a;if((t&4)!==0)Zn!==null?Zn.push(a):An.ensure().schedule(a);else if(n!==null){try{Tn(a)}catch(i){throw Vr(a),i}o.deps===null&&o.teardown===null&&o.nodes===null&&o.first===o.last&&(o.f&524288)===0&&(o=o.first,(t&16)!==0&&(t&65536)!==0&&o!==null&&(o.f|=xs))}if(o!==null&&(o.parent=r,r!==null&&Dc(o,r),kt!==null&&(kt.f&2)!==0&&(t&64)===0)){var f=kt;(f.effects??(f.effects=[])).push(o)}return a}function Bo(){return kt!==null&&!ka}function Ms(t){const n=Ma(8,null);return wr(n,pa),n.teardown=t,n}function vo(t){Fv("$effect");var n=lt.f;if(!kt&&(n&32)!==0&&Dt!==null&&!Dt.i){var r=Dt;(r.e??(r.e=[])).push(t)}else return Iv(t)}function Iv(t){return Ma(4|lv,t)}function Rc(t){return Fv("$effect.pre"),Ma(8|lv,t)}function jc(t){An.ensure();const n=Ma(64|Jn,t);return()=>{Vr(n)}}function Fc(t){An.ensure();const n=Ma(64|Jn,t);return(r={})=>new Promise(a=>{r.outro?Pn(n,()=>{Vr(n),a(void 0)}):(Vr(n),a(void 0))})}function Es(t){return Ma(4,t)}function gr(t,n){var r=Dt,a={effect:null,ran:!1,deps:t};r.l.$.push(a),a.effect=za(()=>{if(t(),!a.ran){a.ran=!0;var o=lt;try{ba(o.parent),v(n)}finally{ba(o)}}})}function kr(){var t=Dt;za(()=>{for(var n of t.l.$){n.deps();var r=n.effect;(r.f&1024)!==0&&r.deps!==null&&wr(r,en),ti(r)&&Tn(r),n.ran=!1}})}function Ic(t){return Ma(Wu|Jn,t)}function za(t,n=0){return Ma(8|n,t)}function j(t,n=[],r=[],a=[]){xc(a,n,r,o=>{Ma(8,()=>{t(...o.map(e))})})}function Ts(t,n=0){var r=Ma(16|n,t);return r}function ma(t){return Ma(32|Jn,t)}function Wv(t){var n=t.teardown;if(n!==null){const r=Ha,a=kt;hl(!0),ga(null);try{n.call(null)}finally{hl(r),ga(a)}}}function Uo(t,n=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const o=r.ac;o!==null&&Ss(()=>{o.abort(ys)});var a=r.next;(r.f&64)!==0?r.parent=null:Vr(r,n),r=a}}function Wc(t){for(var n=t.first;n!==null;){var r=n.next;(n.f&32)===0&&Vr(n),n=r}}function Vr(t,n=!0){var r=!1;(n||(t.f&262144)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Bc(t.nodes.start,t.nodes.end),r=!0),t.f|=sl,Uo(t,n&&!r),Ei(t,0);var a=t.nodes&&t.nodes.t;if(a!==null)for(const f of a)f.stop();Wv(t),t.f^=sl,t.f|=Iu;var o=t.parent;o!==null&&o.first!==null&&Bv(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Bc(t,n){for(;t!==null;){var r=t===n?null:Da(t);t.remove(),t=r}}function Bv(t){var n=t.parent,r=t.prev,a=t.next;r!==null&&(r.next=a),a!==null&&(a.prev=r),n!==null&&(n.first===t&&(n.first=a),n.last===t&&(n.last=r))}function Pn(t,n,r=!0){var a=[];Uv(t,a,!0);var o=()=>{r&&Vr(t),n&&n()},f=a.length;if(f>0){var i=()=>--f||o();for(var d of a)d.out(i)}else o()}function Uv(t,n,r){if((t.f&8192)===0){t.f^=To;var a=t.nodes&&t.nodes.t;if(a!==null)for(const d of a)(d.is_global||r)&&n.push(d);for(var o=t.first;o!==null;){var f=o.next;if((o.f&64)===0){var i=(o.f&65536)!==0||(o.f&32)!==0&&(t.f&16)!==0;Uv(o,n,i?r:!1)}o=f}}}function ps(t){Hv(t,!0)}function Hv(t,n){if((t.f&8192)!==0){t.f^=To,(t.f&1024)===0&&(wr(t,xa),An.ensure().schedule(t));for(var r=t.first;r!==null;){var a=r.next,o=(r.f&65536)!==0||(r.f&32)!==0;Hv(r,o?n:!1),r=a}var f=t.nodes&&t.nodes.t;if(f!==null)for(const i of f)(i.is_global||n)&&i.in()}}function Ho(t,n){if(t.nodes)for(var r=t.nodes.start,a=t.nodes.end;r!==null;){var o=r===a?null:Da(r);n.append(r),r=o}}var Un=null;function Uc(t){var n=Un;try{if(Un=new Set,v(t),n!==null)for(var r of Un)n.add(r);return Un}finally{Un=n}}function G(t){for(var n of Uc(t))En(n,n.v)}var Ji=!1,Ha=!1;function hl(t){Ha=t}var kt=null,ka=!1;function ga(t){kt=t}var lt=null;function ba(t){lt=t}var Sa=null;function zv(t){kt!==null&&(!ha||(kt.f&2)!==0)&&(Sa??(Sa=new Set)).add(t)}var Qr=null,ia=0,ua=null;function Hc(t){ua=t}var Yv=1,dn=0,kn=dn;function ml(t){kn=t}function Gv(){return++Yv}function ti(t){var n=t.f;if((n&2048)!==0)return!0;if(n&2&&(t.f&=~Pi),(n&4096)!==0){for(var r=t.deps,a=r.length,o=0;ot.wv)return!0}(n&512)!==0&&Kr===null&&wr(t,pa)}return!1}function Kv(t,n,r=!0){var a=t.reactions;if(a!==null&&!(!ha&&Sa!==null&&Sa.has(t)))for(var o=0;o{t.ac.abort(ys)}),t.ac=null);try{t.f|=ol;var S=t.fn,s=S();t.f|=Ao;var m=t.deps,k=Qe?.is_fork;if(Qr!==null){var g;if(k||Ei(t,ia),m!==null&&ia>0)for(m.length=ia+Qr.length,g=0;g{requestAnimationFrame(()=>t()),setTimeout(()=>t())});await Promise.resolve(),Mv()}function e(t){var n=(t.f&2)!==0;if(Un?.add(t),kt!==null&&!ka&&!(lt!==null&&(lt.f&16384)!==0)&&(Sa===null||!Sa.has(t))){var r=kt.deps;if((kt.f&2097152)!==0)t.rvr?.call(this,f))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Ua(()=>{n.addEventListener(t,o,a)}):n.addEventListener(t,o,a),o}function He(t,n,r,a,o){var f={capture:a,passive:o},i=Qc(t,n,r,f);(n===document.body||n===window||n===document||n instanceof HTMLMediaElement)&&Ms(()=>{n.removeEventListener(t,i,f)})}var bl=null;function co(t){var n=this,r=n.ownerDocument,a=t.type,o=t.composedPath?.()||[],f=o[0]||t.target;bl=t;var i=0,d=bl===t&&t[Bi];if(d){var b=o.indexOf(d);if(b!==-1&&(n===document||n===window)){t[Bi]=n;return}var p=o.indexOf(n);if(p===-1)return;b<=p&&(i=b)}if(f=o[i]||t.target,f!==n){iv(t,"currentTarget",{configurable:!0,get(){return f||r}});var S=kt,s=lt;ga(null),ba(null);try{for(var m,k=[];f!==null&&f!==n;){try{var g=f[Bi]?.[a];g!=null&&(!f.disabled||t.target===f)&&g.call(f,t)}catch(A){m?k.push(A):m=A}if(t.cancelBubble)break;i++,f=i{throw A});throw m}}finally{t[Bi]=n,delete t.currentTarget,ga(S),ba(s)}}}var Zc=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Zv(t){return Zc?.createHTML(t)??t}function Jv(t){var n=Wo("template");return n.innerHTML=Zv(t.replaceAll("","")),n.content}function qa(t,n){var r=lt;r.nodes===null&&(r.nodes={start:t,end:n,a:null,t:null})}function F(t,n){var r=(n&1)!==0,a=(n&2)!==0,o,f=!t.startsWith("");return()=>{if(ot)return qa($t,null),$t;o===void 0&&(o=Jv(f?t:""+t),r||(o=_a(o)));var i=a||Cv?document.importNode(o,!0):o.cloneNode(!0);if(r){var d=_a(i),b=i.lastChild;qa(d,b)}else qa(i,i);return i}}function Jc(t,n,r="svg"){var a=!t.startsWith(""),o=(n&1)!==0,f=`<${r}>${a?t:""+t}`,i;return()=>{if(ot)return qa($t,null),$t;if(!i){var d=_a(Jv(f));if(o)for(i=document.createDocumentFragment();_a(d);)i.appendChild(_a(d));else i=_a(d)}var b=i.cloneNode(!0);if(o){var p=_a(b),S=b.lastChild;qa(p,S)}else qa(b,b);return b}}function ta(t,n){return Jc(t,n,"svg")}function da(t=""){if(!ot){var n=Jr(t+"");return qa(n,n),n}var r=$t;return r.nodeType!==3?(r.before(r=Jr()),Br(r)):$s(r),qa(r,r),r}function Mr(){if(ot)return qa($t,null),$t;var t=document.createDocumentFragment(),n=document.createComment(""),r=Jr();return t.append(n,r),qa(n,r),t}function q(t,n){if(ot){var r=lt;((r.f&32768)===0||r.nodes.end===null)&&(r.nodes.end=$t),Oi();return}t!==null&&t.before(n)}var xl=!0;function h(t,n){var r,a=n==null?"":typeof n=="object"?`${n}`:n;a!==((r=t)[Qi]??(r[Qi]=t.nodeValue))&&(t[Qi]=a,t.nodeValue=`${a}`)}function As(t,n){return eu(t,n)}function ef(t,n){lo(),n.intro=n.intro??!1;const r=n.target,a=ot,o=$t;try{for(var f=_a(r);f&&(f.nodeType!==8||f.data!=="[");)f=Da(f);if(!f)throw Vn;sa(!0),Br(f);const i=eu(t,{...n,anchor:f});return sa(!1),i}catch(i){if(i instanceof Error&&i.message.split(` +`).some(d=>d.startsWith("https://svelte.dev/e/")))throw i;return i!==Vn&&console.warn("Failed to hydrate: ",i),n.recover===!1&&Xu(),lo(),Dv(r),sa(!1),As(t,n)}finally{sa(a),Br(o)}}var Ui=new Map;function eu(t,{target:n,anchor:r,props:a={},events:o,context:f,intro:i=!0,transformError:d}){lo();var b=void 0,p=Fc(()=>{var S=r??n.appendChild(Jr());pc(S,{pending:()=>{}},k=>{xt({});var g=Dt;if(f&&(g.c=f),o&&(a.$$events=o),ot&&qa(k,null),xl=i,b=t(k,a)||{},xl=!0,ot&&(lt.nodes.end=$t,$t===null||$t.nodeType!==8||$t.data!=="]"))throw ks(),Vn;yt()},d);var s=new Set,m=k=>{for(var g=0;g{for(var k of s)for(const P of[n,document]){var g=Ui.get(P),A=g.get(k);--A==0?(P.removeEventListener(k,co),g.delete(k),g.size===0&&Ui.delete(P)):g.set(k,A)}gl.delete(m),S!==r&&S.parentNode?.removeChild(S)}});return fo.set(b,p),b}var fo=new WeakMap;function tu(t,n){const r=fo.get(t);return r?(fo.delete(t),r(n)):Promise.resolve()}var Ra=new WeakMap,Ga=new WeakMap,ya=new WeakMap,oi=new WeakMap,js=new WeakMap,Fs=new WeakMap,yl=new WeakMap,ru=class{constructor(t,n=!0){pr(this,"anchor",void 0),tt(this,Ra,new Map),tt(this,Ga,new Map),tt(this,ya,new Map),tt(this,oi,new Set),tt(this,js,!0),tt(this,Fs,r=>{if(L(Ra,this).has(r)){var a=L(Ra,this).get(r),o=L(Ga,this).get(a);if(o)ps(o),L(oi,this).delete(a);else{var f=L(ya,this).get(a);f&&(ps(f.effect),L(Ga,this).set(a,f.effect),L(ya,this).delete(a),f.fragment.lastChild.remove(),this.anchor.before(f.fragment),o=f.effect)}for(const[i,d]of L(Ra,this)){if(L(Ra,this).delete(i),i===r)break;const b=L(ya,this).get(d);b&&(Vr(b.effect),L(ya,this).delete(d))}for(const[i,d]of L(Ga,this)){if(i===a||L(oi,this).has(i))continue;const b=()=>{if(Array.from(L(Ra,this).values()).includes(i)){var p=document.createDocumentFragment();Ho(d,p),p.append(Jr()),L(ya,this).set(i,{effect:d,fragment:p})}else Vr(d);L(oi,this).delete(i),L(Ga,this).delete(i)};L(js,this)||!o?(L(oi,this).add(i),Pn(d,b,!1)):b()}}}),tt(this,yl,r=>{L(Ra,this).delete(r);const a=Array.from(L(Ra,this).values());for(const[o,f]of L(ya,this))a.includes(o)||(Vr(f.effect),L(ya,this).delete(o))}),this.anchor=t,Ke(js,this,n)}ensure(t,n){var r=Qe,a=Rv();if(n&&!L(Ga,this).has(t)&&!L(ya,this).has(t))if(a){var o=document.createDocumentFragment(),f=Jr();o.append(f),L(ya,this).set(t,{effect:ma(()=>n(f)),fragment:o})}else L(Ga,this).set(t,ma(()=>n(this.anchor)));if(L(Ra,this).set(r,t),a){for(const[i,d]of L(Ga,this))i===t?r.unskip_effect(d):r.skip_effect(d);for(const[i,d]of L(ya,this))i===t?r.unskip_effect(d.effect):r.skip_effect(d.effect);r.oncommit(L(Fs,this)),r.ondiscard(L(yl,this))}else ot&&(this.anchor=$t),L(Fs,this).call(this,r)}};function I(t,n,r=!1){var a;ot&&(a=$t,Oi());var o=new ru(t),f=r?xs:0;function i(d,b){if(ot){var p=Oo(a);if(d!==parseInt(p.substring(1))){var S=Si();Br(S),o.anchor=S,sa(!1),o.ensure(d,b),sa(!0);return}}o.ensure(d,b)}Ts(()=>{var d=!1;n((b,p=0)=>{d=!0,i(p,b)}),d||i(-1,null)},f)}function Vt(t,n){return n}function tf(t,n,r){for(var a=[],o=n.length,f,i=n.length,d=0;d{if(f){if(f.pending.delete(s),f.done.add(s),f.pending.size===0){var m=t.outrogroups;_o(t,bs(f.done)),m.delete(f),m.size===0&&(t.outrogroups=null)}}else i-=1},!1)}if(i===0){var b=a.length===0&&r!==null;if(b){var p=r,S=p.parentNode;Dv(S),S.append(p),t.items.clear()}_o(t,n,!b)}else f={pending:new Set(n),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(f)}function _o(t,n,r=!0){var a;if(t.pending.size>0){a=new Set;for(const i of t.pending.values())for(const d of i)a.add(t.items.get(d).e)}for(var o=0;o{var R=r();return Ai(R)?R:R==null?[]:bs(R)}),s,m=new Map,k=!0;function g(R){(P.effect.f&16384)===0&&(P.pending.delete(R),P.fallback=p,rf(P,s,i,n,a),p!==null&&(s.length===0?(p.f&33554432)===0?ps(p):(p.f^=bi,hi(p,null,i)):Pn(p,()=>{p=null})))}function A(R){P.pending.delete(R)}var P={effect:Ts(()=>{s=e(S);var R=s.length;let Y=!1;ot&&Oo(i)==="[!"!=(R===0)&&(i=Si(),Br(i),sa(!1),Y=!0);for(var H=new Set,T=Qe,O=Rv(),C=0;Cf(i)):(p=ma(()=>f(Hi??(Hi=Jr()))),p.f|=bi)),R>H.size&&zu("","",""),ot&&R>0&&Br(Si()),!k)if(m.set(T,H),O){for(const[ve,Me]of d)H.has(ve)||T.skip_effect(Me.e);T.oncommit(g),T.ondiscard(A)}else g(T);Y&&sa(!0),e(S)}),flags:n,items:d,pending:m,outrogroups:null,fallback:p};k=!1,ot&&(i=$t)}function li(t){for(;t!==null&&(t.f&32)===0;)t=t.next;return t}function rf(t,n,r,a,o){var f=(a&8)!==0,i=n.length,d=t.items,b=li(t.effect.first),p,S=null,s,m=[],k=[],g,A,P,R;if(f)for(R=0;R0){var te=(a&4)!==0&&i===0?r:null;if(f){for(R=0;R{if(s!==void 0)for(P of s)P.nodes?.a?.apply()})}function af(t,n,r,a,o,f,i,d){var b=(i&1)!==0?(i&16)===0?W(r,!1,!1):Mn(r):null,p=(i&2)!==0?Mn(o):null;return{v:b,i:p,e:ma(()=>(f(n,b??r,p??o,d),()=>{t.delete(a)}))}}function hi(t,n,r){if(t.nodes)for(var a=t.nodes.start,o=t.nodes.end,f=n&&(n.f&33554432)===0?n.nodes.start:r;a!==null;){var i=Da(a);if(f.before(a),a===o)return;a=i}}function Ka(t,n,r){n===null?t.effect.first=r:n.next=r,r===null?t.effect.last=n:r.prev=n}function wl(t,n,r){var a;ot&&(a=$t,Oi());var o=new ru(t);Ts(()=>{var f=n()??null;if(ot&&Oo(a)==="["!=(f!==null)){var i=Si();Br(i),o.anchor=i,sa(!1),o.ensure(f,f&&(d=>r(d,f))),sa(!0);return}o.ensure(f,f&&(d=>r(d,f)))},xs)}function vi(t,n,r){Es(()=>{var a=v(()=>n(t,r?.())||{});if(r&&a?.update){var o=!1,f={};za(()=>{var i=r();$(i),o&&Co(f,i)&&(f=i,a.update(i))}),o=!0}if(a?.destroy)return()=>a.destroy()})}function au(t){var n,r,a="";if(typeof t=="string"||typeof t=="number")a+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(n=0;n=0;){var d=i+f;(i===0||kl.includes(a[i-1]))&&(d===a.length||kl.includes(a[d]))?a=(i===0?"":a.substring(0,i))+a.substring(d+1):i=d}}return a===""?null:a}function $l(t,n=!1){var r=n?" !important;":";",a="";for(var o of Object.keys(t)){var f=t[o];f!=null&&f!==""&&(a+=" "+o+": "+f+r)}return a}function Is(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function of(t,n){if(n){var r="",a,o;if(Array.isArray(n)?(a=n[0],o=n[1]):a=n,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var f=!1,i=0,d=!1,b=[];a&&b.push(...Object.keys(a).map(Is)),o&&b.push(...Object.keys(o).map(Is));var p=0,S=-1;const A=t.length;for(var s=0;s{nu(t,t.__value)});n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ms(()=>{n.disconnect()})}function At(t,n,r=n){var a=new WeakSet,o=!0;qs(t,"change",f=>{var i=f?"[selected]":":checked",d;if(t.multiple)d=[].map.call(t.querySelectorAll(i),ki);else{var b=t.querySelector(i)??t.querySelector("option:not([disabled])");d=b&&ki(b)}r(d),t.__value=d,Qe!==null&&a.add(Qe)}),Es(()=>{var f=n();if(t===document.activeElement){var i=ha?Mi:Qe;if(a.has(i))return}if(nu(t,f,o),o&&f===void 0){var d=t.querySelector(":checked");d!==null&&(f=ki(d),r(f))}t.__value=f,o=!1}),vf(t)}function ki(t){return"__value"in t?t.__value:t.value}var uf=Symbol("is custom element"),cf=Symbol("is html"),ff=vv?"link":"LINK",df=vv?"progress":"PROGRESS";function oe(t){if(ot){var n=!1,r=()=>{if(!n){if(n=!0,t.hasAttribute("value")){var a=t.value;Q(t,"value",null),t.value=a}if(t.hasAttribute("checked")){var o=t.checked;Q(t,"checked",null),t.checked=o}}};t[xi]=r,Ua(r),jv()}}function Sl(t,n){var r=Yo(t);r.value===(r.value=n??void 0)||t.value===n&&(n!==0||t.nodeName!==df)||(t.value=n??"")}function ql(t,n){var r=Yo(t);r.checked!==(r.checked=n??void 0)&&(t.checked=n)}function Q(t,n,r,a){var o=Yo(t);if(ot&&(o[n]=t.getAttribute(n),n==="src"||n==="srcset"||n==="href"&&t.nodeName===ff)){a||void 0;return}o[n]!==(o[n]=r)&&(n==="loading"&&(t[Bu]=r),r==null?t.removeAttribute(n):typeof r!="string"&&_f(t).includes(n)?t[n]=r:t.setAttribute(n,r))}function Yo(t){var n;return(n=t)[Js]??(n[Js]={[uf]:t.nodeName.includes("-"),[cf]:t.namespaceURI==="http://www.w3.org/1999/xhtml"})}var Ml=new Map;function _f(t){var n=t.getAttribute("is")||t.nodeName,r=Ml.get(n);if(r)return r;Ml.set(n,r=[]);for(var a,o=t,f=Element.prototype;f!==o;){a=sv(o);for(var i in a)a[i].set&&i!=="innerHTML"&&i!=="textContent"&&i!=="innerText"&&r.push(i);o=Eo(o)}return r}var Bs=null;function pf(){if(Bs===null){var t=Wo("select");t.innerHTML=Zv(""),Bs=t.firstChild?.firstChild?.nodeType===1}return Bs}function _n(t,n){var r=ot;pf()||(sa(!1),t.textContent="",t.append(Lc("")));try{n()}finally{r&&(ot?u(t):(sa(!0),Br(t)))}}function qe(t,n,r=n){var a=new WeakSet;qs(t,"input",async o=>{var f=o?t.defaultValue:t.value;if(f=Us(t)?Hs(f):f,r(f),Qe!==null&&a.add(Qe),await zo(),f!==(f=n())){var i=t.selectionStart,d=t.selectionEnd,b=t.value.length;if(t.value=f??"",d!==null){var p=t.value.length;i===d&&d===b&&p>b?(t.selectionStart=p,t.selectionEnd=p):(t.selectionStart=i,t.selectionEnd=Math.min(d,p))}}}),(ot&&t.defaultValue!==t.value||v(n)==null&&t.value)&&(r(Us(t)?Hs(t.value):t.value),Qe!==null&&a.add(Qe)),za(()=>{var o=n();if(t===document.activeElement){var f=ha?Mi:Qe;if(a.has(f))return}Us(t)&&o===Hs(t.value)||t.type==="date"&&!o&&!t.value||o!==t.value&&(t.value=o??"")})}function _r(t,n,r=n){qs(t,"change",a=>{r(a?t.defaultChecked:t.checked)}),(ot&&t.defaultChecked!==t.checked||v(n)==null)&&r(t.checked),za(()=>{var a=n();t.checked=!!a})}function Us(t){var n=t.type;return n==="number"||n==="range"}function Hs(t){return t===""?null:+t}function El(t,n,r=n){qs(t,"change",()=>{r(t.files)}),ot&&t.files&&r(t.files),za(()=>{t.files=n()})}function hf(t,n,r){var a=Wa(t,n);a&&a.set&&(t[n]=r,Ms(()=>{t[n]=null}))}var iu,Hn=new WeakMap,hs=new WeakMap,zs=new WeakMap,Tl=new WeakSet,Go=class{constructor(t){Do(this,Tl),tt(this,Hn,new WeakMap),tt(this,hs,void 0),tt(this,zs,void 0),Ke(zs,this,t)}observe(t,n){var r=L(Hn,this).get(t)||new Set;return r.add(n),L(Hn,this).set(t,r),_t(Tl,this,mf).call(this).observe(t,L(zs,this)),()=>{var a=L(Hn,this).get(t);a.delete(n),a.size===0&&(L(Hn,this).delete(t),L(hs,this).unobserve(t))}}};iu=Go;function mf(){return L(hs,this)??Ke(hs,this,new ResizeObserver(t=>{for(var n of t){iu.entries.set(n.target,n);for(var r of L(Hn,this).get(n.target)||[])r(n)}}))}pr(Go,"entries",new WeakMap);var gf=new Go({box:"border-box"});function $n(t,n,r){var a=gf.observe(t,()=>r(t[n]));Es(()=>(v(()=>r(t[n])),a))}function Ys(t,n){return t===n||t?.[Na]===n}function ms(t={},n,r,a){var o=Dt.r,f=lt;return Es(()=>{var i,d;return za(()=>{i=d,d=a?.()||[],v(()=>{Ys(r(...d),t)||(n(t,...d),i&&Ys(r(...i),t)&&n(null,...i))})}),()=>{let b=f;for(;b!==o&&b.parent!==null&&b.parent.f&33554432;)b=b.parent;const p=()=>{d&&Ys(r(...d),t)&&n(null,...d)},S=b.teardown;b.teardown=()=>{p(),S?.()}}}),t}function On(t){return function(...n){return n[0].preventDefault(),t?.apply(this,n)}}function Mt(t=!1){const n=Dt,r=n.l.u;if(!r)return;let a=()=>$(n.s);if(t){let o=0,f={};const i=Qn(()=>{let d=!1;const b=n.s;for(const p in b)b[p]!==f[p]&&(f[p]=b[p],d=!0);return d&&o++,o});a=()=>e(i)}r.b.length&&Rc(()=>{Al(n,a),is(r.b)}),vo(()=>{const o=v(()=>r.m.map(Ru));return()=>{for(const f of o)typeof f=="function"&&f()}}),r.a.length&&vo(()=>{Al(n,a),is(r.a)})}function Al(t,n){if(t.l.s)for(const r of t.l.s)e(r);n()}function Pl(t,n){var r=t.$$events?.[n.type];for(var a of Ai(r)?r.slice():r==null?[]:[r])a.call(this,n)}var bf={get(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(si(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a)return a[n]}},set(t,n,r){let a=t.props.length;for(;a--;){let o=t.props[a];si(o)&&(o=o());const f=Wa(o,n);if(f&&f.set)return f.set(r),!0}return!1},getOwnPropertyDescriptor(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(si(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a){const o=Wa(a,n);return o&&!o.configurable&&(o.configurable=!0),o}}},has(t,n){if(n===Na||n===Po)return!1;for(let r of t.props)if(si(r)&&(r=r()),r!=null&&n in r)return!0;return!1},ownKeys(t){const n=[];for(let r of t.props)if(si(r)&&(r=r()),!!r){for(const a in r)n.includes(a)||n.push(a);for(const a of Object.getOwnPropertySymbols(r))n.includes(a)||n.push(a)}return n}};function Ol(...t){return new Proxy({props:t},bf)}function de(t,n,r,a){var o=!ei||(r&2)!==0,f=(r&8)!==0,i=(r&16)!==0,d=a,b=!0,p=void 0,S=()=>i&&o?(p??(p=Qn(a)),e(p)):(b&&(b=!1,d=i?v(a):a),d);let s;if(f){var m=Na in t||Po in t;s=Wa(t,n)?.set??(m&&n in t?T=>t[n]=T:void 0)}var k,g=!1;f?[k,g]=fc(()=>t[n]):k=t[n],k===void 0&&a!==void 0&&(k=S(),s&&(o&&Zu(n),s(k)));var A;if(o?A=()=>{var T=t[n];return T===void 0?S():(b=!0,T)}:A=()=>{var T=t[n];return T!==void 0&&(d=void 0),T===void 0?d:T},o&&(r&4)===0)return A;if(s){var P=t.$$legacy;return(function(T,O){return arguments.length>0?((!o||!O||P||g)&&s(O?A():T),T):A()})}var R=!1,Y=((r&1)!==0?Qn:Ce)(()=>(R=!1,A()));f&&e(Y);var H=lt;return(function(T,O){if(arguments.length>0){const C=O?e(Y):o&&f?Yn(T):T;return E(Y,C),R=!0,d!==void 0&&(d=C),T}return Ha&&R||(H.f&16384)!==0?Y.v:e(Y)})}function xf(t){return new yf(t)}var sn=new WeakMap,Ta=new WeakMap,yf=class{constructor(t){tt(this,sn,void 0),tt(this,Ta,void 0);var n=new Map,r=(o,f)=>{var i=W(f,!1,!1);return n.set(o,i),i};const a=new Proxy({...t.props||{},$$events:{}},{get(o,f){return e(n.get(f)??r(f,Reflect.get(o,f)))},has(o,f){return f===Po?!0:(e(n.get(f)??r(f,Reflect.get(o,f))),Reflect.has(o,f))},set(o,f,i){return E(n.get(f)??r(f,i),i),Reflect.set(o,f,i)}});Ke(Ta,this,(t.hydrate?ef:As)(t.component,{target:t.target,anchor:t.anchor,props:a,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),!ha&&(!t?.props?.$$host||t.sync===!1)&&Mv(),Ke(sn,this,a.$$events);for(const o of Object.keys(L(Ta,this)))o==="$set"||o==="$destroy"||o==="$on"||iv(this,o,{get(){return L(Ta,this)[o]},set(f){L(Ta,this)[o]=f},enumerable:!0});L(Ta,this).$set=o=>{Object.assign(a,o)},L(Ta,this).$destroy=()=>{tu(L(Ta,this))}}$set(t){L(Ta,this).$set(t)}$on(t,n){L(sn,this)[t]=L(sn,this)[t]||[];const r=(...a)=>n.call(this,...a);return L(sn,this)[t].push(r),()=>{L(sn,this)[t]=L(sn,this)[t].filter(a=>a!==r)}}$destroy(){L(Ta,this).$destroy()}},wf;typeof HTMLElement=="function"&&(wf=class extends HTMLElement{constructor(t,n,r){super(),pr(this,"$$ctor",void 0),pr(this,"$$s",void 0),pr(this,"$$c",void 0),pr(this,"$$cn",!1),pr(this,"$$d",{}),pr(this,"$$r",!1),pr(this,"$$p_d",{}),pr(this,"$$l",{}),pr(this,"$$l_u",new Map),pr(this,"$$me",void 0),pr(this,"$$shadowRoot",null),this.$$ctor=t,this.$$s=n,r&&(this.$$shadowRoot=this.attachShadow(r))}addEventListener(t,n,r){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(n),this.$$c){const a=this.$$c.$on(t,n);this.$$l_u.set(n,a)}super.addEventListener(t,n,r)}removeEventListener(t,n,r){if(super.removeEventListener(t,n,r),this.$$c){const a=this.$$l_u.get(n);a&&(a(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let n=function(o){return f=>{const i=Wo("slot");o!=="default"&&(i.name=o),q(f,i)}};var t=n;if(await Promise.resolve(),!this.$$cn||this.$$c)return;const r={},a=kf(this);for(const o of this.$$s)o in a&&(o==="default"&&!this.$$d.children?(this.$$d.children=n(o),r.default=!0):r[o]=n(o));for(const o of this.attributes){const f=this.$$g_p(o.name);f in this.$$d||(this.$$d[f]=Gs(f,o.value,this.$$p_d,"toProp"))}for(const o in this.$$p_d)!(o in this.$$d)&&this[o]!==void 0&&(this.$$d[o]=this[o],delete this[o]);this.$$c=xf({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=jc(()=>{za(()=>{this.$$r=!0;for(const o of nl(this.$$c)){if(!this.$$p_d[o]?.reflect)continue;this.$$d[o]=this.$$c[o];const f=Gs(o,this.$$d[o],this.$$p_d,"toAttribute");f==null?this.removeAttribute(this.$$p_d[o].attribute||o):this.setAttribute(this.$$p_d[o].attribute||o,f)}this.$$r=!1})});for(const o in this.$$l)for(const f of this.$$l[o]){const i=this.$$c.$on(o,f);this.$$l_u.set(f,i)}this.$$l={}}}attributeChangedCallback(t,n,r){this.$$r||(t=this.$$g_p(t),this.$$d[t]=Gs(t,r,this.$$p_d,"toProp"),this.$$c?.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return nl(this.$$p_d).find(n=>this.$$p_d[n].attribute===t||!this.$$p_d[n].attribute&&n.toLowerCase()===t)||t}});function Gs(t,n,r,a){const o=r[t]?.type;if(n=o==="Boolean"&&typeof n!="boolean"?n!=null:n,!a||!r[t])return n;if(a==="toAttribute")switch(o){case"Object":case"Array":return n==null?null:JSON.stringify(n);case"Boolean":return n?"":null;case"Number":return n??null;default:return n}else switch(o){case"Object":case"Array":return n&&JSON.parse(n);case"Boolean":return n;case"Number":return n!=null?+n:n;default:return n}}function kf(t){const n={};return t.childNodes.forEach(r=>{n[r.slot||"default"]=!0}),n}if(0)var R1;function Ps(t){Dt===null&&ws("onMount"),ei&&Dt.l!==null?ou(Dt).m.push(t):vo(()=>{const n=v(t);if(typeof n=="function")return n})}function su(t){Dt===null&&ws("onDestroy"),Ps(()=>()=>v(t))}function $f(t,n,{bubbles:r=!1,cancelable:a=!1}={}){return new CustomEvent(t,{detail:n,bubbles:r,cancelable:a})}function Sf(){const t=Dt;return t===null&&ws("createEventDispatcher"),(n,r,a)=>{const o=t.s.$$events?.[n];if(o){const f=Ai(o)?o.slice():[o],i=$f(n,r,a);for(const d of f)d.call(t.x,i);return!i.defaultPrevented}return!0}}function qf(t){Dt===null&&ws("afterUpdate"),Dt.l===null&&Qu("afterUpdate"),ou(Dt).a.push(t)}function ou(t){var n=t.l;return n.u??(n.u={a:[],b:[],m:[]})}if(typeof window<"u"){var Cl,Nl;((Cl=(Nl=window).__svelte??(Nl.__svelte={})).v??(Cl.v=new Set)).add("5")}sc();function Mf(t,n){if(t instanceof RegExp)return{keys:!1,pattern:t};var r,a,o,f,i=[],d="",b=t.split("/");for(b[0]||b.shift();o=b.shift();)r=o[0],r==="*"?(i.push("wild"),d+="/(.*)"):r===":"?(a=o.indexOf("?",1),f=o.indexOf(".",1),i.push(o.substring(1,~a?a:~f?f:o.length)),d+=~a&&!~f?"(?:/([^/]+?))?":"/([^/]+?)",~f&&(d+=(~a?"?":"")+"\\"+o.substring(f))):d+="/"+o;return{keys:i,pattern:new RegExp("^"+d+(n?"(?=$|/)":"/?$"),"i")}}function Ll(){const t=window.location.href.indexOf("#/");let n=t>-1?window.location.href.substr(t+1):"/";const r=n.indexOf("?");let a="";return r>-1&&(a=n.substr(r+1),n=n.substr(0,r)),{location:n,querystring:a}}var Ko=Lo(null,function(n){n(Ll());const r=()=>{n(Ll())};return window.addEventListener("hashchange",r,!1),function(){window.removeEventListener("hashchange",r,!1)}}),N1=hv(Ko,t=>t.location),L1=hv(Ko,t=>t.querystring),Dl=ea(void 0);async function Za(t){if(!t||t.length<1||t.charAt(0)!="/"&&t.indexOf("#/")!==0)throw Error("Invalid parameter location");await zo(),history.replaceState({...history.state,__svelte_spa_router_scrollX:window.scrollX,__svelte_spa_router_scrollY:window.scrollY},void 0),window.location.hash=(t.charAt(0)=="#"?"":"#")+t}function Ef(t){t?window.scrollTo(t.__svelte_spa_router_scrollX,t.__svelte_spa_router_scrollY):window.scrollTo(0,0)}function Tf(t,n){xt(n,!1);let r=de(n,"routes",24,()=>({})),a=de(n,"prefix",8,""),o=de(n,"restoreScrollState",8,!1);class f{constructor(C,B){if(!B||typeof B!="function"&&(typeof B!="object"||B._sveltesparouter!==!0))throw Error("Invalid component object");if(!C||typeof C=="string"&&(C.length<1||C.charAt(0)!="/"&&C.charAt(0)!="*")||typeof C=="object"&&!(C instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:J,keys:te}=Mf(C);this.path=C,typeof B=="object"&&B._sveltesparouter===!0?(this.component=B.component,this.conditions=B.conditions||[],this.userData=B.userData,this.props=B.props||{}):(this.component=()=>Promise.resolve(B),this.conditions=[],this.props={}),this._pattern=J,this._keys=te}match(C){if(a()){if(typeof a()=="string")if(C.startsWith(a()))C=C.substr(a().length)||"/";else return null;else if(a()instanceof RegExp){const le=C.match(a());if(le&&le[0])C=C.substr(le[0].length)||"/";else return null}}const B=this._pattern.exec(C);if(B===null)return null;if(this._keys===!1)return B;const J={};let te=0;for(;te{i.push(new f(C,O))}):Object.keys(r()).forEach(O=>{i.push(new f(O,r()[O]))});let d=W(null),b=W(null),p=W({});const S=Sf();async function s(O,C){await zo(),S(O,C)}let m=null,k=null;o()&&(k=O=>{O.state&&(O.state.__svelte_spa_router_scrollY||O.state.__svelte_spa_router_scrollX)?m=O.state:m=null},window.addEventListener("popstate",k),qf(()=>{Ef(m)}));let g=null,A=null;const P=Ko.subscribe(async O=>{g=O;let C=0;for(;C{Dl.set(e(b))});return}E(d,null),A=null,Dl.set(void 0)});su(()=>{P(),k&&window.removeEventListener("popstate",k)}),gr(()=>$(o()),()=>{history.scrollRestoration=o()?"manual":"auto"}),kr(),Mt();var R=Mr(),Y=fe(R),H=O=>{var C=Mr(),B=fe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol({get params(){return e(b)}},()=>e(p),{$$events:{routeEvent(le){Pl.call(this,n,le)}}}))}),q(O,C)},T=O=>{var C=Mr(),B=fe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol(()=>e(p),{$$events:{routeEvent(le){Pl.call(this,n,le)}}}))}),q(O,C)};I(Y,O=>{e(b)?O(H):O(T,-1)}),q(t,R),yt()}function Aa(t){return t===1?"green":t===2?"yellow":t===3?"red":"gray"}function Af(t,n){return t>218&&t<242?"#23ac05":t>212&&t<248?"#b1d900":t>208&&t<252?"#a3b200":"#b20000"}function es(t,n){let r;return t>90?r="#b20000":t>85?r="#b19601":t>80?r="#a3b200":t>75?r="#569f12":r="#23ac05",r}function ui(t){return t>75?"#23ac05":t>50?"#77d900":t>25?"#94d900":"#569f12"}function gs(t){switch(t){case 1:return"Aidon";case 2:return"Kaifa";case 3:return"Kamstrup";case 8:return"Iskra";case 9:return"Landis+Gyr";case 10:return"Sagemcom";default:return"Unknown"}}function Ht(t){for(t=t.toString();t.length<2;)t="0"+t;return t}function Re(t,n){switch(n){case 5:switch(t){case"esp8266":return"Pow-K (GPIO12)";case"esp32s2":return"Pow-K+"}case 7:switch(t){case"esp8266":return"Pow-U (GPIO12)";case"esp32s2":return"Pow-U+"}case 6:return"Pow-P1";case 51:return"Wemos S2 mini";case 50:return"Generic ESP32-S2";case 201:return"Wemos LOLIN D32";case 202:return"Adafruit HUZZAH32";case 203:return"DevKitC";case 241:return"LilyGO T-ETH-POE";case 242:return"M5 PoESP32";case 243:return"WT32-ETH01";case 245:return"wESP32";case 200:return"Generic ESP32";case 2:return"HAN Reader 2.0 by Max Spencer";case 0:return"Custom hardware by Roar Fredriksen";case 1:return"Kamstrup module by Egil Opsahl";case 8:return"µHAN mosquito by dbeinder";case 3:return"Pow-K (UART0)";case 4:return"Pow-U (UART0)";case 101:return"Wemos D1 mini";case 100:return"Generic ESP8266";case 70:return"Generic ESP32-C3";case 71:return"ESP32-C3-DevKitM-1";case 80:return"Generic ESP32-S3"}return"Unknown"}function Sn(t){switch(t){case 2:case 4:case 7:return!0}return!1}function Wt(t,n){return t==1||t==2&&n}function Jt(t){let n="https://wiki.amsleser.no";return t&&(n+="/en/firmware#"+t),n}function Ut(t,n){return t==null||isNaN(t)?"-":(isNaN(n)&&(n=t<1?2:t<10?1:0),t.toFixed(n))}function Ja(t,n){return t.setTime(t.getTime()+n*36e5),t}function Pf(t,n){return t.setTime(t.getTime()+n*6e4),t}function Of(t){return t=="EOE"?"ENTSO-E":t=="HKS"?"hvakosterstrommen.no":t=="EDS"?"Energi Data Service":t=="MIX"?"Mixed sources":t=="FIX"?"Fixed price":"Unknown ("+t+")"}function Rl(t){return t=="EOE"?"https://transparency.entsoe.eu/":t=="HKS"?"https://www.hvakosterstrommen.no/":t=="EDS"?"https://www.energidataservice.dk/":t=="FIX"?"/priceconfig":"#"}var zi=0;function Ti(t,n){var r="";zi++;var a=function(){setTimeout(Ti,1e3,t,n)};if(t.net.ip&&zi%3==0){if(!t.net.ip){a();return}r="http://"+t.net.ip}else t.hostname&&zi%3==1?r="http://"+t.hostname:t.hostname&&zi%3==2?r="http://"+t.hostname+".local":r="";console&&console.log("Trying url "+r),n&&n(r);var o=new XMLHttpRequest;o.timeout=5e3,o.addEventListener("abort",a),o.addEventListener("error",a),o.addEventListener("timeout",a),o.addEventListener("load",function(f){window.location.href=r||"/"}),o.open("GET",r+"/is-alive",!0),o.send()}function dr(t){return t.charAt(0).toUpperCase()+t.slice(1)}function jl(t){return t.startsWith("esp32")?"esp32":t}function Nr(t,n){let r=[t,n];return typeof t>"u"?(r[0]="-",r[1]=n):t>=1e9?(r[0]=(t/1e6).toFixed(t>1e10?0:1),r[1]="M"+n):t>1e4?(r[0]=(t/1e3).toFixed(t>1e6?0:t>1e5?1:2),r[1]="k"+n):(r[0]=t.toFixed(0),r[1]=n),r}function mi(t,n){let r=[Ut(t,2),n];if(typeof t>"u")r[0]="-",r[1]=n;else if(Math.abs(t*100)<100){switch(r[0]=Ut(t*100,2),n){case"NOK":case"DKK":n="øre";break;case"SEK":n="öre";break;case"EUR":n="cent";break;case"CHF":n="rp.";break;default:n=n+"/100"}r[1]=n}return r}var pn="((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}",ja="[\\x20-\\x7E]+",Gn="[\\x20-\\xFF]+",ts="[A-Za-z0-9_\\-]+",Fl="[0-9A-Fa-f]+",ci="[0-9]+",rs={},po=[];async function Cf(t,n={}){const{timeout:r=8e3}=n,a=new AbortController,o=setTimeout(()=>a.abort(),r),f=await fetch(t,{...n,signal:a.signal});return clearTimeout(o),f}var Ks;async function lu(){if(po.length){let t=po.shift();delete rs[t.resource];try{let n=await Cf(t.resource,t.options);for(let r in t.callbacks)t.callbacks[r](n.clone())}catch(n){console.error("Error calling "+t.resource,n);for(let r in t.callbacks)t.callbacks[r]()}}Ks&&clearTimeout(Ks),Ks=setTimeout(lu,100)}lu();async function la(t,n={}){let r;return rs[t]?r=rs[t]:(r={resource:t,options:n,callbacks:[]},rs[t]=r,po.push(r)),new Promise(a=>r.callbacks.push(a))}var Oa={version:"",chip:"",mac:null,apmac:null,vndcfg:null,usrcfg:null,fwconsent:null,booting:!1,upgrading:!1,ui:{},security:0,boot_reason:0,upgrade:{x:-1,e:0,f:null,t:null},trying:null,if:{eth:!1}};async function hn(){Oa=await(await la("sysinfo.json?t="+Math.floor(Date.now()/1e3))).json(),qr.set(Oa)}var qr=ea(Oa,t=>(hn(),function(){}));function Nf(t){qr.update(n=>(n.trying=t,n))}var Yi=0,Il=-127,Wl=null,Lf={},Os=Lo(Lf,t=>{let n,r;async function a(){la("data.json").then(o=>o.json()).then(o=>{t(o),Il!=o.t&&(Il=o.t,setTimeout(Df,2e3)),o.pe&&o.p!=Wl&&(Wl=o.p,cu()),(!Oa||!Oa.chip||Oa.booting||Yi>1&&!Sn(Oa.board))&&(hn(),Fa&&clearTimeout(Fa),Fa=setTimeout(go,2e3),Ia&&clearTimeout(Ia),Ia=setTimeout(xo,3e3)),o.u,Fa||(Fa=go()),Ia||(Ia=xo());let f=5e3;if(Sn(Oa.board)&&o.v>2.5){let i=3.3-Math.min(3.3,o.v);i>0&&(f=Math.max(i,.1)*10*5e3)}f>5e3&&console.log("Next in "+f+"ms"),n&&clearTimeout(n),n=setTimeout(a,f),Yi=0}).catch(o=>{Yi++,Yi>3?(t({em:3,hm:0,wm:0,mm:0}),n=setTimeout(a,15e3),r||(r=setTimeout(Ti,5e3,Oa,Nf))):n=setTimeout(a,Sn(Oa.board)?1e4:5e3)})}return a(),function(){clearTimeout(n)}}),Gi,as={},vu=ea(as),ho={},uu=ea(ho);async function cu(){Gi&&(clearTimeout(Gi),Gi=0),as=await(await la("importprice.json")).json(),vu.set(as),as?.importExportPriceDifferent&&(ho=await(await la("exportprice.json")).json(),uu.set(ho)),Gi=setTimeout(cu,(24-new Date().getHours())*36e5+10)}var mo={},Fa;async function go(){Fa&&(clearTimeout(Fa),Fa=0),mo=await(await la("dayplot.json")).json(),Vo.set(mo),Fa=setTimeout(go,(60-new Date().getMinutes())*6e4+20)}var Vo=ea(mo,t=>function(){}),bo={},Ia;async function xo(){Ia&&(clearTimeout(Ia),Ia=0),bo=await(await la("monthplot.json")).json(),Xo.set(bo),Ia=setTimeout(xo,(24-new Date().getHours())*36e5+40)}var Xo=ea(bo,t=>function(){}),yo={};async function Df(){yo=await(await la("temperature.json")).json(),fu.set(yo)}var fu=ea(yo,t=>function(){}),wo={},Ki;async function du(){Ki&&(clearTimeout(Ki),Ki=0),wo=await(await la("tariff.json")).json(),_u.set(wo),Ki=setTimeout(du,(60-new Date().getMinutes())*6e4+30)}var _u=ea(wo,t=>function(){}),zn={c:-1,n:[]};async function Rf(){let t=await(await la("wifiscan.json",{timeout:3e4})).json(),n=[];zn.c=0,zn.n=[];for(let r=0;r(Rf(),function(){})),ko=!1,Xr=ea(ko);async function pu(t){ko=await(await la("translations.json"+(t?"?lang="+t:""))).json(),Xr.set(ko)}pu();function Bl(t){return"WARNING: "+t+" must be connected to an external power supply during firmware upgrade. Failure to do so may cause power-down during upload resulting in non-functioning unit."}async function hu(t){return await(await fetch("upgrade?expected_version="+t,{method:"POST"})).json()}var jf=F(" ",1);function Ff(t,n){xt(n,!1);let r=de(n,"epoch",8),a=W({});Xr.subscribe(S=>{E(a,S)});let o=W(0),f=W(0),i=W(0);gr(()=>$(r()),()=>{E(o,Math.floor(r()/86400)),E(f,Math.floor(r()/3600)),E(i,Math.floor(r()/60))}),kr(),Mt();var d=Mr(),b=fe(d),p=S=>{var s=jf(),m=fe(s),k=l(m),g=O=>{var C=da();j(()=>h(C,`${e(o)??""} ${e(a),v(()=>e(a).common?.days??"d")??""}`)),q(O,C)},A=O=>{var C=da();j(()=>h(C,`${e(o)??""} ${e(a),v(()=>e(a).common?.day??"d")??""}`)),q(O,C)},P=O=>{var C=da();j(()=>h(C,`${e(f)??""} ${e(a),v(()=>e(a).common?.hours??"h")??""}`)),q(O,C)},R=O=>{var C=da();j(()=>h(C,`${e(f)??""} ${e(a),v(()=>e(a).common?.hour??"h")??""}`)),q(O,C)},Y=O=>{var C=da();j(()=>h(C,`${e(i)??""} ${e(a),v(()=>e(a).common?.minutes??"m")??""}`)),q(O,C)},H=O=>{var C=da();j(()=>h(C,`${e(i)??""} ${e(a),v(()=>e(a).common?.minute??"m")??""}`)),q(O,C)},T=O=>{var C=da();j(()=>h(C,`${r()??""} ${e(a),v(()=>e(a).common?.seconds??"s")??""}`)),q(O,C)};I(k,O=>{e(o)>1?O(g):e(o)>0?O(A,1):e(f)>1?O(P,2):e(f)>0?O(R,3):e(i)>1?O(Y,4):e(i)>0?O(H,5):O(T,-1)}),j(()=>h(m,`${e(a),v(()=>e(a).header?.uptime??"Up")??""} `)),q(S,s)};I(b,S=>{r()&&S(p)}),q(t,d),yt()}var If=F(" ");function mn(t,n){let r=de(n,"color",8),a=de(n,"title",8),o=de(n,"text",8);var f=If(),i=c(f,!0);u(f),j(()=>{Q(f,"title",a()),Zr(f,1,`bd-${r()??""}`),h(i,o())}),q(t,f)}var Wf=F(" ");function mu(t,n){xt(n,!1);let r=W({});Xr.subscribe(s=>{E(r,s)});let a=de(n,"timestamp",8),o=de(n,"fullTimeColor",8),f=de(n,"offset",8),i=W();gr(()=>($(a()),$(f()),Ja),()=>{E(i,Math.abs(new Date().getTime()-a().getTime())<3e5),isNaN(f())||Ja(a(),f()-(24+a().getHours()-a().getUTCHours())%24)}),kr(),Mt();var d=Mr(),b=fe(d),p=s=>{var m=da();j(k=>h(m,k),[()=>($(Ht),$(a()),e(r),v(()=>`${Ht(a().getDate())}. ${e(r).months?e(r).months?.[a().getMonth()]:Ht(a().getMonth()+1)} ${Ht(a().getHours())}:${Ht(a().getMinutes())}`))]),q(s,m)},S=s=>{var m=Wf(),k=c(m,!0);u(m),j(g=>{Zr(m,1,o()),h(k,g)},[()=>($(Ht),$(a()),v(()=>`${Ht(a().getDate())}.${Ht(a().getMonth()+1)}.${a().getFullYear()} ${Ht(a().getHours())}:${Ht(a().getMinutes())}`))]),q(s,m)};I(b,s=>{e(i)?s(p):s(S,-1)}),q(t,d),yt()}var Bf=ta('');function Uf(t){var n=Bf();q(t,n)}var Hf=ta('');function zf(t){var n=Hf();q(t,n)}var Yf=ta('');function Gf(t){var n=Yf();q(t,n)}var Kf=F('
'),Vs=F('
'),Vf=F('
',1),Xf=F('
'),Qf=F(''),Zf=F(" "),Jf=F('
'),ed=F('');function td(t,n){xt(n,!1);let r=de(n,"basepath",8,"/"),a=de(n,"data",24,()=>({})),o=W({});function f(){confirm((e(d).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(o).upgrade.n))&&(hu(e(o).upgrade.n),qr.update(be=>(be.upgrade.t=e(o).upgrade.n,be.upgrade.p=0,be.upgrading=!0,be)))}let i=W();qr.subscribe(be=>{E(o,be)});let d=W({});Xr.subscribe(be=>{E(d,be)}),gr(()=>e(o),()=>{E(i,Math.max(0,e(o).upgrade.p))}),kr(),Mt();var b=ed(),p=c(b),S=c(p),s=c(S),m=l(c(s)),k=c(m,!0);u(m),u(s),u(S);var g=l(S,2),A=c(g);Ff(c(A),{get epoch(){return $(a()),v(()=>a().u)}}),u(A);var P=l(A,2),R=be=>{var Le=Kf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`${ct??""}°C`),[()=>($(a()),v(()=>a().t>-50?a().t.toFixed(1):"-"))]),q(be,Le)};I(P,be=>{$(a()),v(()=>a().t>-50)&&be(R)});var Y=l(P,2),H=c(Y);u(Y),u(g);var T=l(g,2),O=c(T);{let be=Ce(()=>(e(o),e(d),$(a()),v(()=>e(o).booting?e(d).header?.booting??"Booting":a().v>2?a().v.toFixed(2)+"V":"ESP"))),Le=Ce(()=>($(Aa),e(o),$(a()),v(()=>Aa(e(o).booting?2:a().em))));mn(O,{title:"ESP",get text(){return e(be)},get color(){return e(Le)}})}var C=l(O,2);{let be=Ce(()=>($(Aa),e(o),$(a()),v(()=>Aa(e(o).booting?9:a().hm))));mn(C,{title:"HAN",text:"HAN",get color(){return e(be)}})}var B=l(C,2);{let be=Ce(()=>($(a()),v(()=>a().r?a().r.toFixed(0)+"dBm":"WiFi"))),Le=Ce(()=>($(Aa),e(o),$(a()),v(()=>Aa(e(o).booting?9:a().wm))));mn(B,{title:"WiFi",get text(){return e(be)},get color(){return e(Le)}})}var J=l(B,2),te=c(J);{let be=Ce(()=>(e(d),v(()=>e(d).header?.services??"Services"))),Le=Ce(()=>(e(d),v(()=>e(d).header?.services??"Services"))),Ve=Ce(()=>($(Aa),e(o),$(a()),v(()=>Aa(e(o).booting?9:a().sa))));mn(te,{get title(){return e(be)},get text(){return e(Le)},get color(){return e(Ve)}})}u(J),u(T);var le=l(T,2),ve=be=>{var Le=Vs(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.han??"HAN")+": "+(e(d).errors?.han?.[a().he]??a().he))))),q(be,Le)};I(le,be=>{$(a()),v(()=>a().he<0||a().he>0)&&be(ve)});var Me=l(le,2),K=be=>{var Le=Vs(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.mqtt??"MQTT")+": "+(e(d).errors?.mqtt?.[a().me]??a().me))))),q(be,Le)};I(Me,be=>{$(a()),v(()=>a().me<0)&&be(K)});var x=l(Me,2),_=be=>{var Le=Vs(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.price??"PS")+": "+(e(d).errors?.price?.[a().ee]??a().ee))))),q(be,Le)};I(x,be=>{$(a()),v(()=>a().ee>0||a().ee<0)&&be(_)});var w=l(x,2),y=c(w),M=c(y),N=c(M);u(M),u(y);var z=l(y,2),Z=c(z);{let be=Ce(()=>($(a()),v(()=>a().c?new Date(a().c*1e3):new Date(0))));mu(Z,{get timestamp(){return e(be)},get offset(){return e(o),v(()=>e(o).clock_offset)},fullTimeColor:"text-red-500"})}u(z);var ge=l(z,2),Be=be=>{var Le=Vf(),Ve=fe(Le),ct=c(Ve);Uf(c(ct),{}),u(ct),u(Ve);var Ge=l(Ve,2),ht=c(Ge);zf(c(ht),{}),u(ht),u(Ge),j(()=>{Q(Ve,"title",(e(d),v(()=>e(d).header?.config??""))),Q(Ge,"title",(e(d),v(()=>e(d).header?.status??"")))}),q(be,Le)};I(ge,be=>{e(o),v(()=>e(o).vndcfg&&e(o).usrcfg)&&be(Be)});var Oe=l(ge,2),ze=c(Oe);Gf(c(ze),{}),u(ze),u(Oe);var pt=l(Oe,2),Ze=be=>{var Le=Xf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`Upgrading to ${e(o),v(()=>e(o).upgrade.t)??""}, ${ct??""}%`),[()=>(e(i),v(()=>e(i).toFixed(1)))]),q(be,Le)},Et=be=>{var Le=Jf(),Ve=c(Le),ct=ht=>{var ut=Qf(),mt=c(ut),$r=c(mt);u(mt),u(ut),j(()=>h($r,`${e(d),v(()=>e(d).header?.new_version??"New version")??""}: ${e(o),v(()=>e(o).upgrade.n)??""}`)),He("click",ut,f),q(ht,ut)},Ge=ht=>{var ut=Zf(),mt=c(ut);u(ut),j(()=>h(mt,`${e(d),v(()=>e(d).header?.new_version??"New version")??""}: ${e(o),v(()=>e(o).upgrade.n)??""}`)),q(ht,ut)};I(Ve,ht=>{e(o),$(a()),v(()=>e(o).security==0||a().a)?ht(ct):ht(Ge,-1)}),u(Le),j(()=>Q(Le,"title",(e(d),e(o),v(()=>(e(d).header?.new_version??"New version")+": "+e(o).upgrade.n)))),q(be,Le)};I(pt,be=>{e(o),v(()=>e(o).upgrading)?be(Ze):(e(o),v(()=>e(o).fwconsent===1&&e(o).upgrade.n)&&be(Et,1))}),u(w),u(p),u(b),j((be,Le,Ve)=>{Q(s,"href",r()),h(k,(e(o),v(()=>e(o).version))),h(H,`${e(d),v(()=>e(d).header?.mem??"Free")??""}: ${be??""}kb`),Q(J,"title",(e(d),v(()=>e(d).header?.services??"Services"))),Q(N,"src",Le),Q(Oe,"title",(e(d),v(()=>e(d).header?.doc??""))),Q(ze,"href",Ve)},[()=>($(a()),v(()=>a().m?(a().m/1e3).toFixed(1):"-")),()=>($(r()),v(()=>(r()+"/logo.svg").replace("//","/"))),()=>($(Jt),v(()=>Jt("")))]),q(t,b),yt()}var rd=ta('');function ad(t,n){xt(n,!1);let r=de(n,"pct",8,0),a=de(n,"color",8,"red");function o(p,S,s,m){var k=(m-90)*Math.PI/180;return{x:p+s*Math.cos(k),y:S+s*Math.sin(k)}}function f(p,S,s,m,k){var g=o(p,S,s,k),A=o(p,S,s,m),P=k-m<=180?"0":"1";return["M",g.x,g.y,"A",s,s,0,P,0,A.x,A.y].join(" ")}Mt();var i=rd(),d=c(i),b=l(d);u(i),j((p,S)=>{Q(d,"d",p),Q(b,"d",S),Q(b,"stroke",a())},[()=>v(()=>f(150,150,115,210,510)),()=>($(r()),v(()=>f(150,150,115,210,210+300*r()/100)))]),q(t,i),yt()}var nd=F('
',1),id=F('

');function Ul(t,n){xt(n,!1);let r=de(n,"val",8),a=de(n,"max",8),o=de(n,"unit",8),f=de(n,"label",8),i=de(n,"sub",24,()=>["",""]),d=de(n,"colorFn",8),b=W(),p=W(0);gr(()=>($(r()),$(o()),$(a())),()=>{E(b,Nr(r(),o())),E(p,Math.min(r(),a())/a()*100)}),kr(),Mt();var S=id(),s=c(S);{let O=Ce(()=>($(d()),e(p),v(()=>d()(e(p),document.documentElement.classList.contains("dark")))));ad(s,{get pct(){return e(p)},get color(){return e(O)}})}var m=l(s,2),k=c(m),g=c(k,!0);u(k);var A=l(k,4),P=c(A,!0);u(A);var R=l(A,2),Y=c(R,!0);u(R);var H=l(R,2),T=O=>{var C=nd(),B=l(fe(C),2),J=c(B,!0);u(B);var te=l(B,2),le=c(te);u(te),j(()=>{h(J,($(i()),v(()=>i()[0]))),h(le,`${$(i()),v(()=>i()[1])??""}/kWh`)}),q(O,C)};I(H,O=>{i()&&O(T)}),u(m),u(S),j(()=>{h(g,f()),h(P,(e(b),v(()=>e(b)[0]))),h(Y,(e(b),v(()=>e(b)[1])))}),q(t,S),yt()}var sd=F('
');function od(t,n){let r=de(n,"title",8),a=de(n,"x",8),o=de(n,"y",8),f=W(),i=W();var d=sd(),b=c(d,!0);u(d),j(()=>{lf(d,`top: ${o()-e(i)-10}px; left: ${a()-e(f)/2}px;`),h(b,r())}),$n(d,"clientHeight",p=>E(i,p)),$n(d,"clientWidth",p=>E(f,p)),q(t,d)}var ld=500;function Hl(t){let n,r,a,o;function f(){r&&(tu(r),r=null)}function i(){if(clearTimeout(o),clearTimeout(a),f(),n=t.dataset.title||t.getAttribute("title"),!!n){var p=t.getBoundingClientRect();r=As(od,{target:document.body,props:{title:n,x:p.left+window.scrollX+p.width/2,y:p.top+window.scrollY}})}}function d(){clearTimeout(o),o=setTimeout(i,ld)}function b(){clearTimeout(o),r&&(a=setTimeout(f,500))}return t.addEventListener("click",i),t.addEventListener("mouseenter",d),t.addEventListener("mouseleave",b),{destroy(){clearTimeout(o),clearTimeout(a),f(),t.removeEventListener("click",i),t.removeEventListener("mouseenter",d),t.removeEventListener("mouseleave",b)}}}var vd=F('
'),zl=F(" "),ud=F('
'),cd=F('
'),fd=ta(' '),dd=ta(' '),_d=ta(''),Yl=ta(' '),Gl=ta("",1),pd=ta("",1),hd=ta('',1),md=F('
');function Cn(t,n){xt(n,!1);let r=de(n,"config",8),a=W(),o=W(),f=W(),i=W(),d=W(),b=W(),p=W(),S=30,s=W(0);function m(T,O){let C;function B(J){cancelAnimationFrame(C),T.style.fontSize="",J&&(C=requestAnimationFrame(()=>{try{const te=T.getBBox();if(te.width>0&&te.width>J){const le=parseFloat(getComputedStyle(T).fontSize)||12;T.style.fontSize=le*J/te.width+"px"}}catch{}}))}return B(O),{update:B,destroy(){cancelAnimationFrame(C)}}}function k(T,O,C,B){return B?T>O-C?T-C:Math.min(T+10,O-C):O-T>=C?T+C/2:T-C/2}function g(T,O,C,B){return B?T>O-C:O-T=C?T-C/2:T+C/2}function P(T,O,C,B){return B?T(e(b),e(o),e(s),e(a),$(r()),e(f)),()=>{E(b,e(o)-e(s));let T=e(a)-(r().padding.left+r().padding.right);E(f,T/r().points.length),E(p,e(f)r().y.max?B=r().padding.bottom:Ce(b)||B<0?0:B})}),kr(),Mt();var R=md(),Y=c(R),H=T=>{var O=hd(),C=fe(O),B=Me=>{var K=cd(),x=c(K),_=M=>{var N=vd(),z=c(N,!0);u(N),j(()=>h(z,($(r()),v(()=>r().title)))),$n(N,"clientHeight",Z=>E(s,Z)),q(M,N)};I(x,M=>{$(r()),v(()=>r().title)&&M(_)});var w=l(x,2),y=M=>{var N=ud(),z=c(N),Z=Be=>{var Oe=zl(),ze=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),v(()=>"#"+r().link.url))),h(ze,($(r()),v(()=>r().link.text)))}),q(Be,Oe)},ge=Be=>{var Oe=zl(),ze=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),v(()=>r().link.url))),Q(Oe,"target",($(r()),v(()=>r().link.target))),h(ze,($(r()),v(()=>r().link.text)))}),q(Be,Oe)};I(z,Be=>{$(r()),v(()=>r().link.route)?Be(Z):Be(ge,-1)}),u(N),q(M,N)};I(w,M=>{$(r()),v(()=>r().link)&&M(y)}),u(K),q(Me,K)};I(C,Me=>{$(r()),v(()=>r().title||r().link)&&Me(B)});var J=l(C),te=c(J);Xt(te,5,()=>($(r()),v(()=>r().y.ticks)),Vt,(Me,K)=>{var x=Mr(),_=fe(x),w=M=>{var N=fd(),z=l(c(N)),Z=c(z,!0);u(z),u(N),j(ge=>{Zr(N,0,`tick tick-${e(K),v(()=>e(K).value)??""} tick-${e(K),v(()=>e(K).color)??""}`),Q(N,"transform",`translate(0, ${ge??""})`),Q(z,"x",(e(K),v(()=>e(K).align=="right"?"90%":""))),h(Z,(e(K),v(()=>e(K).label)))},[()=>(e(d),e(K),v(()=>e(d)(e(K).value)))]),q(M,N)},y=er(()=>(e(d),e(K),v(()=>!isNaN(e(d)(e(K).value)))));I(_,M=>{e(y)&&M(w)}),q(Me,x)}),u(te);var le=l(te);Xt(le,5,()=>($(r()),v(()=>r().x.ticks)),Vt,(Me,K,x)=>{var _=Mr(),w=fe(_),y=N=>{var z=_d(),Z=c(z),ge=Be=>{var Oe=dd(),ze=c(Oe,!0);u(Oe),vi(Oe,(pt,Ze)=>m?.(pt,Ze),()=>e(f)*.85),j(()=>{Q(Oe,"x",e(f)/2),h(ze,(e(K),v(()=>e(K).label)))}),q(Be,Oe)};I(Z,Be=>{e(f),$(r()),v(()=>e(f)>20||x%2==0||!r().x.ticks[x-1].label)&&Be(ge)}),u(z),j(Be=>Q(z,"transform",`translate(${Be??""},${e(b)??""})`),[()=>(e(i),v(()=>e(i)(x)))]),q(N,z)},M=er(()=>(e(i),v(()=>!isNaN(e(i)(x)))));I(w,N=>{e(M)&&N(y)}),q(Me,_)}),u(le);var ve=l(le);Xt(ve,5,()=>($(r()),v(()=>r().points)),Vt,(Me,K,x)=>{var _=Mr(),w=fe(_),y=N=>{var z=pd(),Z=fe(z),ge=c(Z),Be=Ze=>{var Et=Gl(),be=fe(Et),Le=l(be),Ve=ct=>{var Ge=Yl(),ht=c(Ge,!0);u(Ge),vi(Ge,(ut,mt)=>m?.(ut,mt),()=>!e(K).labelAngle&&e(f)>=S?e(f)*.95:null),j((ut,mt,$r)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"text-anchor",(e(f),e(K),v(()=>e(f)e(K).labelAngle?e(K).labelAngle:e(f)e(K).label)))},[()=>(e(d),e(K),e(p),e(f),$(r()),v(()=>g(e(d)(e(K).value),e(d)(0),e(p),!!e(K).labelAngle||e(f)(e(i),e(f),v(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(K),e(p),e(f),v(()=>k(e(d)(e(K).value),e(d)(0),e(p),!!e(K).labelAngle||e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(K),v(()=>e(K).color)))},[()=>(e(i),v(()=>e(i)(x)+2)),()=>(e(d),e(K),v(()=>e(d)(e(K).value))),()=>(e(d),$(r()),e(K),v(()=>e(d)(r().y.min)-e(d)(Math.min(r().y.min,0)+e(K).value)))]),q(Ze,Et)};I(ge,Ze=>{e(K),v(()=>e(K).value!==void 0)&&Ze(Be)}),u(Z),vi(Z,Ze=>Hl?.(Ze));var Oe=l(Z),ze=c(Oe),pt=Ze=>{var Et=Gl(),be=fe(Et),Le=l(be),Ve=ct=>{var Ge=Yl();Q(Ge,"text-anchor","middle");var ht=c(Ge,!0);u(Ge),vi(Ge,(ut,mt)=>m?.(ut,mt),()=>e(f)>=S?e(f)*.95:null),j((ut,mt,$r)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"fill",ut),Q(Ge,"transform",`translate(${mt??""} ${$r??""}) rotate(${e(f)e(K).label2)))},[()=>(e(d),e(K),e(p),e(f),$(r()),v(()=>P(e(d)(-e(K).value2),e(d)(0),e(p),e(f)(e(i),e(f),v(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(K),e(p),e(f),v(()=>A(e(d)(-e(K).value2),e(d)(0),e(p),e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(K),v(()=>e(K).color2?e(K).color2:e(K).color)))},[()=>(e(i),v(()=>e(i)(x)+2)),()=>(e(d),v(()=>e(d)(0))),()=>(e(d),$(r()),e(K),v(()=>e(d)(r().y.min)-e(d)(r().y.min+e(K).value2)))]),q(Ze,Et)};I(ze,Ze=>{e(K),v(()=>e(K).value2>1e-4)&&Ze(pt)}),u(Oe),vi(Oe,Ze=>Hl?.(Ze)),j(()=>{Q(Z,"data-title",(e(K),v(()=>e(K).title))),Q(Oe,"data-title",(e(K),v(()=>e(K).title2)))}),q(N,z)},M=er(()=>(e(i),e(d),e(K),v(()=>!isNaN(e(i)(x))&&!isNaN(e(d)(e(K).value)))));I(w,N=>{e(M)&&N(y)}),q(Me,_)}),u(ve),u(J),j(()=>Q(J,"viewBox",`0 0 ${e(a)??""} ${e(b)??""}`)),q(T,O)};I(Y,T=>{$(r()),e(b),v(()=>r().x.ticks&&r().points&&e(b))&&T(H)}),u(R),$n(R,"clientWidth",T=>E(a,T)),$n(R,"clientHeight",T=>E(o,T)),q(t,R),yt()}function gd(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"u1",8),o=de(n,"u2",8),f=de(n,"u3",8),i=de(n,"ds",8),d=W({});function b(p){return{label:Ut(p)+"V",title:p.toFixed(1)+" V",value:isNaN(p)?0:p,color:Af(p||0,document.documentElement.classList.contains("dark"))}}gr(()=>($(a()),$(i()),$(o()),$(f()),$(r())),()=>{let p=[],S=[];a()>0&&(p.push({label:i()===1?"L1-L2":"L1"}),S.push(b(a()))),o()>0&&(p.push({label:i()===1?"L1-L3":"L2"}),S.push(b(o()))),f()>0&&(p.push({label:i()===1?"L2-L3":"L3"}),S.push(b(f()))),E(d,{title:r(),padding:{top:20,right:15,bottom:20,left:35},y:{min:200,max:260,ticks:[{value:207,label:"-10%"},{value:230,label:"230V"},{value:253,label:"+10%"}]},x:{ticks:p},points:S})}),kr(),Mt(),Cn(t,{get config(){return e(d)}}),yt()}var bd=F('
');function xd(t,n){xt(n,!1);let r=de(n,"importInstant",8),a=de(n,"exportInstant",8),o=de(n,"importTotal",8),f=de(n,"exportTotal",8),i=de(n,"translations",24,()=>({})),d=W(),b=W(),p=W(),S=W();gr(()=>($(r()),$(a()),$(o()),$(f())),()=>{E(d,Nr(r(),"VAr")),E(b,Nr(a(),"VAr")),E(p,Nr(o()*1e3,"VArh")),E(S,Nr(f()*1e3,"VArh"))}),kr(),Mt();var s=bd(),m=c(s),k=c(m,!0);u(m);var g=l(m,2),A=c(g),P=c(A,!0);u(A);var R=l(A,2),Y=c(R);u(R);var H=l(R,2),T=c(H,!0);u(H);var O=l(H,2),C=c(O);u(O),u(g);var B=l(g,2),J=c(B),te=c(J,!0);u(J);var le=l(J,2),ve=c(le);u(le);var Me=l(le,2),K=c(Me,!0);u(Me);var x=l(Me,2),_=c(x);u(x),u(B),u(s),j(()=>{h(k,($(i()),v(()=>i().reactive?.title??"Reactive"))),h(P,($(i()),v(()=>i().reactive?.instant_in??"Instant in"))),h(Y,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(T,($(i()),v(()=>i().reactive?.instant_out??"Instant out"))),h(C,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(te,($(i()),v(()=>i().reactive?.total_in??"Total in"))),h(ve,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(K,($(i()),v(()=>i().reactive?.total_out??"Total out"))),h(_,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`)}),q(t,s),yt()}var Va=F('
'),yd=F('
',1),wd=F('
',1),kd=F('
',1),$d=F('


');function Sd(t,n){xt(n,!1);let r=de(n,"sysinfo",8),a=de(n,"data",8),o=de(n,"currency",8),f=de(n,"hasExport",8),i=de(n,"translations",24,()=>({})),d=W(),b=W(),p=W(),S=W(),s=W(),m=W(),k=W(),g=W(),A=W(!1),P=W(3);gr(()=>(e(A),$(a()),$(r())),()=>{E(A,a()&&a().h&&(Math.abs(a().h.c)>.01||Math.abs(a().d.c)>.01||Math.abs(a().m.c)>.01||Math.abs(a().h.i)>.01||Math.abs(a().d.i)>.01||Math.abs(a().m.i)>.01)),E(P,e(A)?3:2),E(d,Nr(a()?.h?.u*1e3,"Wh")),E(b,Nr(a()?.d?.u*1e3,"Wh")),E(p,Nr(a()?.m?.u*1e3,"Wh")),E(S,Nr(r()?.last_month?.u*1e3,"Wh")),E(s,Nr(a()?.h?.p*1e3,"Wh")),E(m,Nr(a()?.d?.p*1e3,"Wh")),E(k,Nr(a()?.m?.p*1e3,"Wh")),E(g,Nr(r()?.last_month?.p*1e3,"Wh"))}),kr(),Mt();var R=$d(),Y=c(R),H=c(Y,!0);u(Y);var T=l(Y,5),O=C=>{var B=Mr(),J=fe(B),te=ve=>{var Me=yd(),K=fe(Me),x=c(K,!0);u(K);var _=l(K,2),w=c(_),y=c(w,!0);u(w);var M=l(w,2),N=c(M);u(M);var z=l(M,2),Z=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().h.c,2)))]),q(ae,pe)};I(z,ae=>{e(A)&&ae(Z)});var ge=l(z,2),Be=c(ge,!0);u(ge);var Oe=l(ge,2),ze=c(Oe);u(Oe);var pt=l(Oe,2),Ze=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().d.c,1)))]),q(ae,pe)};I(pt,ae=>{e(A)&&ae(Ze)});var Et=l(pt,2),be=c(Et,!0);u(Et);var Le=l(Et,2),Ve=c(Le);u(Le);var ct=l(Le,2),Ge=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().m.c)))]),q(ae,pe)};I(ct,ae=>{e(A)&&ae(Ge)});var ht=l(ct,2),ut=c(ht,!0);u(ht);var mt=l(ht,2),$r=c(mt);u(mt);var Ur=l(mt,2),Ar=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(r()),v(()=>Ut(r().last_month?.c)))]),q(ae,pe)};I(Ur,ae=>{e(A)&&ae(Ar)}),u(_);var ke=l(_,2),je=c(ke,!0);u(ke);var Ye=l(ke,2),rt=c(Ye),zt=c(rt,!0);u(rt);var ft=l(rt,2),Bt=c(ft);u(ft);var Qt=l(ft,2),Rr=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().h.i,2)))]),q(ae,pe)};I(Qt,ae=>{e(A)&&ae(Rr)});var br=l(Qt,2),_e=c(br,!0);u(br);var U=l(br,2),X=c(U);u(U);var xe=l(U,2),ue=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().d.i,1)))]),q(ae,pe)};I(xe,ae=>{e(A)&&ae(ue)});var $e=l(xe,2),D=c($e,!0);u($e);var V=l($e,2),ne=c(V);u(V);var Ee=l(V,2),ce=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().m.i)))]),q(ae,pe)};I(Ee,ae=>{e(A)&&ae(ce)});var ye=l(Ee,2),we=c(ye,!0);u(ye);var Pe=l(ye,2),Te=c(Pe);u(Pe);var Ne=l(Pe,2),Ie=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(r()),v(()=>Ut(r().last_month?.i)))]),q(ae,pe)};I(Ne,ae=>{e(A)&&ae(Ie)}),u(Ye),j((ae,pe,me,he,se,Ae)=>{h(x,($(i()),v(()=>i().common?.import??"Import"))),Zr(_,1,`grid grid-cols-${e(P)??""} mb-3`),h(y,ae),h(N,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(Be,pe),h(ze,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(be,me),h(Ve,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(ut,($(i()),v(()=>i().realtime?.last_mo??"Last mo."))),h($r,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`),h(je,($(i()),v(()=>i().common?.export??"Export"))),Zr(Ye,1,`grid grid-cols-${e(P)??""}`),h(zt,he),h(Bt,`${e(s),v(()=>e(s)[0])??""} ${e(s),v(()=>e(s)[1])??""}`),h(_e,se),h(X,`${e(m),v(()=>e(m)[0])??""} ${e(m),v(()=>e(m)[1])??""}`),h(D,Ae),h(ne,`${e(k),v(()=>e(k)[0])??""} ${e(k),v(()=>e(k)[1])??""}`),h(we,($(i()),v(()=>i().realtime?.last_mo??"Last mo."))),h(Te,`${e(g),v(()=>e(g)[0])??""} ${e(g),v(()=>e(g)[1])??""}`)},[()=>($(dr),$(i()),v(()=>dr(i().common?.hour??"Hour"))),()=>($(dr),$(i()),v(()=>dr(i().common?.day??"Day"))),()=>($(dr),$(i()),v(()=>dr(i().common?.month??"Month"))),()=>($(dr),$(i()),v(()=>dr(i().common?.hour??"Hour"))),()=>($(dr),$(i()),v(()=>dr(i().common?.day??"Day"))),()=>($(dr),$(i()),v(()=>dr(i().common?.month??"Month")))]),q(ve,Me)},le=ve=>{var Me=kd(),K=fe(Me),x=c(K,!0);u(K);var _=l(K,2),w=c(_),y=c(w,!0);u(w);var M=l(w,2),N=c(M);u(M);var z=l(M,2),Z=c(z,!0);u(z);var ge=l(z,2),Be=c(ge);u(ge);var Oe=l(ge,2),ze=c(Oe,!0);u(Oe);var pt=l(Oe,2),Ze=c(pt);u(pt);var Et=l(pt,2),be=c(Et,!0);u(Et);var Le=l(Et,2),Ve=c(Le);u(Le),u(_);var ct=l(_,2),Ge=ht=>{var ut=wd(),mt=fe(ut),$r=c(mt,!0);u(mt);var Ur=l(mt,2),Ar=c(Ur),ke=c(Ar,!0);u(Ar);var je=l(Ar,2),Ye=c(je);u(je);var rt=l(je,2),zt=c(rt,!0);u(rt);var ft=l(rt,2),Bt=c(ft);u(ft);var Qt=l(ft,2),Rr=c(Qt,!0);u(Qt);var br=l(Qt,2),_e=c(br);u(br);var U=l(br,2),X=c(U,!0);u(U);var xe=l(U,2),ue=c(xe);u(xe),u(Ur),j(($e,D,V,ne,Ee,ce,ye)=>{h($r,($(i()),v(()=>i().realtime?.cost??"Cost"))),h(ke,$e),h(Ye,`${D??""} ${o()??""}`),h(zt,V),h(Bt,`${ne??""} ${o()??""}`),h(Rr,Ee),h(_e,`${ce??""} ${o()??""}`),h(X,($(i()),v(()=>i().realtime?.last_month??"Last month"))),h(ue,`${ye??""} ${o()??""}`)},[()=>($(dr),$(i()),v(()=>dr(i().common?.hour??"Hour"))),()=>($(Ut),$(a()),v(()=>Ut(a().h.c,2))),()=>($(dr),$(i()),v(()=>dr(i().common?.day??"Day"))),()=>($(Ut),$(a()),v(()=>Ut(a().d.c,1))),()=>($(dr),$(i()),v(()=>dr(i().common?.month??"Month"))),()=>($(Ut),$(a()),v(()=>Ut(a().m.c))),()=>($(Ut),$(r()),v(()=>Ut(r().last_month?.c)))]),q(ht,ut)};I(ct,ht=>{e(A)&&ht(Ge)}),j((ht,ut,mt)=>{h(x,($(i()),v(()=>i().realtime?.consumption??"Consumption"))),h(y,ht),h(N,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(Z,ut),h(Be,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(ze,mt),h(Ze,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(be,($(i()),v(()=>i().realtime?.last_month??"Last month"))),h(Ve,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`)},[()=>($(dr),$(i()),v(()=>dr(i().common?.hour??"Hour"))),()=>($(dr),$(i()),v(()=>dr(i().common?.day??"Day"))),()=>($(dr),$(i()),v(()=>dr(i().common?.month??"Month")))]),q(ve,Me)};I(J,ve=>{f()?ve(te):ve(le,-1)}),q(C,B)};I(T,C=>{a()&&C(O)}),u(R),j(()=>h(H,($(i()),v(()=>i().realtime?.title??"Real time calculations")))),q(t,R),yt()}function Xs(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"json",8),o=de(n,"sysinfo",8),f=W({}),i=W(),d=W(),b=document.documentElement.classList.contains("dark"),p=W(new Date);Ps(()=>{let k;function g(){E(p,new Date),k=setTimeout(()=>{g()},(15-e(p).getMinutes()%15)*6e4)}return g(),()=>{clearTimeout(k)}}),gr(()=>($(a()),e(p),e(d),e(i),$(o()),$(r()),Rl),()=>{if(a()?.prices?.length>0){E(p,new Date);let k=a()?.currency,g=0,A=[],P=[],R=[];E(d,E(i,0)),Ja(e(p),o().clock_offset-(24+e(p).getHours()-e(p).getUTCHours())%24);let Y=a()?.cursor?a().cursor:0;for(e(p).setMinutes(Math.floor(e(p).getMinutes()/a()?.resolution)*a()?.resolution,0,0);Y0&&a()?.resolution<60&&e(p).getMinutes()!=0?"":Ht(e(p).getHours())}),R.push(g*100),E(d,Math.min(e(d),g*100)),E(i,Math.max(e(i),g*100)),Pf(e(p),a()?.resolution),Y++;let H=mi(Math.max(Math.abs(e(d))/100,Math.abs(e(i))/100),k);if(H&&H[1]&&H[1]!=k)for(k=H[1],E(d,e(d)*100),E(i,e(i)*100),Y=0;Y=0?J.toFixed(te):"",title:J>=0?J.toFixed(2)+" "+k:"",value:g>=0?Math.abs(g):0,label2:J<0?J.toFixed(te):"",title2:J<0?J.toFixed(2)+" "+k:"",value2:g<0?Math.abs(g):0,color:b?"#5c2da5":"#7c3aed"})}let O=Math.max(e(i),Math.abs(e(d)));if(e(d)<0){E(d,Math.min(O/4*-1,e(d)));let J=Math.ceil(Math.abs(e(d))/O*4),te=e(d)/J;for(Y=1;Y{Cn(k,{get config(){return e(f)}})};I(s,k=>{e(f),v(()=>e(f).points&&e(f).points.length>0)&&k(m)}),q(t,S),yt()}function qd(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"json",8),o=de(n,"sysinfo",8),f=W({}),i=W(),d=W(),b=document.documentElement.classList.contains("dark");gr(()=>(e(d),e(i),$(o()),$(a()),$(r())),()=>{let p=0,S=[],s=[],m=[];E(d,E(i,0));let k=new Date,g=new Date;g.setDate(0),g.setHours(12);let A=(g.getHours()-g.getUTCHours())%24-o().clock_offset,P=k.getUTCHours();for(Ja(k,-A-24),p=P;p<24;p++){let T=a()["i"+Ht(p)],O=a()["e"+Ht(p)];T===void 0&&(T=0),O===void 0&&(O=0),s.push({label:Ht(k.getHours())}),m.push({label:T.toFixed(1),title:T.toFixed(2)+" kWh",value:T*10,label2:O.toFixed(1),title2:O.toFixed(2)+" kWh",value2:O*10,color:b?"#5c2da5":"#7c3aed",color2:b?"#27728e":"#37829e"}),E(d,Math.max(e(d),O*10)),E(i,Math.max(e(i),T*10)),Ja(k,1)}for(p=0;p(e(d),e(i),$(o()),$(a()),$(r())),()=>{let p=0,S=[],s=[],m=[];E(d,E(i,0));let k=new Date,g=new Date;g.setDate(0),g.setHours(12);let A=(g.getHours()-g.getUTCHours())%24-o().clock_offset;for(Ja(k,-A),Ja(g,-A),p=k.getDate();p<=g.getDate();p++){let H=a()["i"+Ht(p)],T=a()["e"+Ht(p)];H===void 0&&(H=0),T===void 0&&(T=0),s.push({label:Ht(p)}),m.push({label:H.toFixed(H<10?1:0),title:H.toFixed(2)+" kWh",value:H,label2:T.toFixed(T<10?1:0),title2:T.toFixed(2)+" kWh",value2:T,color:b?"#5c2da5":"#7c3aed",color2:b?"#27728e":"#37829e"}),E(d,Math.max(e(d),T)),E(i,Math.max(e(i),H))}for(p=1;p($(a()),e(d),e(i),$(r())),()=>{let b=0,p=0,S=[],s=[],m=[];a().s&&a().s.forEach((A,P)=>{var R=A.n?A.n:A.a;p=A.v,p==-127&&(p=0),s.push({label:R.slice(-4)}),m.push({label:p.toFixed(1),value:p,color:o?"#5c2da5":"#7c3aed"}),E(d,Math.min(e(d),p)),E(i,Math.max(e(i),p))}),E(i,Math.ceil(e(i))),E(d,Math.floor(e(d)));let k=e(i);e(d)<0&&(k+=Math.abs(e(d)));let g=k/4;for(b=0;b<5;b++)p=e(d)+g*b,S.push({value:p,label:p.toFixed(1)});E(f,{title:r()+" (°C)",dark:document.documentElement.classList.contains("dark"),height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:e(d),max:e(i),ticks:S},x:{ticks:s},points:m})}),kr(),Mt(),Cn(t,{get config(){return e(f)}}),yt()}function Td(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"translations",24,()=>({})),o=document.documentElement.classList.contains("dark"),f=W({}),i=W(0),d=0,b=de(n,"tariffData",8),p=de(n,"realtime",8);gr(()=>($(b()),$(p()),$(a()),e(i),$(r())),()=>{let S=0,s=[],m=[],k=[];if(s.push({value:0,label:0}),b()&&!isNaN(p()?.h?.u)&&(k.push({label:p().h.u.toFixed(2),value:p().h.u,title:(a().common?.now??"Now")+": "+p().h.u.toFixed(2)+" kWh",color:es(p().h.u/b().c*100)}),m.push({label:a().common?.now??"Now"})),b()&&b().p){const g=[...b().p].sort((A,P)=>A.d-P.d);for(S=0;S0&&(R=Ht(A.d)+".",P=Ht(A.d)+"."+(a().months?a().months?.[new Date().getMonth()]:Ht(new Date().getMonth()+1)),g.length<4&&(R=P)),isNaN(A.h)||(P=P+" "+Ht(A.h)+":00"),P=P+": "+A.v.toFixed(2)+" kWh",k.push({label:A.v.toFixed(2),value:A.v,title:P,color:o?"#5c2da5":"#7c3aed"}),m.push({label:R}),E(i,Math.max(e(i),A.v))}}if(b()&&b().t){for(S=0;S=e(i))break;s.push({value:g,label:g})}s.push({label:b().m.toFixed(1),align:"right",color:"green",value:b().m})}b()&&b().c&&(s.push({label:b().c.toFixed(0),color:"orange",value:b().c}),E(i,Math.max(e(i),b().c))),E(i,Math.ceil(e(i))),E(f,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:30,bottom:20,left:20},y:{min:d,max:e(i),ticks:s},x:{ticks:m},points:k})}),kr(),Mt(),Cn(t,{get config(){return e(f)}}),yt()}var un=0,Ad={data:[]};async function Zo(){let t=await(await la(un<0?"realtime.json":"realtime.json?offset="+un)).json();Jo.update(n=>{for(let r=0;r=0&&(un+=t.size,unKn||$o-Kn>300?(Zo(),Qs=0):Jo.update(t=>{if(t.lastUpdate)for(;Kn>t.lastUpdate;)t.data.unshift(gu),t.data=t.data.slice(0,t.size),t.lastUpdate+=10,Qs++;else t.lastUpdate=Kn;return t})}function Cd(t){if(gu=t.i-t.e,Kn=t.u,!Kl){Zo(),Kl=!0,$o=Kn;return}Pd()&&Od()}var Nd=ta(' '),Ld=ta(' '),Dd=ta(''),Rd=F(' ',1),jd=F(' '),Fd=F('
');function Id(t,n){xt(n,!1);let r=de(n,"title",8),a=document.documentElement.classList.contains("dark"),o=W(null);Jo.subscribe(B=>{E(o,B)});let f=W(!1),i=W(),d=W(),b=W(),p=W(),S=W(),s=W(),m=W(),k=function(B,J,te){return Math.ceil(e(S)-(B-J)/(te-J)*e(S))-25},g=function(B){return 30+Math.ceil(B/e(o).size*(e(s)-35))},A=W(),P=W(),R=W(),Y=W();gr(()=>(e(S),e(p),e(s),e(b),e(R),e(o),e(d),e(i),e(A),e(P),e(m)),()=>{if(E(S,parseInt(e(p))-50),E(s,e(b)-35),E(R,e(s)/e(o).size),E(d,0),E(i,0),e(o).data&&e(S)>10&&e(s)>100&&e(R)>.1){E(f,!0);for(let te in e(o).data){let le=e(o).data[te];isNaN(le)&&(le=0),E(i,Math.max(Math.ceil(le/1e3)*1e3,e(i))),E(d,Math.min(Math.floor(le/1e3)*1e3,e(d)))}let B=e(i)-e(d);E(Y,e(i)>2500?"kW":"W"),E(A,[]);for(let te=e(d);te2500?(te/1e3).toFixed(1):te}),!(e(A).length>6));te+=B/5);E(P,[]);for(let te=0;te12));te+=Math.round(e(o).size/Math.round(e(s)/120)));let J=e(o).size;E(m,g(e(o).size)+","+k(0,e(d),e(i))+" "+g(1)+","+k(0,e(d),e(i)));for(let te in e(o).data){if(J<0)break;let le=e(o).data[te];isNaN(le)&&(le=0),E(m,g(J--)+","+k(le,e(d),e(i))+" "+e(m))}}else E(f,!1)}),kr(),Mt();var H=Fd(),T=c(H),O=B=>{var J=Rd(),te=fe(J),le=c(te);u(te);var ve=l(te,2),Me=K=>{var x=Dd(),_=c(x);Xt(_,5,()=>e(A),Vt,(M,N)=>{var z=Mr(),Z=fe(z),ge=Oe=>{var ze=Nd(),pt=l(c(ze)),Ze=c(pt,!0);u(pt),u(ze),j(Et=>{Zr(ze,0,`tick tick-${e(N),v(()=>e(N).value)??""}`),Q(ze,"transform",`translate(0, ${Et??""})`),h(Ze,(e(N),v(()=>e(N).label)))},[()=>(e(N),e(d),e(i),v(()=>k(e(N).value,e(d),e(i))))]),q(Oe,ze)},Be=er(()=>(e(N),e(d),e(i),v(()=>!isNaN(k(e(N).value,e(d),e(i))))));I(Z,Oe=>{e(Be)&&Oe(ge)}),q(M,z)}),u(_);var w=l(_);Xt(w,5,()=>e(P),Vt,(M,N)=>{var z=Mr(),Z=fe(z),ge=Oe=>{var ze=Ld(),pt=c(ze),Ze=c(pt,!0);u(pt),u(ze),j(Et=>{Q(ze,"transform",`translate(${Et??""},${e(S)??""})`),Q(pt,"x",e(R)/2),h(Ze,(e(N),v(()=>e(N).label)))},[()=>(e(N),v(()=>g(e(N).value)))]),q(Oe,ze)},Be=er(()=>(e(N),v(()=>!isNaN(g(e(N).value)))));I(Z,Oe=>{e(Be)&&Oe(ge)}),q(M,z)}),u(w);var y=l(w);u(x),j(()=>{Q(x,"viewBox",`0 0 ${e(s)??""} ${e(S)??""}`),Q(y,"fill",a?"#5c2da5":"#7c3aed"),Q(y,"stroke",a?"#5c2da5":"#7c3aed"),Q(y,"points",e(m))}),q(K,x)};I(ve,K=>{e(A)&&K(Me)}),j(()=>h(le,`${r()??""} (${e(Y)??""})`)),q(B,J)},C=B=>{var J=jd(),te=c(J);u(J),j(()=>h(te,`${r()??""} not available`)),q(B,J)};I(T,B=>{e(f)?B(O):B(C,-1)}),u(H),$n(H,"clientWidth",B=>E(b,B)),$n(H,"clientHeight",B=>E(p,B)),q(t,H),yt()}function Zs(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"unit",8,""),o=de(n,"l1",8,!1),f=de(n,"l2",8,!1),i=de(n,"l2x",8,!1),d=de(n,"l3",8,!1),b=de(n,"l1i",8,0),p=de(n,"l2i",8,0),S=de(n,"l3i",8,0),s=de(n,"l1e",8,0),m=de(n,"l2e",8,0),k=de(n,"l3e",8,0),g=de(n,"maxImport",8,0),A=de(n,"maxExport",8,0),P=de(n,"importColorFn",8),R=de(n,"exportColorFn",8),Y=W({});function H(T,O){return{label:Ut(T>900?T/1e3:T)+(T>900?"k":"")+a(),title:T.toFixed(2)+" "+a(),value:isNaN(T)?0:T,color:P()(T?T/g()*100:0,document.documentElement.classList.contains("dark")),label2:Ut(O>900?O/1e3:O)+(O>900?"k":"")+a(),title2:O.toFixed(2)+" "+a(),value2:isNaN(O)?0:O,color2:R()(O?O/A()*100:0)}}gr(()=>($(o()),$(b()),$(s()),$(f()),$(i()),$(p()),$(m()),$(d()),$(S()),$(k()),$(A()),$(g()),$(r())),()=>{let T=[],O=[];o()&&(T.push({label:"L1"}),O.push(H(b(),s()))),f()&&(i()?(T.push({label:"L2"}),O.push({label:"Not available",labelAngle:-90,title:"L2 current is not reported by your meter",value:0,color:"#7c3aedcc"})):(T.push({label:"L2"}),O.push(H(p(),m())))),d()&&(T.push({label:"L3"}),O.push(H(S(),k())));let C=[];if(A()){let B=A()>g()?4:A()*4/g();C.push({value:-A(),label:"-100%"}),B>=4&&C.push({value:-A()/4*3,label:"-75%"}),B>=2&&C.push({value:-A()/2,label:"-50%"}),B>=4&&C.push({value:-A()/4,label:"-25%"})}if(C.push({value:0,label:"0%"}),g()){let B=g()>A()?4:g()*4/A();C.push({value:g()/4,label:"25%"}),B>=4&&C.push({value:g()/2,label:"50%"}),B>=2&&C.push({value:g()/4*3,label:"75%"}),B>=4&&C.push({value:g(),label:"100%"})}E(Y,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:15,bottom:20,left:35},y:{min:-A(),max:g(),ticks:C},x:{ticks:T},points:O})}),kr(),Mt(),Cn(t,{get config(){return e(Y)}}),yt()}var Vl=F('
Tariff 1
Tariff 2
',1),Wd=F('
'),Bd=F('
'),jn=F('
'),Ud=F('
'),on=F('
'),Hd=F('
');function zd(t,n){xt(n,!1);let r=W({}),a=W({}),o=W({}),f=W({}),i=W({}),d=W({}),b=W({}),p=W({}),S=W({});Os.subscribe(U=>E(r,U)),qr.subscribe(U=>E(a,U)),vu.subscribe(U=>E(o,U)),uu.subscribe(U=>E(f,U)),Vo.subscribe(U=>E(i,U)),Xo.subscribe(U=>E(d,U)),fu.subscribe(U=>E(b,U)),Xr.subscribe(U=>E(p,U)),_u.subscribe(U=>E(S,U));let s=W(),m=W(),k=W(),g=W(),A=W(),P=W(),R=W(),Y=W(),H=W(),T=W();gr(()=>(e(r),e(Y),e(H),e(T)),()=>{E(s,Nr(e(r)?.ic*1e3,"Wh")),E(m,Nr(e(r)?.ec*1e3,"Wh")),E(k,Nr(e(r)?.ict1*1e3,"Wh")),E(g,Nr(e(r)?.ict2*1e3,"Wh")),E(A,Nr(e(r)?.ect1*1e3,"Wh")),E(P,Nr(e(r)?.ect2*1e3,"Wh")),e(r)?.l1?.u==0&&e(r)?.l2?.u==0&&e(r)?.l3?.u==0?E(Y,E(H,E(T,E(R,!0)))):(E(Y,e(r)?.l1?.u>0||e(r)?.l1?.i>0||e(r)?.l1?.p>0||e(r)?.l1?.q>0),E(H,e(r)?.l2?.u>0||e(r)?.l2?.i>0||e(r)?.l2?.p>0||e(r)?.l2?.q>0),E(T,e(r)?.l3?.u>0||e(r)?.l3?.i>0||e(r)?.l3?.p>0||e(r)?.l3?.q>0),E(R,e(Y)&&e(H)&&e(T)))}),kr(),Mt();var O=Hd(),C=c(O),B=U=>{var X=Wd(),xe=c(X),ue=c(xe),$e=c(ue);{let we=Ce(()=>(e(r),v(()=>e(r).i?e(r).i:0))),Pe=Ce(()=>(e(r),v(()=>e(r).im?e(r).im:15e3))),Te=Ce(()=>(e(p),v(()=>e(p).common?.import??"Import"))),Ne=Ce(()=>($(mi),e(r),v(()=>mi(e(r).p,e(r).pc))));Ul($e,{get val(){return e(we)},get max(){return e(Pe)},unit:"W",get label(){return e(Te)},get sub(){return e(Ne)},get colorFn(){return es}})}u(ue);var D=l(ue,2),V=c(D,!0);u(D);var ne=l(D,2),Ee=c(ne);u(ne);var ce=l(ne,2),ye=we=>{var Pe=Vl(),Te=l(fe(Pe),2),Ne=c(Te);u(Te);var Ie=l(Te,4),ae=c(Ie);u(Ie),j(()=>{h(Ne,`${e(k),v(()=>e(k)[0])??""} ${e(k),v(()=>e(k)[1])??""}`),h(ae,`${e(g),v(()=>e(g)[0])??""} ${e(g),v(()=>e(g)[1])??""}`)}),q(we,Pe)};I(ce,we=>{e(r),v(()=>e(r)?.ict1>0||e(r)?.ict2>0)&&we(ye)}),u(xe),u(X),j(we=>{h(V,we),h(Ee,`${e(s),v(()=>e(s)[0])??""} ${e(s),v(()=>e(s)[1])??""}`)},[()=>(e(r),$(gs),v(()=>e(r).mt?gs(e(r).mt):"-"))]),q(U,X)},J=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.i,e(r).i))));I(C,U=>{e(J)&&U(B)});var te=l(C,2),le=U=>{var X=Bd(),xe=c(X),ue=c(xe),$e=c(ue);{let ce=Ce(()=>(e(r),v(()=>e(r).e?e(r).e:0))),ye=Ce(()=>(e(r),v(()=>e(r).om?e(r).om*1e3:1e4))),we=Ce(()=>(e(p),v(()=>e(p).common?.export??"Export"))),Pe=Ce(()=>($(mi),e(r),v(()=>mi(e(r).px,e(r).pc))));Ul($e,{get val(){return e(ce)},get max(){return e(ye)},unit:"W",get label(){return e(we)},get sub(){return e(Pe)},get colorFn(){return ui}})}u(ue);var D=l(ue,4),V=c(D);u(D);var ne=l(D,2),Ee=ce=>{var ye=Vl(),we=l(fe(ye),2),Pe=c(we);u(we);var Te=l(we,4),Ne=c(Te);u(Te),j(()=>{h(Pe,`${e(A),v(()=>e(A)[0])??""} ${e(A),v(()=>e(A)[1])??""}`),h(Ne,`${e(P),v(()=>e(P)[0])??""} ${e(P),v(()=>e(P)[1])??""}`)}),q(ce,ye)};I(ne,ce=>{e(r),v(()=>e(r)?.ect1>0||e(r)?.ect2>0)&&ce(Ee)}),u(xe),u(X),j(()=>h(V,`${e(m),v(()=>e(m)[0])??""} ${e(m),v(()=>e(m)[1])??""}`)),q(U,X)},ve=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.e,e(r).om||e(r).e>0))));I(te,U=>{e(ve)&&U(le)});var Me=l(te,2),K=U=>{var X=jn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).common?.voltage??"Volt")));gd($e,{get title(){return e(D)},get u1(){return e(r),v(()=>e(r).l1.u)},get u2(){return e(r),v(()=>e(r).l2.u)},get u3(){return e(r),v(()=>e(r).l3.u)},get ds(){return e(r),v(()=>e(r).ds)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},x=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.v,e(r).l1&&(e(r).l1.u>100||e(r).l2.u>100||e(r).l3.u>100)))));I(Me,U=>{e(x)&&U(K)});var _=l(Me,2),w=U=>{var X=jn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).common?.amperage??"Amp"))),V=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l1.i),0)))),ne=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l2.i),0)))),Ee=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l3.i),0))));Zs($e,{get title(){return e(D)},unit:"A",get importColorFn(){return es},get exportColorFn(){return ui},get maxImport(){return e(r),v(()=>e(r).mf)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l2x(){return e(r),v(()=>e(r).l2.e)},get l1i(){return e(V)},get l2i(){return e(ne)},get l3i(){return e(Ee)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},y=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.a,e(r).l1&&(e(r).l1.i>.01||e(r).l2.i>.01||e(r).l3.i>.01)))));I(_,U=>{e(y)&&U(w)});var M=l(_,2),N=U=>{var X=jn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).dashboard?.phase??"Phase"))),V=Ce(()=>(e(r),v(()=>(e(r).mf?e(r).mf:32)*230))),ne=Ce(()=>(e(r),e(R),v(()=>e(r).om?e(R)?e(r).om*1e3/Math.sqrt(3):e(r).om*1e3:0)));Zs($e,{get title(){return e(D)},unit:"W",get importColorFn(){return es},get exportColorFn(){return ui},get maxImport(){return e(V)},get maxExport(){return e(ne)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),v(()=>e(r).l1.p)},get l2i(){return e(r),v(()=>e(r).l2.p)},get l3i(){return e(r),v(()=>e(r).l3.p)},get l1e(){return e(r),v(()=>e(r).l1.q)},get l2e(){return e(r),v(()=>e(r).l2.q)},get l3e(){return e(r),v(()=>e(r).l3.q)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},z=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.h,e(r).l1&&(e(r).l1.p>.01||e(r).l2.p>.01||e(r).l3.p>.01||e(r).l1.q>.01||e(r).l2.q>.01||e(r).l3.q>.01)))));I(M,U=>{e(z)&&U(N)});var Z=l(M,2),ge=U=>{var X=jn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).dashboard?.pf??"Pf")));Zs($e,{get title(){return e(D)},get importColorFn(){return ui},get exportColorFn(){return ui},maxImport:1,get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),v(()=>e(r).l1.f)},get l2i(){return e(r),v(()=>e(r).l2.f)},get l3i(){return e(r),v(()=>e(r).l3.f)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},Be=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.f,e(r).l1&&(e(r).l1.f>.01||e(r).l2.f>.01||e(r).l3.f>.01)))));I(Z,U=>{e(Be)&&U(ge)});var Oe=l(Z,2),ze=U=>{var X=jn();xd(c(X),{get importInstant(){return e(r),v(()=>e(r).ri)},get exportInstant(){return e(r),v(()=>e(r).re)},get importTotal(){return e(r),v(()=>e(r).ric)},get exportTotal(){return e(r),v(()=>e(r).rec)},get translations(){return e(p)}}),u(X),q(U,X)},pt=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.r,e(r).ri>0||e(r).re>0||e(r).ric>0||e(r).rec>0))));I(Oe,U=>{e(pt)&&U(ze)});var Ze=l(Oe,2),Et=U=>{var X=jn(),xe=c(X);{let ue=Ce(()=>(e(r),v(()=>e(r).om>0||e(r).e>0)));Sd(xe,{get sysinfo(){return e(a)},get data(){return e(r),v(()=>e(r).ea)},get currency(){return e(r),v(()=>e(r).pc)},get hasExport(){return e(ue)},get translations(){return e(p)}})}u(X),q(U,X)},be=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.c,e(r).ea))));I(Ze,U=>{e(be)&&U(Et)});var Le=l(Ze,2),Ve=U=>{var X=Ud(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.tariffpeak??"Tariff peaks")));Td(xe,{get title(){return e(ue)},get tariffData(){return e(S)},get realtime(){return e(r),v(()=>e(r).ea)},get translations(){return e(p)}})}u(X),q(U,X)},ct=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.t,e(r).pr&&(e(r).pr.startsWith("NO")||e(r).pr.startsWith("10YNO")||e(r).pr.startsWith("10Y1001A1001A4"))))));I(Le,U=>{e(ct)&&U(Ve)});var Ge=l(Le,2),ht=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.realtime??"Real time")));Id(xe,{get title(){return e(ue)}})}u(X),q(U,X)},ut=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.l,e(r).hm==1))));I(Ge,U=>{e(ut)&&U(ht)});var mt=l(Ge,2),$r=U=>{var X=Mr(),xe=fe(X),ue=D=>{var V=on(),ne=c(V);{let Ee=Ce(()=>(e(p),v(()=>e(p).dashboard?.price_import??"Price import")));Xs(ne,{get title(){return e(Ee)},get json(){return e(o)},get sysinfo(){return e(a)}})}u(V),q(D,V)},$e=D=>{var V=on(),ne=c(V);{let Ee=Ce(()=>(e(p),v(()=>e(p).dashboard?.price??"Price")));Xs(ne,{get title(){return e(Ee)},get json(){return e(o)},get sysinfo(){return e(a)}})}u(V),q(D,V)};I(xe,D=>{e(o),e(r),v(()=>e(o)?.importExportPriceDifferent&&(e(r).om||e(r).e>0))?D(ue):D($e,-1)}),q(U,X)},Ur=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.p,e(r).p&&!Number.isNaN(e(r).p)))));I(mt,U=>{e(Ur)&&U($r)});var Ar=l(mt,2),ke=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.price_export??"Price export")));Xs(xe,{get title(){return e(ue)},get json(){return e(f)},get sysinfo(){return e(a)}})}u(X),q(U,X)},je=er(()=>(e(o),e(r),$(Wt),e(a),v(()=>e(o)?.importExportPriceDifferent&&(e(r).om||e(r).e>0)&&Wt(e(a).ui.p,e(r).pe&&!Number.isNaN(e(r).pe)))));I(Ar,U=>{e(je)&&U(ke)});var Ye=l(Ar,2),rt=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.day??"24 hours")));qd(xe,{get title(){return e(ue)},get json(){return e(i)},get sysinfo(){return e(a)}})}u(X),q(U,X)},zt=er(()=>($(Wt),e(a),e(i),v(()=>Wt(e(a).ui.d,e(i)))));I(Ye,U=>{e(zt)&&U(rt)});var ft=l(Ye,2),Bt=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.month??"{0} days")));Md(xe,{get title(){return e(ue)},get json(){return e(d)},get sysinfo(){return e(a)}})}u(X),q(U,X)},Qt=er(()=>($(Wt),e(a),e(d),v(()=>Wt(e(a).ui.m,e(d)))));I(ft,U=>{e(Qt)&&U(Bt)});var Rr=l(ft,2),br=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.temperature??"Temperature")));Ed(xe,{get title(){return e(ue)},get json(){return e(b)}})}u(X),q(U,X)},_e=er(()=>($(Wt),e(a),e(r),e(b),v(()=>Wt(e(a).ui.s,e(r).t&&e(r).t!=-127&&e(b).c>1))));I(Rr,U=>{e(_e)&&U(br)}),u(O),q(t,O),yt()}var So={},gi=ea(So);async function Yd(){So=await(await fetch("configuration.json")).json(),gi.set(So)}var qo={},bu=ea(qo);async function Gd(){qo=await(await fetch("priceconfig.json")).json(),bu.set(qo)}var Kd=F(" ",1),Vd=F(""),Xd=F(" ",1);function Mo(t,n){xt(n,!1);let r=de(n,"chip",8),a=W(39);gr(()=>$(r()),()=>{switch(r()){case"esp8266":E(a,16);break;case"esp32s2":E(a,44);break;case"esp32s3":E(a,46);break;case"esp32c3":E(a,21);break}}),kr();var o=Xd(),f=fe(o);f.value=f.__value=-1;var i=l(f,2),d=p=>{var S=Kd(),s=fe(S);s.value=s.__value=3;var m=l(s,2);m.value=m.__value=113,q(p,S)};I(i,p=>{r()=="esp8266"&&p(d)});var b=l(i,2);Xt(b,1,()=>({length:e(a)+1}),Vt,(p,S,s)=>{var m=Mr(),k=fe(m),g=A=>{var P=Vd();P.textContent=`GPIO${s}`,P.value=P.__value=s,q(A,P)};I(k,A=>{s>1&&!(r()=="esp8266"&&(s==3||s==113))&&A(g)}),q(p,m)}),q(t,o),yt()}var Qd=F('
'),Zd=F('
');function Wr(t,n){let r=de(n,"active",8),a=de(n,"message",8);var o=Mr(),f=fe(o),i=d=>{var b=Zd(),p=c(b),S=c(p),s=m=>{var k=Qd(),g=c(k,!0);u(k),j(()=>h(g,a())),q(m,k)};I(S,m=>{a()&&m(s)}),u(p),u(b),q(d,b)};I(f,d=>{r()&&d(i)}),q(t,o)}var Jd=F(""),e_=F(" ",1);function t_(t){let n=["Amsterdam","Athens","Belfast","Berlin","Bratislava","Brussels","Bucharest","Budapest","Copenhagen","Dublin","Helsinki","Lisbon","Ljubljana","London","Luxembourg","Madrid","Malta","Nicosia","Oslo","Paris","Prague","Riga","Rome","Sofia","Stockholm","Tallinn","Vienna","Vilnius","Warsaw","Zagreb","Zurich"];var r=e_(),a=l(fe(r),2);Xt(a,1,()=>n,Vt,(o,f)=>{var i=Jd(),d=c(i);u(i),j(()=>h(d,`Europe/${e(f)??""}`)),q(o,i)}),q(t,r)}var r_=F(' ',1);function xu(t){var n=r_(),r=fe(n),a=c(r);a.value=a.__value="255.255.255.0",u(r);var o=l(r,2),f=c(o);f.value=f.__value="255.255.255.128";var i=l(f,2);i.value=i.__value="255.255.255.192";var d=l(i,2);d.value=d.__value="255.255.255.224";var b=l(d,2);b.value=b.__value="255.255.255.240";var p=l(b,2);p.value=p.__value="255.255.255.248",u(o);var S=l(o,2),s=c(S);s.value=s.__value="255.255.254.0";var m=l(s,2);m.value=m.__value="255.255.252.0";var k=l(m,2);k.value=k.__value="255.255.0.0",u(S),q(t,n)}var a_=F('

');function n_(t,n){xt(n,!1);let r=de(n,"cfg",12),a=de(n,"item",8),o=de(n,"translations",24,()=>({}));Mt();var f=a_(),i=c(f,!0),d=l(i,3),b=c(d),p=c(b,!0);u(b),b.value=b.__value=0;var S=l(b),s=c(S,!0);u(S),S.value=S.__value=1;var m=l(S),k=c(m,!0);u(m),m.value=m.__value=2,u(d),u(f),j(()=>{h(i,($(o()),$(a()),v(()=>o().conf?.ui?.[a().key]??a().name))),Q(d,"name",`u${$(a()),v(()=>a().key)??""}`),h(p,($(o()),v(()=>o().conf?.ui?.disabled??"Disabled"))),h(s,($(o()),v(()=>o().conf?.ui?.enabled??"Enabled"))),h(k,($(o()),v(()=>o().conf?.ui?.auto??"Auto")))}),At(d,()=>r()[a().key],g=>(r(r()[a().key]=g,!0),G(()=>{a(),o()}))),q(t,f),yt()}var i_=Pu(((t,n)=>{(function(r,a){typeof t=="object"&&typeof n<"u"?n.exports=a():typeof define=="function"&&define.amd?define(a):r.QRious=a()})(t,(function(){"use strict";var r=function(){},a=Object.prototype.hasOwnProperty,o=Array.prototype.slice;function f(x,_){var w;return typeof Object.create=="function"?w=Object.create(x):(r.prototype=x,w=new r,r.prototype=null),_&&d(!0,w,_),w}function i(x,_,w,y){var M=this;return typeof x!="string"&&(y=w,w=_,_=x,x=null),typeof _!="function"&&(y=w,w=_,_=function(){return M.apply(this,arguments)}),d(!1,_,M,y),_.prototype=f(M.prototype,w),_.prototype.constructor=_,_.class_=x||M.class_,_.super_=M,_}function d(x,_,w){w=o.call(arguments,2);for(var y,M,N=0,z=w.length;N>1&1,y=0;y0;_--)y[_]=y[_]?y[_-1]^A.EXPONENT[R._modN(A.LOG[y[_]]+x)]:y[_-1];y[0]=A.EXPONENT[R._modN(A.LOG[y[0]]+x)]}for(x=0;x<=w;x++)y[x]=A.LOG[y[x]]},_checkBadness:function(){var x,_,w,y,M,N=0,z=this._badness,Z=this.buffer,ge=this.width;for(M=0;Mge*ge;)ze-=ge*ge,Oe++;for(N+=Oe*R.N4,y=0;y=z-2&&(x=z-2,M>9&&x--);var Z=x;if(M>9){for(N[Z+2]=0,N[Z+3]=0;Z--;)_=N[Z],N[Z+3]|=255&_<<4,N[Z+2]=_>>4;N[2]|=255&x<<4,N[1]=x>>4,N[0]=64|x>>12}else{for(N[Z+1]=0,N[Z+2]=0;Z--;)_=N[Z],N[Z+2]|=255&_<<4,N[Z+1]=_>>4;N[1]|=255&x<<4,N[0]=64|x>>4}for(Z=x+3-(M<10);Z=5&&(w+=R.N1+y[_]-5);for(_=3;_x||y[_-3]*3>=y[_]*4||y[_+3]*3>=y[_]*4)&&(w+=R.N3);return w},_finish:function(){this._stringBuffer=this.buffer.slice();var x,_,w=0,y=3e4;for(_=0;_<8&&(this._applyMask(_),x=this._checkBadness(),x>=1)y&1&&(M[N-1-_+N*8]=1,_<6?M[8+N*_]=1:M[8+N*(_+1)]=1);for(_=0;_<7;_++,y>>=1)y&1&&(M[8+N*(N-7+_)]=1,_?M[6-_+N*8]=1:M[7+N*8]=1)},_interleaveBlocks:function(){var x,_,w=this._dataBlock,y=this._ecc,M=this._eccBlock,N=0,z=this._calculateMaxLength(),Z=this._neccBlock1,ge=this._neccBlock2,Be=this._stringBuffer;for(x=0;x1)for(x=k.BLOCK[y],w=M-7;;){for(_=M-7;_>x-3&&(this._addAlignment(_,w),!(_6)for(x=P.BLOCK[N-7],_=17,w=0;w<6;w++)for(y=0;y<3;y++,_--)1&(_>11?N>>_-12:x>>_)?(M[5-w+z*(2-y+z-11)]=1,M[2-y+z-11+z*(5-w)]=1):(this._setMask(5-w,2-y+z-11),this._setMask(2-y+z-11,5-w))},_isMasked:function(x,_){var w=R._getMaskBit(x,_);return this._mask[w]===1},_pack:function(){var x,_,w,y=1,M=1,N=this.width,z=N-1,Z=N-1,ge=(this._dataBlock+this._eccBlock)*(this._neccBlock1+this._neccBlock2)+this._neccBlock2;for(_=0;__&&(w=x,x=_,_=w),w=_,w+=_*_,w>>=1,w+=x,w},_modN:function(x){for(;x>=255;)x-=255,x=(x>>8)+(x&255);return x},N1:3,N2:3,N3:40,N4:10}),Y=R,H=s.extend({draw:function(){this.element.src=this.qrious.toDataURL()},reset:function(){this.element.src=""},resize:function(){var x=this.element;x.width=x.height=this.qrious.size}}),T=S.extend(function(x,_,w,y){this.name=x,this.modifiable=!!_,this.defaultValue=w,this._valueTransformer=y},{transform:function(x){var _=this._valueTransformer;return typeof _=="function"?_(x,this):x}}),O=S.extend(null,{abs:function(x){return x!=null?Math.abs(x):null},hasOwn:function(x,_){return Object.prototype.hasOwnProperty.call(x,_)},noop:function(){},toUpperCase:function(x){return x!=null?x.toUpperCase():null}}),C=S.extend(function(x){this.options={},x.forEach(function(_){this.options[_.name]=_},this)},{exists:function(x){return this.options[x]!=null},get:function(x,_){return C._get(this.options[x],_)},getAll:function(x){var _,w=this.options,y={};for(_ in w)O.hasOwn(w,_)&&(y[_]=C._get(w[_],x));return y},init:function(x,_,w){typeof w!="function"&&(w=O.noop);var y,M;for(y in this.options)O.hasOwn(this.options,y)&&(M=this.options[y],C._set(M,M.defaultValue,_),C._createAccessor(M,_,w));this._setAll(x,_,!0)},set:function(x,_,w){return this._set(x,_,w)},setAll:function(x,_){return this._setAll(x,_)},_set:function(x,_,w,y){var M=this.options[x];if(!M)throw new Error("Invalid option: "+x);if(!M.modifiable&&!y)throw new Error("Option cannot be modified: "+x);return C._set(M,_,w)},_setAll:function(x,_,w){if(!x)return!1;var y,M=!1;for(y in x)O.hasOwn(x,y)&&this._set(y,x[y],_,w)&&(M=!0);return M}},{_createAccessor:function(x,_,w){var y={get:function(){return C._get(x,_)}};x.modifiable&&(y.set=function(M){C._set(x,M,_)&&w(M,x)}),Object.defineProperty(_,x.name,y)},_get:function(x,_){return _["_"+x.name]},_set:function(x,_,w){var y="_"+x.name,M=w[y],N=x.transform(_??x.defaultValue);return w[y]=N,N!==M}}),B=C,J=S.extend(function(){this._services={}},{getService:function(x){var _=this._services[x];if(!_)throw new Error("Service is not being managed with name: "+x);return _},setService:function(x,_){if(this._services[x])throw new Error("Service is already managed with name: "+x);_&&(this._services[x]=_)}}),te=new B([new T("background",!0,"white"),new T("backgroundAlpha",!0,1,O.abs),new T("element"),new T("foreground",!0,"black"),new T("foregroundAlpha",!0,1,O.abs),new T("level",!0,"L",O.toUpperCase),new T("mime",!0,"image/png"),new T("padding",!0,null,O.abs),new T("size",!0,100,O.abs),new T("value",!0,"")]),le=new J,ve=S.extend(function(x){te.init(x,this,this.update.bind(this));var _=te.get("element",this),w=le.getService("element"),y=_&&w.isCanvas(_)?_:w.createCanvas(),M=_&&w.isImage(_)?_:w.createImage();this._canvasRenderer=new m(this,y,!0),this._imageRenderer=new H(this,M,M===_),this.update()},{get:function(){return te.getAll(this)},set:function(x){te.setAll(x,this)&&this.update()},toDataURL:function(x){return this.canvas.toDataURL(x||this.mime)},update:function(){var x=new Y({level:this.level,value:this.value});this._canvasRenderer.render(x),this._imageRenderer.render(x)}},{use:function(x){le.setService(x.getName(),x)}});Object.defineProperties(ve.prototype,{canvas:{get:function(){return this._canvasRenderer.getElement()}},image:{get:function(){return this._imageRenderer.getElement()}}});var Me=ve,K=S.extend({getName:function(){}}).extend({createCanvas:function(){},createImage:function(){},getName:function(){return"element"},isCanvas:function(x){},isImage:function(x){}}).extend({createCanvas:function(){return document.createElement("canvas")},createImage:function(){return document.createElement("img")},isCanvas:function(x){return x instanceof HTMLCanvasElement},isImage:function(x){return x instanceof HTMLImageElement}});return Me.use(new K),Me}))})),s_=Cu(i_()),o_=F("");function l_(t,n){xt(n,!1);let r=de(n,"errorCorrection",8,"L"),a=de(n,"background",8,"#fff"),o=de(n,"color",8,"#000"),f=de(n,"size",8,"200"),i=de(n,"value",8,""),d=de(n,"padding",8,0),b=de(n,"className",8,"qrcode"),p=W(""),S=W();function s(){e(S).set({background:a(),foreground:o(),level:r(),padding:d(),size:f(),value:i()}),E(p,e(S).toDataURL("image/jpeg"))}function m(){return e(p)}Ps(()=>{E(S,new s_.default),i()&&s()}),gr(()=>($(i()),e(S)),()=>{i()&&e(S)&&s()}),kr();var k={getImage:m};Mt();var g=o_();return j(()=>{Q(g,"src",e(p)),Q(g,"alt",i()),Zr(g,1,vn(b()))}),q(t,g),hf(n,"getImage",m),yt(k)}var Vi=F("",1),v_=F(" ",1),Fn=F(""),u_=F('
',1),c_=F('


👁️
',1),f_=F('







'),d_=F(""),__=F(""),p_=F('
'),h_=F('



',1),m_=F('
'),g_=F('
',1),b_=F('

'),x_=F('
',1),y_=F('




'),w_=F(' ',1),k_=F('




'),$_=F(''),S_=F(''),q_=F(''),M_=F('


👁️


dBm
',1),E_=F('
'),T_=F('


',1),A_=F('


'),P_=F(''),O_=F(' 🗑',1),C_=F(''),N_=F(' 🗑',1),L_=F(''),D_=F(' 🗑',1),R_=F(''),j_=F('
'),F_=F('



👁️




'),I_=F('


'),W_=F('



'),B_=F(''),U_=F(''),H_=F('
',1),z_=F('
'),Y_=F('
'),G_=F('
',1),K_=F('
'),V_=F('
',1),X_=F('
'),Q_=F(''),Z_=F('
'),J_=F('
'),ep=F('

'),tp=F('

'),rp=F('







',1),ap=F('
'),np=F('Power saving: ',1),ip=F('

'),sp=F('


',1),op=F('
'),lp=F('
'),vp=F('
',1),up=F('
'),cp=F('
',1),fp=F('
'),dp=F('
',1);function _p(t,n){xt(n,!1);let r="/",a=W({}),o=W();qr.subscribe(D=>E(a,D)),Os.subscribe(D=>E(o,D));let f=W(),i=W({});Xr.subscribe(D=>{E(i,D)});let d=[{name:"Import gauge",key:"i"},{name:"Export gauge",key:"e"},{name:"Voltage",key:"v"},{name:"Amperage",key:"a"},{name:"Per phase",key:"h"},{name:"Power factor",key:"f"},{name:"Reactive",key:"r"},{name:"Realtime",key:"c"},{name:"Peaks",key:"t"},{name:"Realtime plot",key:"l"},{name:"Price",key:"p"},{name:"Day plot",key:"d"},{name:"Month plot",key:"m"},{name:"Temperature plot",key:"s"},{name:"Dark mode",key:"k"}],b=W(!0),p=W(!1),S=W(!1),s=W(),m=W([]);gi.subscribe(D=>{D.version&&(E(S,D?.c?.e),E(s,D),E(b,!1),E(m,[{code:"en",name:"English"}]),e(s)?.u?.lang&&e(s).u.lang!="en"&&e(m).push({code:e(s).u.lang,name:e(i).language?.name??"Unknown"}),e(m).push({code:"hub",name:"Load from server"}))}),Yd();let k=W(!0),g=W({});Qo.subscribe(D=>{E(k,!0);for(let V=0;V(ce.hostname=V.get("gh"),ce.usrcfg=Ee.success,ce.booting=Ee.reboot,V.get("nm")=="static"&&(ce.net.ip=V.get("ni"),ce.net.mask=V.get("nu"),ce.net.gw=V.get("ng"),ce.net.dns1=V.get("nd")),ce.ui=e(s).u,ce)),E(p,!1),Za(r)}async function H(){await(await fetch("reboot",{method:"POST"})).json()}const T=function(){confirm("Reboot?")&&(qr.update(D=>(D.booting=!0,D)),H())};async function O(){confirm("Are you sure you want to delete CA?")&&(await(await fetch("mqtt-ca",{method:"POST"})).text(),gi.update(D=>(D.q.s.c=!1,D)))}async function C(){confirm("Are you sure you want to delete cert?")&&(await(await fetch("mqtt-cert",{method:"POST"})).text(),gi.update(D=>(D.q.s.r=!1,D)))}async function B(){confirm("Are you sure you want to delete key?")&&(await(await fetch("mqtt-key",{method:"POST"})).text(),gi.update(D=>(D.q.s.k=!1,D)))}const J=function(){e(s).q.s.e?e(s).q.p==1883&&(ee(s,e(s).q.p=8883),G(()=>{e(i),e(a),e(g),e(m)})):e(s).q.p==8883&&(ee(s,e(s).q.p=1883),G(()=>{e(i),e(a),e(g),e(m)}))};async function te(){if(e(s).u.lang=="hub"){const D=await la("http://hub.amsleser.no/hub/language/list.json");E(m,await D.json()),ee(s,e(s).u.lang=e(i).language.code),G(()=>{e(i),e(a),e(g),e(m)})}}async function le(){ee(s,e(s).p.e=!0),G(()=>{e(i),e(a),e(g),e(m)})}let ve=W(44);async function Me(){const D=await la("cloudkey.json");if(D.status==200){let V=await D.json();window.open("https://www.amsleser.cloud/device/"+V.seed)}else alert("Not able to bind to cloud")}const K=window||global;K.bindToCloud=function(){console.log("BIND CALLED")};async function x(){const D=e(f).querySelector('input[name="wp"]');y.call(this,D)}async function _(){const D=e(f).querySelector('input[name="qa"]');y.call(this,D)}async function w(){const D=e(f).querySelector('input[name="gp"]');y.call(this,D)}async function y(D){D.type==="password"?(D.type="text",this.textContent="🙈"):(D.type="password",this.textContent="👁️")}gr(()=>e(a),()=>{E(ve,e(a).chip=="esp8266"?16:e(a).chip=="esp32s2"?44:39)}),kr(),Mt();var M=dp(),N=fe(M),z=c(N),Z=c(z),ge=D=>{var V=f_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe),Ne=c(Te,!0),Ie=l(Ne,3);oe(Ie),u(Te);var ae=l(Te,2),pe=c(ae,!0),me=l(pe,3);_n(me,()=>{var qt=c(me),Or=Vi();t_(fe(Or),{}),q(qt,Or)}),u(ae),u(Pe),u(we);var he=l(we,2),se=l(he,2),Ae=c(se),re=c(Ae),ie=c(re,!0),Se=l(ie,3),Fe=c(Se),De=c(Fe),gt=qt=>{var Or=v_(),yr=fe(Or);yr.value=yr.__value="NO1S";var va=l(yr,2);va.value=va.__value="NO2S";var na=l(va,2);na.value=na.__value="NO3S";var Dn=l(na,2);Dn.value=Dn.__value="NO4S";var ii=l(Dn,2);ii.value=ii.__value="NO5S",q(qt,Or)};I(De,qt=>{e(s),v(()=>!e(s).p.t)&&qt(gt)});var dt=l(De,2);dt.value=dt.__value="10YNO-1--------2";var at=l(dt,2);at.value=at.__value="10YNO-2--------T";var nt=l(at,2);nt.value=nt.__value="10YNO-3--------J";var Xe=l(nt,2);Xe.value=Xe.__value="10YNO-4--------9";var bt=l(Xe,2);bt.value=bt.__value="10Y1001A1001A48H",u(Fe);var wt=l(Fe),Yt=c(wt);Yt.value=Yt.__value="10Y1001A1001A44P";var tr=l(Yt,2);tr.value=tr.__value="10Y1001A1001A45N";var nr=l(tr,2);nr.value=nr.__value="10Y1001A1001A46L";var vt=l(nr,2);vt.value=vt.__value="10Y1001A1001A47J",u(wt);var ir=l(wt),Pt=c(ir);Pt.value=Pt.__value="10YDK-1--------W";var sr=l(Pt,2);sr.value=sr.__value="10YDK-2--------M",u(ir);var ur=l(ir),jr=c(ur);jr.value=jr.__value="10Y1001A1001A73I";var cr=l(jr,2);cr.value=cr.__value="10Y1001A1001A70O";var Gr=l(cr,2);Gr.value=Gr.__value="10Y1001A1001A71M";var hr=l(Gr,2);hr.value=hr.__value="10Y1001A1001A788";var Ue=l(hr,2);Ue.value=Ue.__value="10Y1001C--00096J";var Je=l(Ue,2);Je.value=Je.__value="10Y1001A1001A75E";var Tt=l(Je,2);Tt.value=Tt.__value="10Y1001A1001A74G",u(ur);var Gt=l(ur);Gt.value=Gt.__value="10YAL-KESH-----5";var Nt=l(Gt);Nt.value=Nt.__value="10YAT-APG------L";var Zt=l(Nt);Zt.value=Zt.__value="10YBE----------2";var or=l(Zt);or.value=or.__value="10YCA-BULGARIA-R";var Ot=l(or);Ot.value=Ot.__value="10YHR-HEP------M";var lr=l(Ot);lr.value=lr.__value="10YCZ-CEPS-----N";var it=l(lr);it.value=it.__value="10Y1001A1001A39I";var st=l(it);st.value=st.__value="10YFI-1--------U";var St=l(st);St.value=St.__value="10YFR-RTE------C";var Kt=l(St);Kt.value=Kt.__value="10Y1001A1001A82H";var Rt=l(Kt);Rt.value=Rt.__value="10YGR-HTSO-----Y";var rr=l(Rt);rr.value=rr.__value="10YHU-MAVIR----U";var Ct=l(rr);Ct.value=Ct.__value="10Y1001A1001A59C";var jt=l(Ct);jt.value=jt.__value="10Y1001C--00100H";var Er=l(jt);Er.value=Er.__value="10YLV-1001A00074";var mr=l(Er);mr.value=mr.__value="10YLT-1001A0008Q";var Ft=l(mr);Ft.value=Ft.__value="10YCS-CG-TSO---S";var vr=l(Ft);vr.value=vr.__value="10YNL----------L";var Lt=l(vr);Lt.value=Lt.__value="10YMK-MEPSO----8";var We=l(Lt);We.value=We.__value="10YPL-AREA-----S";var It=l(We);It.value=It.__value="10YPT-REN------W";var Lr=l(It);Lr.value=Lr.__value="10YRO-TEL------P";var Pr=l(Lr);Pr.value=Pr.__value="10YCS-SERBIATSOV";var Hr=l(Pr);Hr.value=Hr.__value="10YSK-SEPS-----K";var ra=l(Hr);ra.value=ra.__value="10YSI-ELES-----O";var zr=l(ra);zr.value=zr.__value="10YES-REE------0";var tn=l(zr);tn.value=tn.__value="10YCH-SWISSGRIDZ",u(Se),u(re);var et=l(re,2),ar=c(et,!0),aa=l(ar,3);Xt(aa,4,()=>[15,60],Vt,(qt,Or)=>{var yr=Fn(),va=c(yr);u(yr);var na={};j(()=>{h(va,`${Or??""}M`),na!==(na=Or)&&(yr.value=(yr.__value=Or)??"")}),q(qt,yr)}),u(aa),u(et);var Nn=l(et,2),Ni=c(Nn,!0),ri=l(Ni,3);Xt(ri,4,()=>["NOK","SEK","DKK","EUR","CHF"],Vt,(qt,Or)=>{var yr=Fn(),va=c(yr,!0);u(yr);var na={};j(()=>{h(va,Or),na!==(na=Or)&&(yr.value=(yr.__value=Or)??"")}),q(qt,yr)}),u(ri),u(Nn),u(Ae),u(se);var rn=l(se,2),Li=c(rn),Cs=c(Li,!0);u(Li),u(rn);var ai=l(rn,2),Ln=c(ai),an=c(Ln);oe(an),an.value=an.__value="true";var Ns=l(an);u(Ln);var Ls=l(Ln,2),xr=qt=>{var Or=u_(),yr=fe(Or);oe(yr),Ir(3),qe(yr,()=>e(s).p.t,va=>(ee(s,e(s).p.t=va),G(()=>{e(i),e(a),e(g),e(m)}))),q(qt,Or)};I(Ls,qt=>{e(s),e(a),v(()=>e(s).p.e&&e(a).chip!="esp8266"&&e(s).p.t)&&qt(xr)}),u(ai);var fr=l(ai,2),Tr=c(fr,!0),Dr=l(Tr,3),Fr=c(Dr),Ea=c(Fr,!0);u(Fr),Fr.value=Fr.__value=0;var ni=l(Fr),wu=c(ni,!0);u(ni),ni.value=ni.__value=1;var Di=l(ni),ku=c(Di,!0);u(Di),Di.value=Di.__value=2,u(Dr),u(fr);var el=l(fr,2),$u=qt=>{var Or=c_(),yr=fe(Or),va=c(yr,!0),na=l(va,3);oe(na),u(yr);var Dn=l(yr,2),ii=c(Dn,!0),al=l(ii,3),ji=c(al);oe(ji);var Su=l(ji,2);u(al),u(Dn),j(()=>{h(va,(e(i),v(()=>e(i).conf?.general?.security?.username??"Username"))),Q(na,"pattern",ja),h(ii,(e(i),v(()=>e(i).conf?.general?.security?.password??"Password"))),Q(ji,"pattern",ja)}),qe(na,()=>e(s).g.u,Ds=>(ee(s,e(s).g.u=Ds),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ji,()=>e(s).g.p,Ds=>(ee(s,e(s).g.p=Ds),G(()=>{e(i),e(a),e(g),e(m)}))),He("click",Su,w),q(qt,Or)};I(el,qt=>{e(s),v(()=>e(s).g.s>0)&&qt($u)});var tl=l(el,2),rl=c(tl,!0),Ri=l(rl,3);oe(Ri),u(tl),u(V),j(qt=>{h(Ee,(e(i),v(()=>e(i).conf?.general?.title??"General"))),Q(ce,"href",qt),h(Ne,(e(i),v(()=>e(i).conf?.general?.hostname??"Hostname"))),Q(Ie,"pattern",ts),h(pe,(e(i),v(()=>e(i).conf?.general?.timezone??"Time zone"))),h(ie,(e(i),v(()=>e(i).conf?.price?.region??"Price region"))),h(ar,(e(i),v(()=>e(i).conf?.price?.resolution??"Resolution"))),h(Ni,(e(i),v(()=>e(i).conf?.price?.currency??"Currency"))),h(Cs,(e(i),v(()=>e(i).conf?.price?.conf??"Configure"))),h(Ns,` ${e(i),v(()=>e(i).conf?.price?.enabled??"Enabled")??""}`),h(Tr,(e(i),v(()=>e(i).conf?.general?.security?.title??"Security"))),h(Ea,(e(i),v(()=>e(i).conf?.general?.security?.none??"None"))),h(wu,(e(i),v(()=>e(i).conf?.general?.security?.conf??"Conf"))),h(ku,(e(i),v(()=>e(i).conf?.general?.security?.all??"All"))),h(rl,(e(i),v(()=>e(i).conf?.general?.context??"Context"))),Q(Ri,"pattern",ts),Q(Ri,"placeholder",(e(i),v(()=>e(i).conf?.general?.context_placeholder??"/")))},[()=>($(Jt),v(()=>Jt("general")))]),qe(Ie,()=>e(s).g.h,qt=>(ee(s,e(s).g.h=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(me,()=>e(s).g.t,qt=>(ee(s,e(s).g.t=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Se,()=>e(s).p.r,qt=>(ee(s,e(s).p.r=qt),G(()=>{e(i),e(a),e(g),e(m)}))),He("change",Se,le),At(aa,()=>e(s).p.m,qt=>(ee(s,e(s).p.m=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(ri,()=>e(s).p.c,qt=>(ee(s,e(s).p.c=qt),G(()=>{e(i),e(a),e(g),e(m)}))),_r(an,()=>e(s).p.e,qt=>(ee(s,e(s).p.e=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Dr,()=>e(s).g.s,qt=>(ee(s,e(s).g.s=qt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Ri,()=>e(s).g.c,qt=>(ee(s,e(s).g.c=qt),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Z,D=>{e(s),v(()=>e(s)?.g)&&D(ge)});var Be=l(Z,2),Oe=D=>{var V=k_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=l(we,2),Te=c(Pe,!0),Ne=l(Te,3),Ie=c(Ne),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=0;var pe=l(Ie),me=c(pe,!0);u(pe),pe.value=pe.__value=2;var he=l(pe),se=Ue=>{var Je=d_();Je.value=Je.__value=9,q(Ue,Je)},Ae=er(()=>(e(a),v(()=>e(a)?.features?.includes("kmp"))));I(he,Ue=>{e(Ae)&&Ue(se)});var re=l(he),ie=Ue=>{var Je=__();Je.value=Je.__value=18,q(Ue,Je)};I(re,Ue=>{e(a),v(()=>e(a)?.chip!="esp8266")&&Ue(ie)}),u(Ne),u(Pe);var Se=l(Pe,2),Fe=Ue=>{var Je=p_(),Tt=c(Je),Gt=c(Tt,!0);u(Tt);var Nt=l(Tt,2);oe(Nt),Q(Nt,"min",1),Q(Nt,"max",3600),u(Je),j(()=>h(Gt,(e(i),v(()=>e(i).conf?.meter?.pulses??"Pulses per kWh")))),qe(Nt,()=>e(s).m.b,Zt=>(ee(s,e(s).m.b=Zt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)},De=Ue=>{var Je=h_(),Tt=fe(Je),Gt=l(Tt,2),Nt=l(Gt,2),Zt=l(Nt,2),or=c(Zt),Ot=c(or,!0),lr=l(Ot,3);oe(lr),u(or);var it=l(or,2),st=c(it,!0),St=l(st,3);oe(St),u(it),u(Zt);var Kt=l(Zt,2),Rt=c(Kt,!0),rr=l(Rt,3);oe(rr),u(Kt);var Ct=l(Kt,2),jt=c(Ct);oe(jt),jt.value=jt.__value="true";var Er=l(jt);u(Ct);var mr=l(Ct,2),Ft=c(mr);oe(Ft),Ft.value=Ft.__value="true";var vr=l(Ft);u(mr);var Lt=l(mr,2),We=c(Lt),It=c(We,!0),Lr=l(It);oe(Lr),u(We);var Pr=l(We,2),Hr=c(Pr,!0),ra=l(Hr);oe(ra),u(Pr),u(Lt);var zr=l(Lt,2),tn=c(zr,!0),et=l(tn);oe(et),u(zr),j(()=>{h(Ot,(e(i),v(()=>e(i).conf?.meter?.c1218?.userid??"User ID"))),h(st,(e(i),v(()=>e(i).conf?.meter?.c1218?.username??"Username"))),h(Rt,(e(i),v(()=>e(i).conf?.meter?.c1218?.password??"Password"))),h(Er,` ${e(i),v(()=>e(i).conf?.meter?.c1218?.extended??"Read extended table 28")??""}`),h(vr,` ${e(i),v(()=>e(i).conf?.meter?.c1218?.terminate??"Terminate session after each read")??""}`),h(It,(e(i),v(()=>e(i).conf?.meter?.c1218?.logoff??"Logoff interval (s)"))),h(Hr,(e(i),v(()=>e(i).conf?.meter?.c1218?.idle_start??"Daily idle start"))),h(tn,(e(i),v(()=>e(i).conf?.meter?.c1218?.idle??"Daily idle time (s, 0 disables)")))}),qe(lr,()=>e(s).m.c.u,ar=>(ee(s,e(s).m.c.u=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(St,()=>e(s).m.c.n,ar=>(ee(s,e(s).m.c.n=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(rr,()=>e(s).m.c.p,ar=>(ee(s,e(s).m.c.p=ar),G(()=>{e(i),e(a),e(g),e(m)}))),_r(jt,()=>e(s).m.c.x,ar=>(ee(s,e(s).m.c.x=ar),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Ft,()=>e(s).m.c.t,ar=>(ee(s,e(s).m.c.t=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Lr,()=>e(s).m.c.l,ar=>(ee(s,e(s).m.c.l=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ra,()=>e(s).m.c.i,ar=>(ee(s,e(s).m.c.i=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(et,()=>e(s).m.c.d,ar=>(ee(s,e(s).m.c.d=ar),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)},gt=Ue=>{var Je=m_(),Tt=c(Je),Gt=c(Tt,!0);u(Tt);var Nt=l(Tt,2),Zt=c(Nt,!0);u(Nt);var or=l(Nt,2),Ot=c(or);oe(Ot),Ot.value=Ot.__value="true";var lr=l(Ot);u(or);var it=l(or,2),st=c(it),St=c(st);St.value=St.__value=0;var Kt=l(St);Xt(Kt,0,()=>[3,12,24,48,96,192,384,576,1152],Vt,(Lt,We)=>{var It=Fn(),Lr=c(It,!0);u(It);var Pr={};j(()=>{h(Lr,We*100),Pr!==(Pr=We*100)&&(It.value=It.__value=We*100)}),q(Lt,It)}),u(st);var Rt=l(st,2),rr=c(Rt);rr.value=rr.__value=0;var Ct=l(rr);Ct.value=Ct.__value=2;var jt=l(Ct);jt.value=jt.__value=3;var Er=l(jt);Er.value=Er.__value=7;var mr=l(Er);mr.value=mr.__value=10;var Ft=l(mr);Ft.value=Ft.__value=11,u(Rt);var vr=l(Rt,2);oe(vr),Q(vr,"min",64),Q(vr,"step",64),u(it),u(Je),j(()=>{h(Gt,(e(i),v(()=>e(i).conf?.meter?.buffer??"Buffer size"))),h(Zt,(e(i),v(()=>e(i).conf?.meter?.serial??"Serial conf."))),h(lr,` ${e(i),v(()=>e(i).conf?.meter?.inverted??"inverted")??""}`),St.disabled=(e(s),v(()=>e(s).m.b!=0)),Rt.disabled=(e(s),v(()=>e(s).m.b==0)),rr.disabled=(e(s),v(()=>e(s).m.b!=0)),Q(vr,"max",(e(a),e(s),v(()=>e(a).chip=="esp8266"?e(s).i.h.p==3||e(s).i.h.p==113?512:256:4096)))}),_r(Ot,()=>e(s).m.i,Lt=>(ee(s,e(s).m.i=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),At(st,()=>e(s).m.b,Lt=>(ee(s,e(s).m.b=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Rt,()=>e(s).m.p,Lt=>(ee(s,e(s).m.p=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(vr,()=>e(s).m.s,Lt=>(ee(s,e(s).m.s=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)};I(Se,Ue=>{e(s),v(()=>e(s).m.a===2)?Ue(Fe):(e(s),v(()=>e(s).m.a===18)?Ue(De,1):Ue(gt,-1))});var dt=l(Se,2),at=c(dt,!0),nt=l(at,3),Xe=c(nt);Xe.value=Xe.__value=2;var bt=l(Xe);bt.value=bt.__value=1,u(nt),u(dt);var wt=l(dt,2),Yt=c(wt),tr=c(Yt,!0),nr=l(tr,3),vt=c(nr);oe(vt),Ir(2),u(nr),u(Yt);var ir=l(Yt,2),Pt=c(ir,!0),sr=l(Pt,3),ur=c(sr);oe(ur),Ir(2),u(sr),u(ir),u(wt);var jr=l(wt,4),cr=Ue=>{var Je=x_(),Tt=fe(Je),Gt=c(Tt),Nt=c(Gt);oe(Nt),Nt.value=Nt.__value="true";var Zt=l(Nt);u(Gt);var or=l(Gt,2),Ot=st=>{var St=g_(),Kt=l(fe(St));oe(Kt),j(()=>Q(Kt,"pattern",Fl)),qe(Kt,()=>e(s).m.e.k,Rt=>(ee(s,e(s).m.e.k=Rt),G(()=>{e(i),e(a),e(g),e(m)}))),q(st,St)};I(or,st=>{e(s),v(()=>e(s).m.e.e)&&st(Ot)}),u(Tt);var lr=l(Tt,2),it=st=>{var St=b_(),Kt=c(St,!0),Rt=l(Kt,3);oe(Rt),u(St),j(()=>{h(Kt,(e(i),v(()=>e(i).conf?.meter?.authkey??"Authentication key"))),Q(Rt,"pattern",Fl)}),qe(Rt,()=>e(s).m.e.a,rr=>(ee(s,e(s).m.e.a=rr),G(()=>{e(i),e(a),e(g),e(m)}))),q(st,St)};I(lr,st=>{e(s),v(()=>e(s).m.e.e)&&st(it)}),j(()=>h(Zt,` ${e(i),v(()=>e(i).conf?.meter?.encrypted??"Encrypted")??""}`)),_r(Nt,()=>e(s).m.e.e,st=>(ee(s,e(s).m.e.e=st),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)};I(jr,Ue=>{e(s),v(()=>e(s).m.a!==18)&&Ue(cr)});var Gr=l(jr,2),hr=Ue=>{var Je=w_(),Tt=fe(Je),Gt=c(Tt);oe(Gt),Gt.value=Gt.__value="true";var Nt=l(Gt);u(Tt);var Zt=l(Tt,2),or=Ot=>{var lr=y_(),it=c(lr),st=c(it,!0),St=l(st,3);oe(St),u(it);var Kt=l(it,2),Rt=c(Kt,!0),rr=l(Rt,3);oe(rr),u(Kt);var Ct=l(Kt,2),jt=c(Ct,!0),Er=l(jt,3);oe(Er),u(Ct);var mr=l(Ct,2),Ft=c(mr,!0),vr=l(Ft,3);oe(vr),u(mr),u(lr),j(()=>{h(st,(e(i),v(()=>e(i).conf?.meter?.multipliers?.watt??"Watt"))),h(Rt,(e(i),v(()=>e(i).conf?.meter?.multipliers?.volt??"Volt"))),h(jt,(e(i),v(()=>e(i).conf?.meter?.multipliers?.amp??"Amp"))),h(Ft,(e(i),v(()=>e(i).conf?.meter?.multipliers?.kwh??"kWh")))}),qe(St,()=>e(s).m.m.w,Lt=>(ee(s,e(s).m.m.w=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(rr,()=>e(s).m.m.v,Lt=>(ee(s,e(s).m.m.v=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Er,()=>e(s).m.m.a,Lt=>(ee(s,e(s).m.m.a=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(vr,()=>e(s).m.m.c,Lt=>(ee(s,e(s).m.m.c=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ot,lr)};I(Zt,Ot=>{e(s),v(()=>e(s).m.m.e)&&Ot(or)}),j(()=>h(Nt,` ${e(i),v(()=>e(i).conf?.meter?.multipliers?.title??"Multipliers")??""}`)),_r(Gt,()=>e(s).m.m.e,Ot=>(ee(s,e(s).m.m.e=Ot),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)};I(Gr,Ue=>{e(s),v(()=>e(s).m.a!==18)&&Ue(hr)}),u(V),j(Ue=>{h(Ee,(e(i),v(()=>e(i).conf?.meter?.title??"Meter"))),Q(ce,"href",Ue),h(Te,(e(i),v(()=>e(i).conf?.meter?.comm?.title??"Communication"))),h(ae,(e(i),v(()=>e(i).conf?.meter?.comm?.passive??"Passive"))),h(me,(e(i),v(()=>e(i).conf?.meter?.comm?.pulse??"Pulse"))),h(at,(e(i),v(()=>e(i).common?.voltage??"Voltage"))),h(tr,(e(i),v(()=>e(i).conf?.meter?.fuse??"Main fuse"))),h(Pt,(e(i),v(()=>e(i).conf?.meter?.prod??"Production")))},[()=>($(Jt),v(()=>Jt("meter")))]),At(Ne,()=>e(s).m.a,Ue=>(ee(s,e(s).m.a=Ue),G(()=>{e(i),e(a),e(g),e(m)}))),At(nt,()=>e(s).m.d,Ue=>(ee(s,e(s).m.d=Ue),G(()=>{e(i),e(a),e(g),e(m)}))),qe(vt,()=>e(s).m.f,Ue=>(ee(s,e(s).m.f=Ue),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ur,()=>e(s).m.r,Ue=>(ee(s,e(s).m.r=Ue),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Be,D=>{e(s),v(()=>e(s)?.m)&&D(Oe)});var ze=l(Be,2),pt=D=>{var V=E_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe),Ne=c(Te,!0);u(Te),Te.value=Te.__value=1;var Ie=l(Te),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=2;var pe=l(Ie),me=Ae=>{var re=Fn(),ie=c(re,!0);u(re),re.value=re.__value=3,j(()=>h(ie,(e(i),v(()=>e(i).conf?.connection?.eth??"Ethernet")))),q(Ae,re)};I(pe,Ae=>{e(a),v(()=>e(a).if&&e(a).if.eth)&&Ae(me)}),u(Pe),u(we);var he=l(we,2),se=Ae=>{var re=M_(),ie=fe(re),Se=c(ie),Fe=l(Se),De=c(Fe);oe(De),De.value=De.__value="true",Ir(),u(Fe);var gt=l(Fe,4),dt=it=>{var st=$_();oe(st),j(()=>{Q(st,"pattern",Gn),st.required=(e(s),v(()=>e(s).n.c==1||e(s).n.c==2))}),qe(st,()=>e(s).w.s,St=>(ee(s,e(s).w.s=St),G(()=>{e(i),e(a),e(g),e(m)}))),q(it,st)},at=it=>{var st=q_(),St=c(st),Kt=Ct=>{var jt=S_();jt.value=jt.__value="",q(Ct,jt)};I(St,Ct=>{e(g),v(()=>e(g)?.c==-1)&&Ct(Kt)});var Rt=l(St),rr=Ct=>{var jt=Mr(),Er=fe(jt);Xt(Er,1,()=>(e(g),v(()=>e(g)?.n)),Vt,(mr,Ft)=>{var vr=Fn(),Lt=c(vr);u(vr);var We={};j(()=>{h(Lt,`${e(Ft),v(()=>e(Ft).s)??""} (${e(Ft),v(()=>e(Ft).e)??""}, RSSI: ${e(Ft),v(()=>e(Ft).r)??""})`),We!==(We=(e(Ft),v(()=>e(Ft).s)))&&(vr.value=(vr.__value=(e(Ft),v(()=>e(Ft).s)))??"")}),q(mr,vr)}),q(Ct,jt)};I(Rt,Ct=>{e(g),v(()=>e(g)?.n)&&Ct(rr)}),u(st),j(()=>st.required=(e(s),v(()=>e(s).n.c==1||e(s).n.c==2))),At(st,()=>e(s).w.s,Ct=>(ee(s,e(s).w.s=Ct),G(()=>{e(i),e(a),e(g),e(m)}))),q(it,st)};I(gt,it=>{e(k)?it(dt):it(at,-1)}),u(ie);var nt=l(ie,2),Xe=c(nt,!0),bt=l(Xe,3),wt=c(bt);oe(wt);var Yt=l(wt,2);u(bt),u(nt);var tr=l(nt,2),nr=c(tr),vt=c(nr,!0),ir=l(vt,3),Pt=c(ir),sr=c(Pt,!0);u(Pt),Pt.value=Pt.__value=255;var ur=l(Pt),jr=c(ur,!0);u(ur),ur.value=ur.__value=0;var cr=l(ur),Gr=c(cr,!0);u(cr),cr.value=cr.__value=1;var hr=l(cr),Ue=c(hr,!0);u(hr),hr.value=hr.__value=2,u(ir),u(nr);var Je=l(nr,2),Tt=c(Je,!0),Gt=l(Tt,3),Nt=c(Gt);oe(Nt),Ir(2),u(Gt),u(Je),u(tr);var Zt=l(tr,2),or=c(Zt),Ot=c(or);oe(Ot),Ot.value=Ot.__value="true";var lr=l(Ot);u(or),u(Zt),j(()=>{h(Se,`${e(i),v(()=>e(i).conf?.connection?.ssid??"SSID")??""} `),h(Xe,(e(i),v(()=>e(i).conf?.connection?.psk??"Password"))),Q(wt,"pattern",Gn),h(vt,(e(i),v(()=>e(i).conf?.connection?.ps?.title??"Power saving"))),h(sr,(e(i),v(()=>e(i).conf?.connection?.ps?.default??"Default"))),h(jr,(e(i),v(()=>e(i).conf?.connection?.ps?.off??"Off"))),h(Gr,(e(i),v(()=>e(i).conf?.connection?.ps?.min??"Min"))),h(Ue,(e(i),v(()=>e(i).conf?.connection?.ps?.max??"Max"))),h(Tt,(e(i),v(()=>e(i).conf?.connection?.pwr??"Power"))),h(lr,` ${e(i),v(()=>e(i).conf?.connection?.tick_11b??"802.11b")??""}`)}),_r(De,()=>e(k),it=>E(k,it)),qe(wt,()=>e(s).w.p,it=>(ee(s,e(s).w.p=it),G(()=>{e(i),e(a),e(g),e(m)}))),He("click",Yt,x),At(ir,()=>e(s).w.z,it=>(ee(s,e(s).w.z=it),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Nt,()=>e(s).w.w,it=>(ee(s,e(s).w.w=it),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Ot,()=>e(s).w.b,it=>(ee(s,e(s).w.b=it),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ae,re)};I(he,Ae=>{e(s),v(()=>e(s).n.c==1||e(s).n.c==2)&&Ae(se)}),u(V),j(Ae=>{h(Ee,(e(i),v(()=>e(i).conf?.connection?.title??"Connection"))),Q(ce,"href",Ae),h(Ne,(e(i),v(()=>e(i).conf?.connection?.wifi??"WiFi"))),h(ae,(e(i),v(()=>e(i).conf?.connection?.ap??"AP")))},[()=>($(Jt),v(()=>Jt("connection")))]),At(Pe,()=>e(s).n.c,Ae=>(ee(s,e(s).n.c=Ae),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(ze,D=>{e(s),v(()=>e(s)?.w)&&D(pt)});var Ze=l(ze,2),Et=D=>{var V=A_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=c(ye,!0),Pe=l(we,3),Te=c(Pe),Ne=c(Te),Ie=c(Ne,!0);u(Ne),Ne.value=Ne.__value="dhcp";var ae=l(Ne),pe=c(ae,!0);u(ae),ae.value=ae.__value="static",u(Te);var me=l(Te,2);oe(me);var he=l(me,2);_n(he,()=>{var vt=c(he),ir=Vi();xu(fe(ir),{}),q(vt,ir)}),u(Pe),u(ye);var se=l(ye,2),Ae=vt=>{var ir=T_(),Pt=fe(ir),sr=c(Pt,!0),ur=l(sr,3);oe(ur),u(Pt);var jr=l(Pt,2),cr=c(jr,!0),Gr=l(cr,3),hr=c(Gr);oe(hr);var Ue=l(hr,2);oe(Ue),u(Gr),u(jr),j(()=>{h(sr,(e(i),v(()=>e(i).conf?.network?.gw??"Gateway"))),Q(ur,"pattern",pn),h(cr,(e(i),v(()=>e(i).conf?.network?.dns??"DNS"))),Q(hr,"pattern",pn),Q(Ue,"pattern",pn)}),qe(ur,()=>e(s).n.g,Je=>(ee(s,e(s).n.g=Je),G(()=>{e(i),e(a),e(g),e(m)}))),qe(hr,()=>e(s).n.d1,Je=>(ee(s,e(s).n.d1=Je),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Ue,()=>e(s).n.d2,Je=>(ee(s,e(s).n.d2=Je),G(()=>{e(i),e(a),e(g),e(m)}))),q(vt,ir)};I(se,vt=>{e(s),v(()=>e(s).n.m=="static")&&vt(Ae)});var re=l(se,2),ie=c(re),Se=c(ie);oe(Se),Se.value=Se.__value="true",Ir(),u(ie),u(re);var Fe=l(re,2),De=c(Fe),gt=c(De);oe(gt),gt.value=gt.__value="true";var dt=l(gt);u(De),u(Fe);var at=l(Fe,2),nt=l(at,2),Xe=c(nt),bt=l(Xe),wt=c(bt);oe(wt),wt.value=wt.__value="true";var Yt=l(wt);u(bt);var tr=l(bt,3),nr=c(tr);oe(nr),u(tr),u(nt),u(V),j(vt=>{h(Ee,(e(i),v(()=>e(i).conf?.network?.title??"Network"))),Q(ce,"href",vt),h(we,(e(i),v(()=>e(i).conf?.network?.ip??"IP"))),h(Ie,(e(i),v(()=>e(i).conf?.network?.dhcp??"DHCP"))),h(pe,(e(i),v(()=>e(i).conf?.network?.static??"Static"))),me.disabled=(e(s),v(()=>e(s).n.m=="dhcp")),me.required=(e(s),v(()=>e(s).n.m=="static")),Q(me,"pattern",pn),he.disabled=(e(s),v(()=>e(s).n.m=="dhcp")),he.required=(e(s),v(()=>e(s).n.m=="static")),h(dt,` ${e(i),v(()=>e(i).conf?.network?.tick_mdns??"mDNS")??""}`),h(Xe,`${e(i),v(()=>e(i).conf?.network?.ntp??"NTP")??""} `),h(Yt,` ${e(i),v(()=>e(i).conf?.network?.tick_ntp_dhcp??"from DHCP")??""}`),Q(nr,"pattern",ja)},[()=>($(Jt),v(()=>Jt("network")))]),At(Te,()=>e(s).n.m,vt=>(ee(s,e(s).n.m=vt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(me,()=>e(s).n.i,vt=>(ee(s,e(s).n.i=vt),G(()=>{e(i),e(a),e(g),e(m)}))),At(he,()=>e(s).n.s,vt=>(ee(s,e(s).n.s=vt),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Se,()=>e(s).n.x,vt=>(ee(s,e(s).n.x=vt),G(()=>{e(i),e(a),e(g),e(m)}))),_r(gt,()=>e(s).n.d,vt=>(ee(s,e(s).n.d=vt),G(()=>{e(i),e(a),e(g),e(m)}))),_r(wt,()=>e(s).n.h,vt=>(ee(s,e(s).n.h=vt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(nr,()=>e(s).n.n1,vt=>(ee(s,e(s).n.n1=vt),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ze,D=>{e(s),v(()=>e(s)?.n)&&D(Et)});var be=l(Ze,2),Le=D=>{var V=F_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=l(Pe),Ne=et=>{var ar=P_(),aa=c(ar);oe(aa),aa.value=aa.__value="true",Ir(),u(ar),_r(aa,()=>e(s).q.s.e,Nn=>(ee(s,e(s).q.s.e=Nn),G(()=>{e(i),e(a),e(g),e(m)}))),He("change",aa,J),q(et,ar)};I(Te,et=>{e(a),v(()=>e(a).chip!="esp8266")&&et(Ne)});var Ie=l(Te,4),ae=c(Ie);oe(ae);var pe=l(ae,2);oe(pe),u(Ie),u(we);var me=l(we,2),he=et=>{var ar=j_(),aa=c(ar),Nn=c(aa),Ni=xr=>{var fr=O_(),Tr=fe(fr),Dr=c(Tr),Fr=c(Dr,!0);u(Dr),u(Tr);var Ea=l(Tr,2);j(()=>h(Fr,(e(i),v(()=>e(i).conf?.mqtt?.ca_ok??"CA OK")))),He("click",Ea,O),He("keypress",Ea,O),q(xr,fr)},ri=xr=>{var fr=C_(),Tr=c(fr);{let Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_ca_upload??"Upload CA"))),Fr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_ca??"")));mn(Tr,{color:"blue",get text(){return e(Dr)},get title(){return e(Fr)}})}u(fr),q(xr,fr)};I(Nn,xr=>{e(s),v(()=>e(s).q.s.c)?xr(Ni):xr(ri,-1)}),u(aa);var rn=l(aa,2),Li=c(rn),Cs=xr=>{var fr=N_(),Tr=fe(fr),Dr=c(Tr),Fr=c(Dr,!0);u(Dr),u(Tr);var Ea=l(Tr,2);j(()=>h(Fr,(e(i),v(()=>e(i).conf?.mqtt?.crt_ok??"Cert OK")))),He("click",Ea,C),He("keypress",Ea,C),q(xr,fr)},ai=xr=>{var fr=L_(),Tr=c(fr);{let Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_crt_upload??"Upload cert"))),Fr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_crt??"")));mn(Tr,{color:"blue",get text(){return e(Dr)},get title(){return e(Fr)}})}u(fr),q(xr,fr)};I(Li,xr=>{e(s),v(()=>e(s).q.s.r)?xr(Cs):xr(ai,-1)}),u(rn);var Ln=l(rn,2),an=c(Ln),Ns=xr=>{var fr=D_(),Tr=fe(fr),Dr=c(Tr),Fr=c(Dr,!0);u(Dr),u(Tr);var Ea=l(Tr,2);j(()=>h(Fr,(e(i),v(()=>e(i).conf?.mqtt?.key_ok??"Key OK")))),He("click",Ea,B),He("keypress",Ea,B),q(xr,fr)},Ls=xr=>{var fr=R_(),Tr=c(fr);{let Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_key_upload??"Upload key"))),Fr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_key??"")));mn(Tr,{color:"blue",get text(){return e(Dr)},get title(){return e(Fr)}})}u(fr),q(xr,fr)};I(an,xr=>{e(s),v(()=>e(s).q.s.k)?xr(Ns):xr(Ls,-1)}),u(Ln),u(ar),q(et,ar)};I(me,et=>{e(s),v(()=>e(s).q.s.e)&&et(he)});var se=l(me,2),Ae=c(se,!0),re=l(Ae,3);oe(re),u(se);var ie=l(se,2),Se=c(ie,!0),Fe=l(Se,3),De=c(Fe);oe(De);var gt=l(De,2);u(Fe),u(ie);var dt=l(ie,2),at=c(dt),nt=c(at,!0),Xe=l(nt,3);oe(Xe),u(at);var bt=l(at,2),wt=c(bt,!0),Yt=l(wt,3),tr=c(Yt);tr.value=tr.__value=1;var nr=l(tr);nr.value=nr.__value=2;var vt=l(nr);vt.value=vt.__value=3;var ir=l(vt);ir.value=ir.__value=4;var Pt=l(ir);Pt.value=Pt.__value=0;var sr=l(Pt);sr.value=sr.__value=5;var ur=l(sr);ur.value=ur.__value=6;var jr=l(ur);jr.value=jr.__value=255,u(Yt),u(bt),u(dt);var cr=l(dt,2),Gr=c(cr,!0),hr=l(Gr,3);oe(hr),u(cr);var Ue=l(cr,2),Je=c(Ue,!0),Tt=l(Je,3);oe(Tt),u(Ue);var Gt=l(Ue,2),Nt=c(Gt),Zt=l(Nt),or=c(Zt,!0);u(Zt);var Ot=l(Zt,2),lr=c(Ot),it=c(lr),st=c(it,!0);u(it),it.value=it.__value=0;var St=l(it),Kt=c(St,!0);u(St),St.value=St.__value=1,u(lr);var Rt=l(lr,2);oe(Rt),u(Ot),u(Gt);var rr=l(Gt,2),Ct=c(rr),jt=c(Ct),Er=c(jt,!0);u(jt);var mr=l(jt,2),Ft=c(mr,!0);u(mr);var vr=l(mr,2),Lt=c(vr,!0);u(vr),u(Ct);var We=l(Ct,2),It=c(We);oe(It);var Lr=l(It,2);oe(Lr);var Pr=l(Lr,2);oe(Pr),u(We),u(rr);var Hr=l(rr,2),ra=c(Hr),zr=c(ra);oe(zr),zr.value=zr.__value="true";var tn=l(zr);u(ra),u(Hr),u(V),j(et=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.title??"MQTT"))),Q(ce,"href",et),h(Pe,`${e(i),v(()=>e(i).conf?.mqtt?.server??"Server")??""} `),Q(ae,"pattern",ja),h(Ae,(e(i),v(()=>e(i).conf?.mqtt?.user??"Username"))),Q(re,"pattern",Gn),h(Se,(e(i),v(()=>e(i).conf?.mqtt?.pass??"Password"))),Q(De,"pattern",Gn),h(nt,(e(i),v(()=>e(i).conf?.mqtt?.id??"Client ID"))),Xe.required=(e(s),v(()=>e(s).q.h)),Q(Xe,"pattern",ts),h(wt,(e(i),v(()=>e(i).conf?.mqtt?.payload??"Payload"))),h(Gr,(e(i),v(()=>e(i).conf?.mqtt?.publish??"Publish topic"))),Q(hr,"pattern",ja),h(Je,(e(i),v(()=>e(i).conf?.mqtt?.subscribe??"Subscribe topic"))),Q(Tt,"pattern",ja),Q(Tt,"placeholder",`${e(s),v(()=>e(s).q.b)??""}/command`),h(Nt,`${e(i),v(()=>e(i).conf?.mqtt?.update??"Update method")??""} `),h(or,(e(i),v(()=>e(i).conf?.mqtt?.interval??"Interval"))),h(st,(e(i),v(()=>e(i).conf?.mqtt?.realtime??"Real time"))),h(Kt,(e(i),v(()=>e(i).conf?.mqtt?.interval??"Interval"))),Rt.disabled=(e(s),v(()=>e(s)?.q?.t!=1)),h(Er,(e(i),v(()=>e(i).conf?.mqtt?.timeout??"Timeout"))),h(Ft,(e(i),v(()=>e(i).conf?.mqtt?.keepalive??"Keep-alive"))),h(Lt,(e(i),v(()=>e(i).conf?.mqtt?.autoreboot??"Auto-reboot"))),h(tn,` ${e(i),v(()=>e(i).conf?.mqtt?.allowdestructive??"Allow destructive commands")??""}`)},[()=>($(Jt),v(()=>Jt("mqtt")))]),qe(ae,()=>e(s).q.h,et=>(ee(s,e(s).q.h=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(pe,()=>e(s).q.p,et=>(ee(s,e(s).q.p=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(re,()=>e(s).q.u,et=>(ee(s,e(s).q.u=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(De,()=>e(s).q.a,et=>(ee(s,e(s).q.a=et),G(()=>{e(i),e(a),e(g),e(m)}))),He("click",gt,_),qe(Xe,()=>e(s).q.c,et=>(ee(s,e(s).q.c=et),G(()=>{e(i),e(a),e(g),e(m)}))),At(Yt,()=>e(s).q.m,et=>(ee(s,e(s).q.m=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(hr,()=>e(s).q.b,et=>(ee(s,e(s).q.b=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Tt,()=>e(s).q.r,et=>(ee(s,e(s).q.r=et),G(()=>{e(i),e(a),e(g),e(m)}))),At(lr,()=>e(s).q.t,et=>(ee(s,e(s).q.t=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Rt,()=>e(s).q.d,et=>(ee(s,e(s).q.d=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(It,()=>e(s).q.i,et=>(ee(s,e(s).q.i=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Lr,()=>e(s).q.k,et=>(ee(s,e(s).q.k=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Pr,()=>e(s).q.e,et=>(ee(s,e(s).q.e=et),G(()=>{e(i),e(a),e(g),e(m)}))),_r(zr,()=>e(s).q.dc,et=>(ee(s,e(s).q.dc=et),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(be,D=>{e(s),v(()=>e(s)?.q)&&D(Le)});var Ve=l(be,2),ct=D=>{var V=I_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe,!0),Ne=l(Te,3);oe(Ne),u(Pe);var Ie=l(Pe,2),ae=c(Ie,!0),pe=l(ae,3);oe(pe),u(Ie),u(we);var me=l(we,2),he=c(me),se=l(he),Ae=c(se);oe(Ae);var re=l(Ae,2);oe(re);var ie=l(re,2);oe(ie),u(se),u(me),u(V),j(Se=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.title??"Domoticz"))),Q(ce,"href",Se),h(Te,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.eidx??"Electricity IDX"))),Q(Ne,"pattern",ci),h(ae,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.cidx??"Current IDX"))),Q(pe,"pattern",ci),h(he,`${e(i),v(()=>e(i).conf?.mqtt?.domoticz?.vidx??"Voltage IDX")??""}: L1, L2 & L3 `),Q(Ae,"pattern",ci),Q(re,"pattern",ci),Q(ie,"pattern",ci)},[()=>($(Jt),v(()=>Jt("MQTT-configuration#domoticz")))]),qe(Ne,()=>e(s).o.e,Se=>(ee(s,e(s).o.e=Se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(pe,()=>e(s).o.c,Se=>(ee(s,e(s).o.c=Se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Ae,()=>e(s).o.u1,Se=>(ee(s,e(s).o.u1=Se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(re,()=>e(s).o.u2,Se=>(ee(s,e(s).o.u2=Se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ie,()=>e(s).o.u3,Se=>(ee(s,e(s).o.u3=Se),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ve,D=>{e(s),v(()=>e(s)?.q?.m==3)&&D(ct)});var Ge=l(Ve,2),ht=D=>{var V=W_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we,!0),Te=l(Pe,3);oe(Te),u(we);var Ne=l(we,2),Ie=c(Ne,!0),ae=l(Ie,3);oe(ae),u(Ne);var pe=l(Ne,2),me=c(pe,!0),he=l(me,3);oe(he),u(pe),u(V),j(se=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.ha?.title??"Home-Assistant"))),Q(ce,"href",se),h(Pe,(e(i),v(()=>e(i).conf?.mqtt?.ha?.discovery??"Discovery topic prefix"))),Q(Te,"pattern",ja),h(Ie,(e(i),v(()=>e(i).conf?.mqtt?.ha?.hostname??"Hostname for URL"))),Q(ae,"placeholder",`${e(s),v(()=>e(s).g.h)??""}.local`),Q(ae,"pattern",ja),h(me,(e(i),v(()=>e(i).conf?.mqtt?.ha?.tag??"Name tag"))),Q(he,"pattern",ja)},[()=>($(Jt),v(()=>Jt("MQTT-configuration#home-assistant")))]),qe(Te,()=>e(s).h.t,se=>(ee(s,e(s).h.t=se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ae,()=>e(s).h.h,se=>(ee(s,e(s).h.h=se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(he,()=>e(s).h.n,se=>(ee(s,e(s).h.n=se),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ge,D=>{e(s),v(()=>e(s)?.q?.m==4)&&D(ht)});var ut=l(Ge,2),mt=D=>{var V=X_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=re=>{var ie=z_(),Se=c(ie),Fe=c(Se);oe(Fe),Fe.value=Fe.__value="true";var De=l(Fe);u(Se);var gt=l(Se,2),dt=at=>{var nt=H_(),Xe=fe(nt),bt=l(c(Xe),2),wt=c(bt),Yt=Pt=>{var sr=B_();sr.value=sr.__value=0,q(Pt,sr)};I(wt,Pt=>{e(s),v(()=>e(s).c.p==0)&&Pt(Yt)});var tr=l(wt);tr.value=tr.__value=1;var nr=l(tr);nr.value=nr.__value=2,u(bt),u(Xe);var vt=l(Xe,2),ir=Pt=>{var sr=U_();He("click",sr,Me),q(Pt,sr)};I(vt,Pt=>{e(S)&&Pt(ir)}),At(bt,()=>e(s).c.p,Pt=>(ee(s,e(s).c.p=Pt),G(()=>{e(i),e(a),e(g),e(m)}))),q(at,nt)};I(gt,at=>{e(s),v(()=>e(s).c.e)&&at(dt)}),u(ie),j(()=>h(De,` ${e(i),v(()=>e(i).conf?.cloud?.ams??"AMS reader cloud")??""}`)),_r(Fe,()=>e(s).c.e,at=>(ee(s,e(s).c.e=at),G(()=>{e(i),e(a),e(g),e(m)}))),q(re,ie)},Te=er(()=>(e(a),v(()=>e(a)?.features?.includes("cloud"))));I(we,re=>{e(Te)&&re(Pe)});var Ne=l(we,2),Ie=c(Ne),ae=c(Ie);oe(ae),ae.value=ae.__value="true";var pe=l(ae,2),me=re=>{var ie=G_(),Se=fe(ie),Fe=c(Se);u(Se);var De=l(Se,2),gt=c(De);u(De);var dt=l(De,2),at=nt=>{var Xe=Y_(),bt=c(Xe);{let wt=Ce(()=>(e(a),v(()=>e(a).mac))),Yt=Ce(()=>(e(a),v(()=>e(a).meter.id)));l_(bt,{get value(){return`{"mac":"${e(wt)??""}","meter":"${e(Yt)??""}"}`}})}u(Xe),q(nt,Xe)};I(dt,nt=>{e(a),v(()=>e(a).mac&&e(a).meter.id)&&nt(at)}),j(()=>{h(Fe,`MAC: ${e(a),v(()=>e(a).mac)??""}`),h(gt,`Meter ID: ${e(a),v(()=>e(a).meter.id?e(a).meter.id:"missing, required")??""}`)}),q(re,ie)};I(pe,re=>{e(s),v(()=>e(s)?.c?.es)&&re(me)}),u(Ie),u(Ne);var he=l(Ne,2),se=re=>{var ie=V_(),Se=fe(ie),Fe=c(Se),De=c(Fe);oe(De),De.value=De.__value="true",Ir(),u(Fe),u(Se);var gt=l(Se,2),dt=at=>{var nt=K_(),Xe=c(nt);oe(Xe),u(nt),qe(Xe,()=>e(s).c.zt,bt=>(ee(s,e(s).c.zt=bt),G(()=>{e(i),e(a),e(g),e(m)}))),q(at,nt)};I(gt,at=>{e(s),v(()=>e(s).c.ze)&&at(dt)}),_r(De,()=>e(s).c.ze,at=>(ee(s,e(s).c.ze=at),G(()=>{e(i),e(a),e(g),e(m)}))),q(re,ie)},Ae=er(()=>(e(a),v(()=>e(a)?.features?.includes("zc"))));I(he,re=>{e(Ae)&&re(se)}),u(V),j(re=>{h(Ee,(e(i),v(()=>e(i).conf?.cloud?.title??"Cloud connections"))),Q(ce,"href",re)},[()=>($(Jt),v(()=>Jt("cloud-connections")))]),_r(ae,()=>e(s).c.es,re=>(ee(s,e(s).c.es=re),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(ut,D=>{e(s),v(()=>e(s)?.c)&&D(mt)});var $r=l(ut,2),Ur=D=>{var V=Z_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2);Xt(we,4,()=>({length:9}),Vt,(me,he,se)=>{var Ae=Q_(),re=c(Ae);re.textContent=se+1;var ie=l(re,2);oe(ie),Q(ie,"name",`t${se}`),Ir(2),u(Ae),qe(ie,()=>e(s).t.t[se],Se=>(ee(s,e(s).t.t[se]=Se),G(()=>{e(i),e(a),e(g),e(m)}))),q(me,Ae)}),u(we);var Pe=l(we,2),Te=c(Pe),Ne=c(Te,!0);u(Te);var Ie=l(Te,2);oe(Ie);var ae=l(Ie,2),pe=c(ae,!0);u(ae),u(Pe),u(V),j(me=>{h(Ee,(e(i),v(()=>e(i).conf?.thresholds?.title??"Thresholds"))),Q(ce,"href",me),h(Ne,(e(i),v(()=>e(i).conf?.thresholds?.avg??"Average of"))),h(pe,(e(i),v(()=>e(i).common?.hours??"hours")))},[()=>($(Jt),v(()=>Jt("tariff-thresholds")))]),qe(Ie,()=>e(s).t.h,me=>(ee(s,e(s).t.h=me),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)},Ar=er(()=>(e(s),v(()=>e(s)?.p?.r?.startsWith("NO")||e(s)?.p?.r?.startsWith("10YNO")||e(s)?.p?.r?.startsWith("10Y1001A1001A4"))));I($r,D=>{e(Ar)&&D(Ur)});var ke=l($r,2),je=D=>{var V=J_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we);Xt(Pe,1,()=>d,Vt,(ae,pe)=>{n_(ae,{get cfg(){return e(s),v(()=>e(s).u)},get item(){return e(pe)},get translations(){return e(i)}})});var Te=l(Pe,2),Ne=c(Te),Ie=l(Ne);Xt(Ie,5,()=>e(m),Vt,(ae,pe)=>{var me=Fn(),he=c(me,!0);u(me);var se={};j(()=>{h(he,(e(pe),v(()=>e(pe).name))),se!==(se=(e(pe),v(()=>e(pe).code)))&&(me.value=(me.__value=(e(pe),v(()=>e(pe).code)))??"")}),q(ae,me)}),u(Ie),u(Te),u(we),u(V),j(ae=>{h(Ee,(e(i),v(()=>e(i).conf?.ui?.title??"User interface"))),Q(ce,"href",ae),h(Ne,`${e(i),v(()=>e(i).conf?.ui?.lang??"Language")??""} `)},[()=>($(Jt),v(()=>Jt("user-interface")))]),At(Ie,()=>e(s).u.lang,ae=>(ee(s,e(s).u.lang=ae),G(()=>{e(i),e(a),e(g),e(m)}))),He("change",Ie,te),q(D,V)};I(ke,D=>{e(s),v(()=>e(s)?.u)&&D(je)});var Ye=l(ke,2),rt=D=>{var V=op(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=he=>{var se=rp(),Ae=fe(se),re=l(Ae,2),ie=c(re),Se=c(ie,!0),Fe=l(Se,3);_n(Fe,()=>{var We=c(Fe),It=Vi();Mo(fe(It),{get chip(){return e(a),v(()=>e(a).chip)}}),q(We,It)}),u(ie);var De=l(ie,2),gt=c(De,!0),dt=l(gt,3);_n(dt,()=>{var We=c(dt),It=Vi();Mo(fe(It),{get chip(){return e(a),v(()=>e(a).chip)}}),q(We,It)}),u(De);var at=l(De,2),nt=c(at),Xe=c(nt);oe(Xe),Xe.value=Xe.__value="true";var bt=l(Xe);u(nt),u(at),u(re);var wt=l(re,2),Yt=c(wt),tr=c(Yt,!0),nr=l(tr,3);oe(nr),u(Yt);var vt=l(Yt,2),ir=c(vt,!0),Pt=l(ir,3),sr=c(Pt);oe(sr),u(Pt),u(vt);var ur=l(vt,2),jr=c(ur),cr=c(jr);oe(cr),cr.value=cr.__value="true";var Gr=l(cr);u(jr),u(ur);var hr=l(ur,2),Ue=c(hr,!0),Je=l(Ue),Tt=c(Je);oe(Tt),Tt.value=Tt.__value="true";var Gt=l(Tt);u(Je);var Nt=l(Je,3),Zt=c(Nt);oe(Zt);var or=l(Zt,2);oe(or);var Ot=l(or,2);oe(Ot),u(Nt),u(hr);var lr=l(hr,2),it=c(lr),st=c(it),St=l(st);oe(St),u(it),u(lr);var Kt=l(lr,2),Rt=c(Kt,!0),rr=l(Rt,3);oe(rr),u(Kt);var Ct=l(Kt,2),jt=c(Ct,!0),Er=l(jt,3);oe(Er),u(Ct);var mr=l(Ct,2),Ft=We=>{var It=ep(),Lr=c(It,!0),Pr=l(Lr,3);oe(Pr),u(It),j(()=>{h(Lr,(e(i),v(()=>e(i).conf?.hw?.vcc?.title??"Vcc"))),Q(Pr,"max",e(ve))}),qe(Pr,()=>e(s).i.v.p,Hr=>(ee(s,e(s).i.v.p=Hr),G(()=>{e(i),e(a),e(g),e(m)}))),q(We,It)};I(mr,We=>{e(a),v(()=>e(a).chip!="esp8266")&&We(Ft)});var vr=l(mr,2),Lt=We=>{var It=tp(),Lr=c(It,!0),Pr=l(Lr,3),Hr=c(Pr);oe(Hr);var ra=l(Hr,2);oe(ra),u(Pr),u(It),j(()=>{h(Lr,(e(i),v(()=>e(i).conf?.hw?.vcc?.divider??"Voltage divider"))),Q(Hr,"placeholder",(e(i),v(()=>e(i).conf?.hw?.vcc?.div_vcc??"VCC"))),Q(ra,"placeholder",(e(i),v(()=>e(i).conf?.hw?.vcc?.div_gnd??"GND")))}),qe(Hr,()=>e(s).i.v.d.v,zr=>(ee(s,e(s).i.v.d.v=zr),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ra,()=>e(s).i.v.d.g,zr=>(ee(s,e(s).i.v.d.g=zr),G(()=>{e(i),e(a),e(g),e(m)}))),q(We,It)};I(vr,We=>{e(s),v(()=>e(s)?.i?.v?.p>0)&&We(Lt)}),u(wt),j(()=>{h(Se,(e(i),v(()=>e(i).conf?.hw?.han?.rx??"HAN RX"))),h(gt,(e(i),v(()=>e(i).conf?.hw?.han?.tx??"HAN TX"))),h(bt,` ${e(i),v(()=>e(i).conf?.hw?.han?.pullup??"pullup")??""}`),h(tr,(e(i),v(()=>e(i).conf?.hw?.ap_btn??"AP button"))),Q(nr,"max",e(ve)),h(ir,(e(i),v(()=>e(i).conf?.hw?.led?.title??"LED"))),Q(sr,"max",e(ve)),h(Gr,` ${e(i),v(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),h(Ue,(e(i),v(()=>e(i).conf?.hw?.led?.rgb??"RGB"))),h(Gt,` ${e(i),v(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),Q(Zt,"max",e(ve)),Q(or,"max",e(ve)),Q(Ot,"max",e(ve)),h(st,`${e(i),v(()=>e(i).conf?.hw?.led?.disable??"LED dis. GPIO")??""} `),Q(St,"max",e(ve)),h(Rt,(e(i),v(()=>e(i).conf?.hw?.temp??"Temperature"))),Q(rr,"max",e(ve)),h(jt,(e(i),v(()=>e(i).conf?.hw?.temp_analog??"Analog temp"))),Q(Er,"max",e(ve))}),At(Fe,()=>e(s).i.h.p,We=>(ee(s,e(s).i.h.p=We),G(()=>{e(i),e(a),e(g),e(m)}))),At(dt,()=>e(s).i.h.t,We=>(ee(s,e(s).i.h.t=We),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Xe,()=>e(s).i.h.u,We=>(ee(s,e(s).i.h.u=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(nr,()=>e(s).i.a,We=>(ee(s,e(s).i.a=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(sr,()=>e(s).i.l.p,We=>(ee(s,e(s).i.l.p=We),G(()=>{e(i),e(a),e(g),e(m)}))),_r(cr,()=>e(s).i.l.i,We=>(ee(s,e(s).i.l.i=We),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Tt,()=>e(s).i.r.i,We=>(ee(s,e(s).i.r.i=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Zt,()=>e(s).i.r.r,We=>(ee(s,e(s).i.r.r=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(or,()=>e(s).i.r.g,We=>(ee(s,e(s).i.r.g=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Ot,()=>e(s).i.r.b,We=>(ee(s,e(s).i.r.b=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(St,()=>e(s).i.d.d,We=>(ee(s,e(s).i.d.d=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(rr,()=>e(s).i.t.d,We=>(ee(s,e(s).i.t.d=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Er,()=>e(s).i.t.a,We=>(ee(s,e(s).i.t.a=We),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,se)};I(ye,he=>{e(a),v(()=>e(a).board>20)&&he(we)});var Pe=l(ye,2),Te=he=>{var se=ap(),Ae=c(se),re=l(Ae),ie=c(re),Se=c(ie,!0);u(ie),ie.value=ie.__value=0;var Fe=l(ie),De=c(Fe,!0);u(Fe),Fe.value=Fe.__value=1,u(re),u(se),j(()=>{h(Ae,`${e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.title??"LED behaviour")??""} `),h(Se,(e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.enabled??"Enabled"))),h(De,(e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.disabled??"Disabled")))}),At(re,()=>e(s).i.d.b,gt=>(ee(s,e(s).i.d.b=gt),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,se)};I(Pe,he=>{e(s),v(()=>e(s)?.i?.d?.d>0)&&he(Te)});var Ne=l(Pe,2),Ie=he=>{var se=np(),Ae=l(fe(se)),re=c(Ae),ie=c(re,!0);u(re),re.value=re.__value=0;var Se=l(re),Fe=c(Se,!0);u(Se),Se.value=Se.__value=3,u(Ae),j(()=>{h(ie,(e(i),v(()=>e(i).conf?.hw?.powersaving?.[0]??"Normal"))),h(Fe,(e(i),v(()=>e(i).conf?.hw?.powersaving?.[3]??"Extreme (Experimental)")))}),At(Ae,()=>e(s).i.p,De=>(ee(s,e(s).i.p=De),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,se)},ae=er(()=>($(Sn),e(a),v(()=>Sn(e(a).board))));I(Ne,he=>{e(ae)&&he(Ie)});var pe=l(Ne,2),me=he=>{var se=sp(),Ae=fe(se),re=l(Ae,2),ie=c(re),Se=c(ie,!0),Fe=l(Se,3);oe(Fe),u(ie);var De=l(ie,2),gt=c(De,!0),dt=l(gt,3);oe(dt),u(De);var at=l(De,2),nt=Xe=>{var bt=ip(),wt=c(bt,!0),Yt=l(wt,3);oe(Yt),u(bt),j(()=>h(wt,(e(i),v(()=>e(i).conf?.hw?.vcc?.boot??"Boot limit")))),qe(Yt,()=>e(s).i.v.b,tr=>(ee(s,e(s).i.v.b=tr),G(()=>{e(i),e(a),e(g),e(m)}))),q(Xe,bt)};I(at,Xe=>{e(a),v(()=>e(a).board==2||e(a).board==100)&&Xe(nt)}),u(re),j(()=>{h(Se,(e(i),v(()=>e(i).conf?.hw?.vcc?.offset??"Vcc offset"))),h(gt,(e(i),v(()=>e(i).conf?.hw?.vcc?.multiplier??"Multiplier")))}),qe(Fe,()=>e(s).i.v.o,Xe=>(ee(s,e(s).i.v.o=Xe),G(()=>{e(i),e(a),e(g),e(m)}))),qe(dt,()=>e(s).i.v.m,Xe=>(ee(s,e(s).i.v.m=Xe),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,se)};I(pe,he=>{e(a),v(()=>e(a).chip=="esp8266")&&he(me)}),u(V),j(he=>{h(Ee,(e(i),v(()=>e(i).conf?.hw?.title??"Hardware"))),Q(ce,"href",he)},[()=>($(Jt),v(()=>Jt("hardware")))]),q(D,V)};I(Ye,D=>{e(s),e(a),v(()=>e(s)?.i?.h&&(e(a)?.board>20||e(a)?.chip=="esp8266"||e(s)?.i?.d?.d>0))&&D(rt)});var zt=l(Ye,2),ft=D=>{var V=up(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,4),ye=l(ce,2),we=c(ye),Pe=c(we);oe(Pe),Pe.value=Pe.__value="true";var Te=l(Pe);u(we),u(ye);var Ne=l(ye,2),Ie=ae=>{var pe=vp(),me=fe(pe),he=c(me,!0);u(me);var se=l(me,2),Ae=c(se),re=c(Ae);oe(re),re.value=re.__value="true";var ie=l(re);u(Ae),u(se);var Se=l(se,2),Fe=bt=>{var wt=lp(),Yt=c(wt,!0);u(wt),j(()=>h(Yt,(e(i),v(()=>e(i).conf?.debug?.telnet_danger??"Disable when done")))),q(bt,wt)};I(Se,bt=>{e(s),v(()=>e(s).d.t)&&bt(Fe)});var De=l(Se,2),gt=c(De),dt=c(gt);dt.value=dt.__value=1;var at=l(dt);at.value=at.__value=2;var nt=l(at);nt.value=nt.__value=3;var Xe=l(nt);Xe.value=Xe.__value=4,u(gt),u(De),j(()=>{h(he,(e(i),v(()=>e(i).conf?.debug?.danger??"Disable when done"))),h(ie,` ${e(i),v(()=>e(i).conf?.debug?.telnet??"Enable telnet")??""}`)}),_r(re,()=>e(s).d.t,bt=>(ee(s,e(s).d.t=bt),G(()=>{e(i),e(a),e(g),e(m)}))),At(gt,()=>e(s).d.l,bt=>(ee(s,e(s).d.l=bt),G(()=>{e(i),e(a),e(g),e(m)}))),q(ae,pe)};I(Ne,ae=>{e(s),v(()=>e(s)?.d?.s)&&ae(Ie)}),u(V),j(()=>{h(Ee,(e(i),v(()=>e(i).conf?.debug?.title??"Debugging"))),h(Te,` ${e(i),v(()=>e(i).conf?.debug?.enable??"Enable debugging")??""}`)}),_r(Pe,()=>e(s).d.s,ae=>(ee(s,e(s).d.s=ae),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)},Bt=er(()=>(e(s),e(a),v(()=>e(s)?.d&&e(a)?.features?.includes("rdebug"))));I(zt,D=>{e(Bt)&&D(ft)}),u(z);var Qt=l(z,2),Rr=c(Qt),br=D=>{var V=cp(),ne=fe(V),Ee=c(ne),ce=c(Ee,!0);u(Ee),u(ne);var ye=l(ne,2),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>{h(ce,(e(i),v(()=>e(i).conf?.btn_reset??"Factory reset"))),h(Pe,(e(i),v(()=>e(i).btn?.reboot??"Reboot")))}),He("click",Ee,R),He("click",we,T),q(D,V)};I(Rr,D=>{e(o),v(()=>e(o)?.a)&&D(br)});var _e=l(Rr,2),U=D=>{var V=fp(),ne=c(V),Ee=c(ne,!0);u(ne),u(V),j(()=>h(Ee,(e(i),v(()=>e(i).btn?.save??"Save")))),q(D,V)};I(_e,D=>{e(s)&&D(U)}),u(Qt),u(N),ms(N,D=>E(f,D),()=>e(f));var X=l(N,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.loading??"Loading")));Wr(X,{get active(){return e(b)},get message(){return e(D)}})}var xe=l(X,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.saving??"Saving")));Wr(xe,{get active(){return e(p)},get message(){return e(D)}})}var ue=l(xe,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.reset??"Factory reset")));Wr(ue,{get active(){return e(A)},get message(){return e(D)}})}var $e=l(ue,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.reset_done??"Done")));Wr($e,{get active(){return e(P)},get message(){return e(D)}})}He("submit",N,On(Y)),q(t,M),yt()}var pp=F('
'),hp=F(' '),mp=F(' '),gp=F('
 
'),bp=F('
');function xp(t,n){xt(n,!1);let r=de(n,"services",24,()=>[]),a=de(n,"translations",24,()=>({}));const o={mqtt:"MQTT",mqtt_c:"MQTT (custom)",mqtt_es:"Flexpartner.Energy",price:"Price service",ntp:"NTP",cloud:"Cloud",zc:"ZmartCharge"};function f(A){return A.n??a().status?.services?.[A.k]??a().header?.[A.k]??o[A.k]??A.k}function i(A){return a().status?.services?.state?.[A]??{0:"Disabled",1:"OK",2:"Connecting",3:"Error"}[A]??A}const d={mqtt:"mqtt",mqtt_c:"mqtt",mqtt_es:"mqtt",price:"price",cloud:"http",zc:"http"};function b(A){if(!A.e)return"";const P=d[A.k];return a().errors?.[P]?.[A.e]??A.e}Mt();var p=bp(),S=c(p),s=c(S,!0);u(S);var m=l(S,2),k=A=>{var P=pp(),R=c(P,!0);u(P),j(()=>h(R,($(a()),v(()=>a().status?.services?.none??"No services configured")))),q(A,P)},g=A=>{var P=Mr(),R=fe(P);Xt(R,1,r,Vt,(Y,H)=>{var T=gp(),O=c(T),C=l(O,2),B=c(C),J=c(B,!0);u(B);var te=l(B,2),le=_=>{var w=hp(),y=c(w,!0);u(w),j(()=>{Q(w,"title",(e(H),v(()=>e(H).d))),h(y,(e(H),v(()=>e(H).d)))}),q(_,w)};I(te,_=>{e(H),v(()=>e(H).d)&&_(le)}),u(C);var ve=l(C,2),Me=c(ve,!0);u(ve);var K=l(ve,2),x=_=>{var w=mp(),y=c(w,!0);u(w),j(M=>{Q(w,"title",(e(H),v(()=>e(H).e))),h(y,M)},[()=>(e(H),v(()=>b(e(H))))]),q(_,w)};I(K,_=>{e(H),v(()=>e(H).e)&&_(x)}),u(T),j((_,w,y)=>{Zr(O,1,`bd-${_??""} mr-2 flex-none`),h(J,w),h(Me,y)},[()=>($(Aa),e(H),v(()=>Aa(e(H).s))),()=>(e(H),v(()=>f(e(H)))),()=>(e(H),v(()=>i(e(H).s)))]),q(Y,T)}),q(A,P)};I(m,A=>{$(r()),v(()=>!r()||r().length===0)?A(k):A(g,-1)}),u(p),j(()=>h(s,($(a()),v(()=>a().status?.services?.title??"Services")))),q(t,p),yt()}var yp=F('
',1),wp=F(''),kp=F('
'),Xl=F('DNSv6: ',1),$p=F('
IPv6:
',1),Sp=F('
'),qp=F('
Channel:
'),Ql=F('
'),Mp=F('
'),Ep=F(' ',1),Tp=F('
'),Ap=F(''),Pp=F(' ',1),Op=F('
'),Cp=F(''),Np=F(''),Lp=F(''),Dp=F(' ',1),Rp=F('
'),jp=F(' ',1);function Fp(t,n){xt(n,!1);let r=W(),a=W();Os.subscribe(_e=>E(r,_e)),qr.subscribe(_e=>E(a,_e));const o=_e=>{if(!_e)return _e;const U=_e.toLowerCase().split(":").map(D=>D.replace(/^0+/,"")||"0");let X=-1,xe=0,ue=-1,$e=0;for(let D=0;Dxe&&(X=ue,xe=$e),ue=-1,$e=0);if($e>xe&&(X=ue,xe=$e),xe>1){const D=U.slice(0,X),V=U.slice(X+xe);return D.length===0&&V.length===0?"::":D.length===0?"::"+V.join(":"):V.length===0?D.join(":")+"::":D.join(":")+"::"+V.join(":")}return U.join(":")};let f=[{name:"WiFi",key:"iw"},{name:"MQTT",key:"im"},{name:"Web",key:"ie"},{name:"Meter",key:"it"},{name:"Thresholds",key:"ih"},{name:"GPIO",key:"ig"},{name:"NTP",key:"in"},{name:"Price",key:"is"}],i=W({});Xr.subscribe(_e=>{E(i,_e)});let d;Ps(()=>{d=setInterval(hn,1e4)}),su(()=>{d&&clearInterval(d)});let b=W();function p(){confirm((e(i).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(a).upgrade.n))&&(hu(e(a).upgrade.n),qr.update(_e=>(_e.upgrade.t=e(a).upgrade.n,_e.upgrade.p=0,_e.upgrading=!0,_e)))}async function S(){await(await fetch("reboot",{method:"POST"})).json()}const s=function(){confirm(e(i).device?.reboot_confirm??"Reboot?")&&(qr.update(_e=>(_e.booting=!0,_e)),S())};let m=W(),k=W(null),g=W(!1),A=W(),P=W(null),R=W(!1);hn();let Y=W({hostname:"",ip:""});function H(_e){E(R,!0);const U=new FormData;U.append("file",e(P)[0]),fetch("configfile",{method:"POST",body:U}).then(X=>X.json()).then(X=>{qr.update(xe=>(e(Y)&&e(Y).hostname&&(xe.hostname=e(Y).hostname),xe.booting=X.reboot,e(Y)&&e(Y).ip&&(xe.net.ip=e(Y).ip),setTimeout(Ti,5e3,e(a)),xe))}).catch(X=>{console.error("Error:",X),setTimeout(Ti,5e3,e(a))})}function T(){const _e=new FormData;_e.append("channel",e(a).upgrade.c),fetch("fwchannel",{method:"POST",body:_e})}gr(()=>(e(r),e(b),hn),()=>{e(r)&&e(r).sa!==void 0&&e(r).sa!==e(b)&&(e(b)!==void 0&&hn(),E(b,e(r).sa))}),gr(()=>e(P),()=>{if(e(P)&&e(P).length==1){let _e=e(P)[0],U=new FileReader,X=xe=>{let ue=xe.target.result.split(` +`);for(let $e in ue){let D=ue[$e];D.startsWith("hostname ")?ee(Y,e(Y).hostname=D.split(" ")[1]):D.startsWith("ip ")&&ee(Y,e(Y).ip=D.split(" ")[1])}};U.onload=X,U.readAsText(_e)}}),kr(),Mt();var O=jp(),C=fe(O),B=c(C),J=c(B),te=c(J,!0);u(J);var le=l(J,2),ve=c(le),Me=l(ve),K=_e=>{var U=da();j(()=>h(U,`(${e(a),v(()=>e(a).cpu)??""}MHz)`)),q(_e,U)};I(Me,_e=>{e(a),v(()=>e(a).cpu)&&_e(K)}),u(le);var x=l(le,2),_=c(x),w=l(_),y=c(w,!0);u(w),u(x);var M=l(x,2),N=c(M);u(M);var z=l(M,2),Z=_e=>{var U=yp(),X=fe(U),xe=c(X);u(X);var ue=l(X,2),$e=c(ue),D=l($e),V=ye=>{{let we=Ce(()=>(e(r),v(()=>new Date(new Date().getTime()-e(r).u*1e3))));mu(ye,{get timestamp(){return e(we)},fullTimeColor:"",get offset(){return e(a),v(()=>e(a).clock_offset)}})}},ne=ye=>{var we=da("-");q(ye,we)};I(D,ye=>{e(r),v(()=>e(r).u>0)?ye(V):ye(ne,-1)}),u(ue);var Ee=l(ue,2),ce=c(Ee);u(Ee),j(ye=>{h(xe,`${e(i),v(()=>e(i).status?.device?.apmac??"AP MAC")??""}: ${e(a),v(()=>e(a).apmac)??""}`),h($e,`${e(i),v(()=>e(i).status?.device?.last_boot??"Last boot")??""}: `),h(ce,`${e(i),v(()=>e(i).status?.device?.reason??"Reason")??""}: ${ye??""} (${e(a),v(()=>e(a).boot_reason)??""}/${e(a),v(()=>e(a).ex_cause)??""})`)},[()=>(e(i),$(jl),e(a),v(()=>e(i)[jl(e(a).chip)]?.reason?.[e(a).boot_reason]??e(a).boot_reason))]),q(_e,U)};I(z,_e=>{e(a),v(()=>e(a).apmac&&e(a).apmac!=e(a).mac)&&_e(Z)});var ge=l(z,2),Be=_e=>{var U=wp(),X=c(U),xe=c(X),ue=c(xe,!0);u(xe),u(X);var $e=l(X,2),D=c($e,!0);u($e),u(U),j(()=>{h(ue,(e(i),v(()=>e(i).status?.device?.btn_consents??"Consents"))),h(D,(e(i),v(()=>e(i).btn?.reboot??"Reboot")))}),He("click",$e,s),q(_e,U)};I(ge,_e=>{e(r),v(()=>e(r)?.a)&&_e(Be)}),u(B);var Oe=l(B,2),ze=_e=>{var U=kp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne),u(U),j(ce=>{h(xe,(e(i),v(()=>e(i).status?.meter?.title??"Meter"))),h($e,`${e(i),v(()=>e(i).status?.meter?.manufacturer??"Manufacturer")??""}: ${ce??""}`),h(V,`${e(i),v(()=>e(i).status?.meter?.model??"Model")??""}: ${e(a),v(()=>e(a).meter.model?e(a).meter.model:"unknown")??""}`),h(Ee,`${e(i),v(()=>e(i).status?.meter?.id??"ID")??""}: ${e(a),v(()=>e(a).meter.id?e(a).meter.id:"unknown")??""}`)},[()=>($(gs),e(a),v(()=>gs(e(a).meter.mfg)))]),q(_e,U)};I(Oe,_e=>{e(a),v(()=>e(a).meter)&&_e(ze)});var pt=l(Oe,2);xp(pt,{get services(){return e(a),v(()=>e(a).services)},get translations(){return e(i)}});var Ze=l(pt,2),Et=_e=>{var U=Sp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne);var ce=l(ne,2),ye=c(ce),we=ae=>{var pe=da();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns1)??""}`)),q(ae,pe)};I(ye,ae=>{e(a),v(()=>e(a).net.dns1)&&ae(we)});var Pe=l(ye,2),Te=ae=>{var pe=da();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns2)??""}`)),q(ae,pe)};I(Pe,ae=>{e(a),v(()=>e(a).net.dns2)&&ae(Te)}),u(ce);var Ne=l(ce,2),Ie=ae=>{var pe=$p(),me=fe(pe),he=l(c(me)),se=c(he,!0);u(he),u(me);var Ae=l(me,2),re=c(Ae),ie=De=>{var gt=Xl(),dt=l(fe(gt)),at=c(dt,!0);u(dt),j(nt=>h(at,nt),[()=>(e(a),v(()=>o(e(a).net.dns1v6)))]),q(De,gt)};I(re,De=>{e(a),v(()=>e(a).net.dns1v6)&&De(ie)});var Se=l(re,2),Fe=De=>{var gt=Xl(),dt=l(fe(gt)),at=c(dt,!0);u(dt),j(nt=>h(at,nt),[()=>(e(a),v(()=>o(e(a).net.dns2v6)))]),q(De,gt)};I(Se,De=>{e(a),v(()=>e(a).net.dns2v6)&&De(Fe)}),u(Ae),j(De=>h(se,De),[()=>(e(a),v(()=>o(e(a).net.ipv6)))]),q(ae,pe)};I(Ne,ae=>{e(a),v(()=>e(a).net.ipv6)&&ae(Ie)}),u(U),j(()=>{h(xe,(e(i),v(()=>e(i).status?.network?.title??"Network"))),h($e,`${e(i),v(()=>e(i).conf?.network?.ip??"IP")??""}: ${e(a),v(()=>e(a).net.ip)??""}`),h(V,`${e(i),v(()=>e(i).conf?.network?.mask??"Mask")??""}: ${e(a),v(()=>e(a).net.mask)??""}`),h(Ee,`${e(i),v(()=>e(i).conf?.network?.gw??"Gateway")??""}: ${e(a),v(()=>e(a).net.gw)??""}`)}),q(_e,U)};I(Ze,_e=>{e(a),v(()=>e(a).net)&&_e(Et)});var be=l(Ze,2),Le=c(be),Ve=c(Le,!0);u(Le);var ct=l(Le,2),Ge=l(ct,2),ht=_e=>{var U=qp(),X=l(c(U)),xe=c(X);xe.value=xe.__value=0;var ue=l(xe);ue.value=ue.__value=1;var $e=l(ue);$e.value=$e.__value=2;var D=l($e);D.value=D.__value=3,u(X),u(U),At(X,()=>e(a).upgrade.c,V=>(ee(a,e(a).upgrade.c=V),G(()=>{}))),He("change",X,T),q(_e,U)};I(Ge,_e=>{e(a),v(()=>e(a).fwconsent===1)&&_e(ht)});var ut=l(Ge,2),mt=c(ut);u(ut);var $r=l(ut,2),Ur=_e=>{var U=Ql(),X=c(U),xe=c(X);u(X),u(U),j(ue=>h(xe,`${ue??""} + ${e(i),e(a),v(()=>e(i).errors?.upgrade?.[e(a).upgrade.e]??e(a).upgrade.e)??""}`),[()=>(e(i),e(a),v(()=>(e(i).status?.firmware?.failed??"Upgrade from {0} to {1} failed").replace("{0}",e(a).upgrade.f).replace("{1}",e(a).upgrade.t)))]),q(_e,U)};I($r,_e=>{e(a),v(()=>e(a).upgrade.t&&e(a).upgrade.t!=e(a).version&&e(a).upgrade.e!=0&&e(a).upgrade.e!=123)&&_e(Ur)});var Ar=l($r,2),ke=_e=>{var U=Ep(),X=fe(U),xe=c(X),ue=l(xe),$e=c(ue,!0);u(ue);var D=l(ue,2),V=ce=>{var ye=Mp(),we=c(ye);u(ye),j(()=>Q(ye,"title",(e(i),v(()=>e(i).status?.firmware?.install??"Install")))),He("click",we,p),q(ce,ye)};I(D,ce=>{e(a),e(r),v(()=>(e(a).security==0||e(r).a)&&e(a).fwconsent===1&&e(a).upgrade.n&&e(a).upgrade.n!=e(a).version)&&ce(V)}),u(X);var ne=l(X,2),Ee=ce=>{var ye=Ql(),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>h(Pe,(e(i),v(()=>e(i).status?.firmware?.no_one_click??"One-click upgrade disabled")))),q(ce,ye)};I(ne,ce=>{e(a),v(()=>e(a).fwconsent===2)&&ce(Ee)}),j(()=>{h(xe,`${e(i),v(()=>e(i).status?.firmware?.latest??"Latest")??""}: `),Q(ue,"href",(e(a),v(()=>"https://github.com/UtilitechAS/amsreader-firmware/releases/tag/"+e(a).upgrade.n))),h($e,(e(a),v(()=>e(a).upgrade.n)))}),q(_e,U)};I(Ar,_e=>{e(a),v(()=>e(a).upgrade.n)&&_e(ke)});var je=l(Ar,2),Ye=_e=>{var U=Tp(),X=c(U,!0);u(U),j(xe=>h(X,xe),[()=>($(Bl),$(Re),e(a),v(()=>Bl(Re(e(a).chip,e(a).board))))]),q(_e,U)},rt=er(()=>(e(a),e(r),$(Sn),v(()=>(e(a).security==0||e(r).a)&&Sn(e(a).board))));I(je,_e=>{e(rt)&&_e(Ye)});var zt=l(je,2),ft=_e=>{var U=Op(),X=c(U),xe=c(X);ms(xe,V=>E(m,V),()=>e(m));var ue=l(xe,2),$e=V=>{var ne=Ap(),Ee=c(ne,!0);u(ne),j(()=>h(Ee,(e(i),v(()=>e(i).status?.firmware?.btn_select_file??"Select file")))),He("click",ne,()=>{e(m).click()}),q(V,ne)},D=V=>{var ne=Pp(),Ee=fe(ne),ce=l(Ee),ye=c(ce,!0);u(ce),j(()=>{h(Ee,`${e(k),v(()=>e(k)[0].name)??""} `),h(ye,(e(i),v(()=>e(i).btn?.upload??"Upload")))}),q(V,ne)};I(ue,V=>{e(k),v(()=>!e(k)||e(k).length==0)?V($e):V(D,-1)}),u(X),u(U),El(xe,()=>e(k),V=>E(k,V)),He("submit",X,()=>E(g,!0)),q(_e,U)};I(zt,_e=>{e(a),e(r),v(()=>e(a).security==0||e(r).a)&&_e(ft)}),u(be);var Bt=l(be,2),Qt=_e=>{var U=Rp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue),D=c($e);Xt(D,1,()=>f,Vt,(me,he)=>{var se=Cp(),Ae=c(se);oe(Ae);var re=l(Ae);u(se),j(()=>{Q(Ae,"name",(e(he),v(()=>e(he).key))),h(re,` ${e(i),e(he),v(()=>e(i).status?.backup?.[e(he).key]??e(he).name)??""}`)}),q(me,se)});var V=l(D,2),ne=c(V),Ee=l(ne),ce=l(Ee,2),ye=c(ce,!0);u(ce),u(V),u($e);var we=l($e,2),Pe=me=>{var he=Np(),se=c(he,!0);u(he),j(()=>h(se,(e(i),v(()=>e(i).status?.backup?.btn_download??"Download")))),q(me,he)};I(we,me=>{e(P),v(()=>!e(P)||e(P).length==0)&&me(Pe)}),u(ue);var Te=l(ue,2),Ne=c(Te);ms(Ne,me=>E(A,me),()=>e(A));var Ie=l(Ne,2),ae=me=>{var he=Lp(),se=c(he,!0);u(he),j(()=>h(se,(e(i),v(()=>e(i).status?.backup?.btn_select_file??"Select file")))),He("click",he,()=>{e(A).click()}),q(me,he)},pe=me=>{var he=Dp(),se=fe(he),Ae=l(se),re=c(Ae,!0);u(Ae),j(()=>{h(se,`${e(P),v(()=>e(P)[0].name)??""} `),h(re,(e(i),v(()=>e(i).btn?.upload??"Upload")))}),q(me,he)};I(Ie,me=>{e(P),v(()=>!e(P)||e(P).length==0)?me(ae):me(pe,-1)}),u(Te),u(U),j(()=>{h(xe,(e(i),v(()=>e(i).status?.backup?.title??"Backup"))),h(Ee,` ${e(i),v(()=>e(i).status?.backup?.secrets??"Include secrets")??""}`),h(ye,(e(i),v(()=>e(i).status?.backup?.secrets_desc??"")))}),El(Ne,()=>e(P),me=>E(P,me)),He("submit",Te,On(H)),q(_e,U)};I(Bt,_e=>{e(a),e(r),v(()=>e(a).security==0||e(r).a)&&_e(Qt)}),u(C);var Rr=l(C,2);{let _e=Ce(()=>(e(i),v(()=>e(i).status?.mask?.firmware??"Uploading")));Wr(Rr,{get active(){return e(g)},get message(){return e(_e)}})}var br=l(Rr,2);{let _e=Ce(()=>(e(i),v(()=>e(i).status?.mask?.config??"Uploading")));Wr(br,{get active(){return e(R)},get message(){return e(_e)}})}j((_e,U)=>{h(te,(e(i),v(()=>e(i).status?.device.title??"Device"))),h(ve,`${e(i),v(()=>e(i).status?.device?.chip??"Chip")??""}: ${e(a),v(()=>e(a).chip)??""} `),h(_,`${e(i),v(()=>e(i).status?.device?.device??"Device")??""}: `),h(y,_e),h(N,`${e(i),v(()=>e(i).status?.device?.mac??"MAC")??""}: ${e(a),v(()=>e(a).mac)??""}`),h(Ve,(e(i),v(()=>e(i).status?.firmware?.title??"Firmware"))),Q(ct,"href",U),h(mt,`${e(i),v(()=>e(i).status?.firmware?.installed??"Installed")??""}: ${e(a),v(()=>e(a).version)??""}`)},[()=>($(Re),e(a),v(()=>Re(e(a).chip,e(a).board))),()=>($(Jt),v(()=>Jt("statusinformation-screen")))]),q(t,O),yt()}var Xi=F(" "),Zl=F(""),Jl=F(""),Ip=F('
🗑

',1),Wp=F('

',1);function Bp(t,n){xt(n,!1);let r=W({});Xr.subscribe(y=>{E(r,y)});let a=["mo","tu","we","th","fr","sa","su"],o=W({}),f=W(!0),i=W(!1);bu.subscribe(y=>{y.o&&(E(o,y),E(f,!1))}),Gd();async function d(y){E(i,!0);const M=new URLSearchParams;M.append("r","true"),M.append("rc",e(o).o.length),e(o).o.forEach(function(N,z){M.append("rt"+z,N.t),M.append("rn"+z,N.n),M.append("rd"+z,N.d),M.append("ra"+z,N.a),M.append("rh"+z,N.h),M.append("rv"+z,N.v),M.append("rsm"+z,N.s.m),M.append("rsd"+z,N.s.d),M.append("rem"+z,N.e.m),M.append("red"+z,N.e.d)}),await(await fetch("save",{method:"POST",body:M})).json(),E(i,!1),Za("/configuration")}let b=function(y,M){return y.includes(M)?y=y.filter(function(N){return N!==M}):y.push(M),y},p=function(){let y=e(o).o;y.push({t:1,n:"",d:3,a:[0,1,2,3,4,5,6,7],h:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],v:.001,s:{m:0,d:0},e:{m:0,d:0}}),ee(o,e(o).o=y)},S=function(y){let M=e(o).o;M.splice(y,1),ee(o,e(o).o=M)},s=function(y){if(y<=0)return;let M=e(o).o;var N=M[y];M[y]=M[y-1],M[y-1]=N,ee(o,e(o).o=M)};function m(y){return y===0?31:new Date(2024,y,0).getDate()}function k(y,M){const N=m(M);y.d>N&&(y.d=N)}let g=function(y){let M=e(o).o;if(!(y>=M.length-1)){var N=M[y];M[y]=M[y+1],M[y+1]=N,ee(o,e(o).o=M)}};Mt();var A=Wp(),P=fe(A),R=c(P),Y=c(R,!0);u(R);var H=l(R,2),T=l(H,4),O=c(T),C=l(O,2),B=y=>{var M=Mr(),N=fe(M);Xt(N,1,()=>e(o).o,Vt,(z,Z,ge)=>{var Be=Ip(),Oe=fe(Be),ze=c(Oe),pt=c(ze);oe(pt),u(ze);var Ze=l(ze,2),Et=c(Ze),be=c(Et),Le=c(be,!0);u(be),be.value=be.__value=1;var Ve=l(be),ct=c(Ve,!0);u(Ve),Ve.value=Ve.__value=2;var Ge=l(Ve),ht=c(Ge,!0);u(Ge),Ge.value=Ge.__value=3,u(Et);var ut=l(Et,2),mt=c(ut),$r=c(mt,!0);u(mt),mt.value=mt.__value=0;var Ur=l(mt);Ur.value=Ur.__value=1;var Ar=l(Ur);Ar.value=Ar.__value=3;var ke=l(Ar);ke.value=ke.__value=2,u(ut);var je=l(ut,2);oe(je),u(Ze);var Ye=l(Ze,2),rt=c(Ye),zt=c(rt);u(rt);var ft=l(rt,2);Xt(ft,4,()=>({length:7}),Vt,(se,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j(Fe=>{Zr(ie,1,Fe),h(Se,a[re])},[()=>vn(e(Z).a.includes(re)?"bd-on":"bd-off")]),He("click",ie,()=>(e(Z).a=b(e(Z).a,re),G(()=>e(o)),G(()=>{e(r)}))),q(se,ie)}),u(ft),u(Ye);var Bt=l(Ye,2),Qt=c(Bt),Rr=c(Qt);u(Qt);var br=l(Qt,2),_e=c(br);Xt(_e,4,()=>({length:8}),Vt,(se,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Zr(ie,1,Fe),h(Se,De)},[()=>vn(e(Z).h.includes(re)?"bd-on":"bd-off"),()=>re.toString().padStart(2,"0")]),He("click",ie,()=>(e(Z).h=b(e(Z).h,re),G(()=>e(o)),G(()=>{e(r)}))),q(se,ie)}),u(_e);var U=l(_e,2);Xt(U,4,()=>({length:8}),Vt,(se,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Zr(ie,1,Fe),h(Se,De)},[()=>vn(e(Z).h.includes(re+8)?"bd-on":"bd-off"),()=>(re+8).toString().padStart(2,"0")]),He("click",ie,()=>(e(Z).h=b(e(Z).h,re+8),G(()=>e(o)),G(()=>{e(r)}))),q(se,ie)}),u(U);var X=l(U,2);Xt(X,4,()=>({length:8}),Vt,(se,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Zr(ie,1,Fe),h(Se,De)},[()=>vn(e(Z).h.includes(re+16)?"bd-on":"bd-off"),()=>(re+16).toString().padStart(2,"0")]),He("click",ie,()=>(e(Z).h=b(e(Z).h,re+16),G(()=>e(o)),G(()=>{e(r)}))),q(se,ie)}),u(X),u(br),u(Bt);var xe=l(Bt,2),ue=c(xe),$e=c(ue);$e.value=$e.__value=0;var D=l($e);Xt(D,1,()=>({length:m(e(Z).s.m)}),Vt,(se,Ae,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(se,ie)}),u(ue);var V=l(ue,2),ne=c(V);ne.value=ne.__value=0;var Ee=l(ne);Xt(Ee,0,()=>({length:12}),Vt,(se,Ae,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Fe=>h(Se,Fe),[()=>e(r).months?e(r).months?.[re]:Ht(re+1)]),q(se,ie)}),u(V);var ce=l(V,2),ye=l(ce,2),we=c(ye);we.value=we.__value=0;var Pe=l(we);Xt(Pe,1,()=>({length:m(e(Z).e.m)}),Vt,(se,Ae,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(se,ie)}),u(ye);var Te=l(ye,2),Ne=c(Te);Ne.value=Ne.__value=0;var Ie=l(Ne);Xt(Ie,0,()=>({length:12}),Vt,(se,Ae,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Fe=>h(Se,Fe),[()=>e(r).months?e(r).months?.[re]:Ht(re+1)]),q(se,ie)}),u(Te),u(xe);var ae=l(xe,2),pe=c(ae);Zr(pe,1,vn(ge>0?"text-green-600":"text-gray-300"));var me=l(pe,2),he=l(me,2);u(ae),u(Oe),Ir(2),j(()=>{h(Le,e(r).conf?.common?.import??"Import"),h(ct,e(r).conf?.common?.export??"Export"),h(ht,e(r).conf?.price?.both??"Both"),h($r,e(r).conf?.price?.fixed??"Fixed"),h(zt,`${e(r).common?.days??"Days"??""}:`),h(Rr,`${e(r).common?.hours??"Hours"??""}:`),Zr(me,1,vn(gee(Z).n,se=>(e(Z).n=se,G(()=>e(o)),G(()=>{e(r)}))),At(Et,()=>e(Z).d,se=>(e(Z).d=se,G(()=>e(o)),G(()=>{e(r)}))),At(ut,()=>e(Z).t,se=>(e(Z).t=se,G(()=>e(o)),G(()=>{e(r)}))),qe(je,()=>e(Z).v,se=>(e(Z).v=se,G(()=>e(o)),G(()=>{e(r)}))),At(ue,()=>e(Z).s.d,se=>(e(Z).s.d=se,G(()=>e(o)),G(()=>{e(r)}))),At(V,()=>e(Z).s.m,se=>(e(Z).s.m=se,G(()=>e(o)),G(()=>{e(r)}))),He("change",V,()=>k(e(Z).s,e(Z).s.m)),At(ye,()=>e(Z).e.d,se=>(e(Z).e.d=se,G(()=>e(o)),G(()=>{e(r)}))),At(Te,()=>e(Z).e.m,se=>(e(Z).e.m=se,G(()=>e(o)),G(()=>{e(r)}))),He("change",Te,()=>k(e(Z).e,e(Z).e.m)),He("click",pe,()=>s(ge)),He("keypress",pe,()=>s(ge)),He("click",me,()=>g(ge)),He("keypress",me,()=>g(ge)),He("click",he,()=>S(ge)),He("keypress",he,()=>S(ge)),q(z,Be)}),q(y,M)};I(C,y=>{e(o).o&&y(B)});var J=l(C,2),te=c(J),le=c(te),ve=c(le,!0);u(le),u(te);var Me=l(te,4),K=c(Me),x=c(K,!0);u(K),u(Me),u(J),u(T),u(P);var _=l(P,2);{let y=Ce(()=>e(r).conf?.price?.mask_loading??"Loading");Wr(_,{get active(){return e(f)},get message(){return e(y)}})}var w=l(_,2);{let y=Ce(()=>e(r).conf?.price?.mask_saving??"Saving");Wr(w,{get active(){return e(i)},get message(){return e(y)}})}j(y=>{h(Y,e(r).conf?.price?.title??"Price"),Q(H,"href",y),h(ve,e(r).conf?.price?.btn_add??"Add"),h(x,e(r).btn?.save??"Save")},[()=>Jt("configure-price-price-modifiers")]),He("click",le,p),He("submit",T,On(d)),q(t,A),yt()}var Up=F('

',1);function Hp(t,n){xt(n,!1);let r=W({});Xr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var o=Up(),f=fe(o),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var s=l(p,2),m=l(c(s),2),k=c(m),g=c(k,!0);u(k),u(m),u(s),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");Wr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} CA`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),He("submit",s,()=>E(a,!0)),q(t,o),yt()}var zp=F('

',1);function Yp(t,n){xt(n,!1);let r=W({});Xr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var o=zp(),f=fe(o),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var s=l(p,2),m=l(c(s),2),k=c(m),g=c(k,!0);u(k),u(m),u(s),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");Wr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} certificate`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),He("submit",s,()=>E(a,!0)),q(t,o),yt()}var Gp=F('

',1);function Kp(t,n){xt(n,!1);let r=W({});Xr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var o=Gp(),f=fe(o),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var s=l(p,2),m=l(c(s),2),k=c(m),g=c(k,!0);u(k),u(m),u(s),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");Wr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} private key`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),He("submit",s,()=>E(a,!0)),q(t,o),yt()}var Vp=F(' ',1);function Xp(t,n){xt(n,!1);let r="/",a=W({}),o=W({});Xr.subscribe(ve=>{E(o,ve)}),qr.subscribe(ve=>E(a,ve));let f=W(!1);async function i(ve){E(f,!0);const Me=new FormData(ve.target),K=new URLSearchParams;for(let _ of Me){const[w,y]=_;K.append(w,y)}let x=await(await fetch("save",{method:"POST",body:K})).json();E(f,!1),qr.update(_=>(_.fwconsent=Me.sf===!0?1:Me.sf===!1?2:0,_.booting=x.reboot,_)),Za(r)}Mt();var d=Vp(),b=fe(d),p=c(b),S=c(p),s=c(S),m=c(s,!0);u(s);var k=l(s,4),g=c(k,!0),A=l(g,3),P=c(A,!0);u(A);var R=l(A,3),Y=c(R);oe(Y),Sl(Y,1);var H=l(Y);u(R);var T=l(R,2),O=c(T);oe(O),Sl(O,2);var C=l(O);u(T),Ir(),u(k);var B=l(k,2),J=c(B),te=c(J,!0);u(J),u(B),u(S),u(p),u(b);var le=l(b,2);{let ve=Ce(()=>e(o).consent?.mask_saving??"Saving");Wr(le,{get active(){return e(f)},get message(){return e(ve)}})}j(()=>{h(m,e(o).consent?.title??"Consents"),h(g,e(o).consent?.one_click??"One-click"),h(P,e(o).consent?.read_more??"Read more"),ql(Y,e(a).fwconsent===1),h(H,` ${e(o).consent?.yes??"Yes"??""}`),ql(O,e(a).fwconsent===2),h(C,` ${e(o).consent?.no??"No"??""}`),h(te,e(o).btn?.save??"Save")}),He("submit",S,On(i)),q(t,d),yt()}var ev=F(""),Qp=F(''),Zp=F(''),Jp=F(''),e1=F('


👁️
',1),t1=F("",1),r1=F('
',1),a1=F('


'),n1=F(''),i1=F('
',1),s1=F('
'),o1=F('
',1),l1=F(''),v1=F('

',1);function u1(t,n){xt(n,!1);let r=W({});Xr.subscribe(ke=>{E(r,ke)});let a=W(),o=W(""),f=W(""),i=W(!1),d=W({});Qo.subscribe(ke=>{E(d,ke),E(i,ke?.c==0),E(o,ke?.n[0]?.s??"")});let b=W({});qr.subscribe(ke=>E(b,ke));let p=W(!1),S=W(1),s=W(!1),m=W(!1),k=W(!1),g=W(0);function A(ke){qr.update(je=>(je.trying=ke,je))}async function P(){E(s,!0);const ke=new FormData(e(a)),je=new URLSearchParams;for(let rt of ke){const[zt,ft]=rt;je.append(zt,ft)}let Ye=await(await fetch("save",{method:"POST",body:je})).json();E(s,!1),qr.update(rt=>(rt.hostname=ke.get("sh"),rt.usrcfg=Ye.success,rt.booting=Ye.reboot,e(p)&&(rt.net.ip=ke.get("si"),rt.net.mask=ke.get("su"),rt.net.gw=ke.get("sg"),rt.net.dns1=ke.get("sd")),Ye.reboot&&setTimeout(Ti,5e3,e(b),A),rt))}async function R(){let ke;if(e(m))ke=await fetch("wifitest.json");else{E(m,!0),E(k,!1);const Ye=new URLSearchParams;Ye.append("ssid",e(o)),Ye.append("psk",e(f)),ke=await fetch("wifitest.json",{method:"POST",body:Ye})}const je=await ke.json();je?.time==0?(E(m,!1),E(k,je.status==3),E(g,je.status),e(k)&&(qr.update(Ye=>(Ye.net.ip=je.ip,Ye)),setTimeout(P,1e3))):e(m)&&(je.time>3e4?(E(g,4),E(m,!1)):setTimeout(R,2e3))}async function Y(){E(m,!1),E(k,!1),E(g,0)}async function H(){const ke=e(a).querySelector('input[name="sp"]');ke.type==="password"?(ke.type="text",this.textContent="🙈"):(ke.type="password",this.textContent="👁️")}Mt();var T=v1(),O=fe(T),C=c(O),B=c(C),J=c(B),te=l(J,2),le=c(te,!0);u(te);var ve=l(te,2),Me=c(ve,!0),K=l(Me,3),x=c(K),_=c(x,!0);u(x),x.value=x.__value=1;var w=l(x),y=c(w,!0);u(w),w.value=w.__value=2;var M=l(w),N=ke=>{var je=ev(),Ye=c(je,!0);u(je),je.value=je.__value=3,j(()=>h(Ye,e(r).conf?.connection?.eth??"Ethernet")),q(ke,je)};I(M,ke=>{e(b).if&&e(b).if.eth&&ke(N)}),u(K),u(ve);var z=l(ve,2),Z=ke=>{var je=e1(),Ye=fe(je),rt=c(Ye),zt=l(rt),ft=c(zt);oe(ft),ft.value=ft.__value="true",Ir(),u(zt);var Bt=l(zt,4),Qt=ue=>{var $e=Qp();oe($e),j(()=>{Q($e,"pattern",Gn),$e.required=e(S)==1||e(S)==2}),qe($e,()=>e(o),D=>E(o,D)),He("input",$e,Y),q(ue,$e)},Rr=ue=>{var $e=Jp(),D=c($e),V=ce=>{var ye=Zp();ye.value=ye.__value="",q(ce,ye)};I(D,ce=>{e(d)?.c==-1&&ce(V)});var ne=l(D),Ee=ce=>{var ye=Mr(),we=fe(ye);Xt(we,1,()=>e(d)?.n,Vt,(Pe,Te)=>{var Ne=ev(),Ie=c(Ne);u(Ne);var ae={};j(()=>{h(Ie,`${e(Te).s??""} (${e(Te).e??""}, RSSI: ${e(Te).r??""})`),ae!==(ae=e(Te).s)&&(Ne.value=(Ne.__value=e(Te).s)??"")}),q(Pe,Ne)}),q(ce,ye)};I(ne,ce=>{e(d)?.n&&ce(Ee)}),u($e),j(()=>$e.required=e(S)==1||e(S)==2),At($e,()=>e(o),ce=>E(o,ce)),He("change",$e,Y),q(ue,$e)};I(Bt,ue=>{e(i)?ue(Qt):ue(Rr,-1)}),u(Ye);var br=l(Ye,2),_e=c(br,!0),U=l(_e,3),X=c(U);oe(X);var xe=l(X,2);u(U),u(br),j(()=>{h(rt,`${e(r).conf?.connection?.ssid??"SSID"??""} `),h(_e,e(r).conf?.connection?.psk??"Password"),Q(X,"pattern",Gn),X.required=e(S)==2}),_r(ft,()=>e(i),ue=>E(i,ue)),qe(X,()=>e(f),ue=>E(f,ue)),He("input",X,Y),He("click",xe,H),q(ke,je)};I(z,ke=>{(e(S)==1||e(S)==2)&&ke(Z)});var ge=l(z,2),Be=c(ge),Oe=l(Be);oe(Oe),u(ge);var ze=l(ge,2),pt=c(ze),Ze=c(pt);oe(Ze),Ze.value=Ze.__value="static";var Et=l(Ze);u(pt);var be=l(pt,2),Le=ke=>{var je=r1(),Ye=l(fe(je),2),rt=c(Ye),zt=l(rt,2);_n(zt,()=>{var ft=c(zt),Bt=t1();xu(fe(Bt),{}),q(ft,Bt)}),u(Ye),j(()=>{rt.required=e(p),Q(rt,"pattern",pn),zt.required=e(p)}),q(ke,je)};I(be,ke=>{e(p)&&ke(Le)}),u(ze);var Ve=l(ze,2),ct=ke=>{var je=a1(),Ye=c(je),rt=c(Ye,!0),zt=l(rt,3);u(Ye);var ft=l(Ye,2),Bt=c(ft,!0),Qt=l(Bt,3);u(ft),u(je),j(()=>{h(rt,e(r).conf?.network?.gw??"Gateway"),Q(zt,"pattern",pn),h(Bt,e(r).conf?.network?.dns??"DNS"),Q(Qt,"pattern",pn)}),q(ke,je)};I(Ve,ke=>{e(p)&&ke(ct)});var Ge=l(Ve,2),ht=c(Ge),ut=ke=>{var je=n1(),Ye=c(je,!0);u(je),j(()=>h(Ye,e(r).btn?.save??"Save")),q(ke,je)},mt=ke=>{var je=i1(),Ye=fe(je),rt=c(Ye,!0);u(Ye);var zt=l(Ye,2),ft=c(zt,!0);u(zt),j(()=>{h(rt,e(r).setup?.testok??"Connection successful ("+e(b).net.ip+")"),h(ft,e(r).btn?.save??"Save")}),q(ke,je)},$r=ke=>{var je=s1(),Ye=c(je,!0);u(je),j(()=>h(Ye,e(r).setup?.testconn??"Testing connection")),q(ke,je)},Ur=ke=>{var je=Mr(),Ye=fe(je),rt=ft=>{var Bt=o1(),Qt=fe(Bt),Rr=c(Qt,!0);u(Qt);var br=l(Qt,2),_e=c(br,!0);u(br),j(()=>{h(Rr,(e(r).setup?.testfail??"Connection failed")+": "+(e(r).errors?.wifi?.[e(g)]??e(g))),h(_e,e(r).btn?.forcesave??"Force save")}),q(ft,Bt)},zt=ft=>{var Bt=l1(),Qt=c(Bt,!0);u(Bt),j(()=>h(Qt,e(r).btn?.save??"Save")),He("click",Bt,R),q(ft,Bt)};I(Ye,ft=>{e(g)?ft(rt):ft(zt,-1)}),q(ke,je)};I(ht,ke=>{e(S)!=1?ke(ut):e(k)?ke(mt,1):e(m)?ke($r,2):ke(Ur,-1)}),u(Ge),u(B),ms(B,ke=>E(a,ke),()=>e(a)),u(C),u(O);var Ar=l(O,2);{let ke=Ce(()=>e(r).setup?.mask??"Saving");Wr(Ar,{get active(){return e(s)},get message(){return e(ke)}})}j(()=>{h(le,e(r).setup?.title??"Setup"),h(Me,e(r).conf?.connection?.title??"Connection"),h(_,e(r).conf?.connection?.wifi??"Connect to WiFi"),h(y,e(r).conf?.connection?.ap??"Standalone access point"),h(Be,`${e(r).conf?.general?.hostname??"Hostname"??""} `),Q(Oe,"pattern",ts),h(Et,` ${e(r).setup?.static??"Static IP"??""}`)}),At(K,()=>e(S),ke=>E(S,ke)),He("input",K,Y),qe(Oe,()=>e(b).hostname,ke=>ee(b,e(b).hostname=ke)),_r(Ze,()=>e(p),ke=>E(p,ke)),He("submit",B,On(P)),q(t,T),yt()}var c1=F(' ',1),f1=F(' '),d1=F(' ',1),_1=F(' ',1),tv=F(''),p1=F(" ",1);function h1(t,n){xt(n,!1);let r=de(n,"chip",8);Mt();var a=p1(),o=fe(a);o.value=o.__value=-1;var f=l(o,2),i=R=>{var Y=c1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=l(T,2),B=c(C,!0);u(C),C.value=C.__value=5;var J=l(C,2),te=c(J,!0);u(J),J.value=J.__value=4;var le=l(J,2),ve=c(le,!0);u(le),le.value=le.__value=3,u(H);var Me=l(H,2),K=c(Me),x=c(K,!0);u(K),K.value=K.__value=2;var _=l(K,2),w=c(_,!0);u(_),_.value=_.__value=1;var y=l(_,2),M=c(y,!0);u(y),y.value=y.__value=0,u(Me);var N=l(Me,2),z=c(N),Z=c(z,!0);u(z),z.value=z.__value=101;var ge=l(z,2),Be=c(ge,!0);u(ge),ge.value=ge.__value=100,u(N),j((Oe,ze,pt,Ze,Et,be,Le,Ve,ct)=>{h(O,Oe),h(B,ze),h(te,pt),h(ve,Ze),h(x,Et),h(w,be),h(M,Le),h(Z,Ve),h(Be,ct)},[()=>($(Re),$(r()),v(()=>Re(r(),7))),()=>($(Re),$(r()),v(()=>Re(r(),5))),()=>($(Re),$(r()),v(()=>Re(r(),4))),()=>($(Re),$(r()),v(()=>Re(r(),3))),()=>($(Re),$(r()),v(()=>Re(r(),2))),()=>($(Re),$(r()),v(()=>Re(r(),1))),()=>($(Re),$(r()),v(()=>Re(r(),0))),()=>($(Re),$(r()),v(()=>Re(r(),101))),()=>($(Re),$(r()),v(()=>Re(r(),100)))]),q(R,Y)};I(f,R=>{r()=="esp8266"&&R(i)});var d=l(f,2),b=R=>{var Y=f1(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=201;var O=l(H,2),C=c(O,!0);u(O),O.value=O.__value=202;var B=l(O,2),J=c(B,!0);u(B),B.value=B.__value=203;var te=l(B,2),le=c(te,!0);u(te),te.value=te.__value=241;var ve=l(te,2),Me=c(ve,!0);u(ve),ve.value=ve.__value=242;var K=l(ve,2),x=c(K,!0);u(K),K.value=K.__value=243;var _=l(K,2),w=c(_,!0);u(_),_.value=_.__value=245;var y=l(_,2),M=c(y,!0);u(y),y.value=y.__value=200,u(Y),j((N,z,Z,ge,Be,Oe,ze,pt)=>{h(T,N),h(C,z),h(J,Z),h(le,ge),h(Me,Be),h(x,Oe),h(w,ze),h(M,pt)},[()=>($(Re),$(r()),v(()=>Re(r(),201))),()=>($(Re),$(r()),v(()=>Re(r(),202))),()=>($(Re),$(r()),v(()=>Re(r(),203))),()=>($(Re),$(r()),v(()=>Re(r(),241))),()=>($(Re),$(r()),v(()=>Re(r(),242))),()=>($(Re),$(r()),v(()=>Re(r(),243))),()=>($(Re),$(r()),v(()=>Re(r(),245))),()=>($(Re),$(r()),v(()=>Re(r(),200)))]),q(R,Y)};I(d,R=>{r()=="esp32"&&R(b)});var p=l(d,2),S=R=>{var Y=d1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=l(T,2),B=c(C,!0);u(C),C.value=C.__value=6;var J=l(C,2),te=c(J,!0);u(J),J.value=J.__value=5,u(H);var le=l(H,2),ve=c(le),Me=c(ve,!0);u(ve),ve.value=ve.__value=51;var K=l(ve,2),x=c(K,!0);u(K),K.value=K.__value=50,u(le),j((_,w,y,M,N)=>{h(O,_),h(B,w),h(te,y),h(Me,M),h(x,N)},[()=>($(Re),$(r()),v(()=>Re(r(),7))),()=>($(Re),$(r()),v(()=>Re(r(),6))),()=>($(Re),$(r()),v(()=>Re(r(),5))),()=>($(Re),$(r()),v(()=>Re(r(),51))),()=>($(Re),$(r()),v(()=>Re(r(),50)))]),q(R,Y)};I(p,R=>{r()=="esp32s2"&&R(S)});var s=l(p,2),m=R=>{var Y=_1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=8,u(H);var C=l(H,2),B=c(C),J=c(B,!0);u(B),B.value=B.__value=71;var te=l(B,2),le=c(te,!0);u(te),te.value=te.__value=70,u(C),j((ve,Me,K)=>{h(O,ve),h(J,Me),h(le,K)},[()=>($(Re),$(r()),v(()=>Re(r(),8))),()=>($(Re),$(r()),v(()=>Re(r(),71))),()=>($(Re),$(r()),v(()=>Re(r(),70)))]),q(R,Y)};I(s,R=>{r()=="esp32c3"&&R(m)});var k=l(s,2),g=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=200,u(Y),j(O=>h(T,O),[()=>($(Re),$(r()),v(()=>Re(r(),200)))]),q(R,Y)};I(k,R=>{r()=="esp32solo"&&R(g)});var A=l(k,2),P=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=80,u(Y),j(O=>h(T,O),[()=>($(Re),$(r()),v(()=>Re(r(),80)))]),q(R,Y)};I(A,R=>{r()=="esp32s3"&&R(P)}),q(t,a),yt()}var m1=F('
WARNING: Changing this configuration will affect basic configuration of your device. Only make changes here if instructed by vendor
'),rv=F("",1),g1=F('
HAN GPIO
'),b1=F('
Initial configuration
Board type
 
',1);function x1(t,n){xt(n,!1);let r=W({}),a=W(!1);async function o(T){E(a,!0);const O=new FormData(T.target),C=new URLSearchParams;for(let J of O){const[te,le]=J;C.append(te,le)}let B=await(await fetch("save",{method:"POST",body:C})).json();E(a,!1),qr.update(J=>(J.vndcfg=B.success,J.booting=B.reboot,J.if.eth=J.boardType>240&&J.boardType<250,J)),Za(e(r).usrcfg?"/":"/setup")}let f=W(!0);qr.subscribe(T=>{E(r,T),T.fwconsent===1&&E(f,!e(r).usrcfg)}),Mt();var i=b1(),d=fe(i),b=c(d),p=c(b),S=c(p),s=l(S,4),m=T=>{var O=m1();q(T,O)};I(s,T=>{e(r).usrcfg&&T(m)});var k=l(s,2),g=l(c(k),3);_n(g,()=>{var T=c(g),O=rv();h1(fe(O),{get chip(){return e(r).chip}}),q(T,O)}),u(k);var A=l(k,2),P=T=>{var O=g1(),C=l(c(O),3);_n(C,()=>{var B=c(C),J=rv();Mo(fe(J),{get chip(){return e(r).chip}}),q(B,J)}),u(O),q(T,O)};I(A,T=>{e(r).board&&e(r).board>20&&T(P)});var R=l(A,2),Y=c(R),H=c(Y);oe(H),H.value=H.__value="true",Ir(),u(Y),u(R),Ir(4),u(p),u(b),u(d),Wr(l(d,2),{get active(){return e(a)},message:"Saving"}),At(g,()=>e(r).board,T=>(ee(r,e(r).board=T),G(()=>{}))),_r(H,()=>e(f),T=>E(f,T)),He("submit",p,On(o)),q(t,i),yt()}var av=F(''),y1=F('
Import
',1),w1=F('
Export
',1),k1=F('
',1);function yu(t,n){xt(n,!1);let r=de(n,"prefix",8),a=de(n,"data",12),o=de(n,"url",8),f=de(n,"basepath",8,"/"),i=W({});Xr.subscribe(ve=>{E(i,ve)});let d=W(!1),b=W(),p=W();async function S(){if(confirm("Clear all data?"))for(let ve in a())(ve.startsWith("i")||ve.startsWith("e"))&&a(a()[ve]=0,!0)}let s=W(!1);async function m(ve){E(s,!0);const Me=new FormData(ve.target),K=new URLSearchParams;for(let x of Me){const[_,w]=x;K.append(_,w)}await(await fetch(o(),{method:"POST",body:K})).json(),E(s,!1),Za(f())}gr(()=>(e(b),e(p),$(a()),$(r())),()=>{E(b,[]),E(p,[]);for(let ve in a()){let Me=[];ve.startsWith("i")?Me=e(b):ve.startsWith("e")&&(Me=e(p),a()[ve]&&E(d,!0)),Me.push({key:ve,name:r()+" "+ve.substring(1),value:a()[ve]})}}),kr(),Mt();var k=k1(),g=fe(k),A=c(g),P=c(A),R=ve=>{var Me=y1(),K=l(fe(Me),2);Xt(K,5,()=>e(b),Vt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=l(y,2);oe(N),Ir(2),u(w),j(()=>{h(M,(e(_),v(()=>e(_).name))),Q(N,"name",(e(_),v(()=>e(_).key)))}),qe(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(K),q(ve,Me)};I(P,ve=>{e(b)&&ve(R)});var Y=l(P,2),H=ve=>{var Me=w1(),K=l(fe(Me),2);Xt(K,5,()=>e(p),Vt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=l(y,2);oe(N),Ir(2),u(w),j(()=>{h(M,(e(_),v(()=>e(_).name))),Q(N,"name",(e(_),v(()=>e(_).key)))}),qe(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(K),q(ve,Me)};I(Y,ve=>{e(p)&&e(d)&&ve(H)});var T=l(Y,2),O=c(T),C=c(O);u(O);var B=l(O,2),J=c(B),te=c(J,!0);u(J),u(B),u(T),u(A),u(g);var le=l(g,2);{let ve=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.saving??"Saving")));Wr(le,{get active(){return e(s)},get message(){return e(ve)}})}j(()=>h(te,(e(i),v(()=>e(i).btn?.save??"Save")))),He("click",C,S),He("submit",g,On(m)),q(t,k),yt()}function $1(t,n){xt(n,!1);let r="/",a=W();Vo.subscribe(o=>E(a,o)),Mt(),yu(t,{prefix:"UTC Hour",get data(){return e(a)},url:"/dayplot",basepath:r}),yt()}function S1(t,n){xt(n,!1);let r="/",a=W();Xo.subscribe(o=>E(a,o)),Mt(),yu(t,{prefix:"Day",get data(){return e(a)},url:"/monthplot",basepath:r}),yt()}var q1=F('
');function M1(t,n){xt(n,!1);let r=W(document.getElementsByTagName("base")[0].getAttribute("href"));e(r)||E(r,"/");let a={};Xr.subscribe(k=>{a=k});let o,f=W({}),i=W({}),d;qr.subscribe(k=>{E(i,k),e(i).vndcfg===!1?Za("/vendor"):e(i).usrcfg===!1?Za("/setup"):e(i).fwconsent===0&&Za("/consent"),e(i).ui.k===1?document.documentElement.classList.add("dark"):e(i).ui.k===0?document.documentElement.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),e(i).ui.lang&&e(i).ui.lang!=a?.language?.code&&pu(e(i).ui.lang),e(i).version&&d&&e(i).version!=d&&window.location.reload(),d=e(i).version,o&&clearTimeout(o),o=setTimeout(hn,!e(f)||!e(f).u||e(f).u<30||e(i)?.upgrading?1e4:3e5)}),Os.subscribe(k=>{E(f,k),Cd(k)}),du(),Mt();var b=q1(),p=c(b);td(p,{get data(){return e(f)},get basepath(){return e(r)}});var S=l(p,2);{let k=Ce(()=>({"/":zd,"/configuration":_p,"/priceconfig":Bp,"/status":Fp,"/mqtt-ca":Hp,"/mqtt-cert":Yp,"/mqtt-key":Kp,"/consent":Xp,"/setup":u1,"/vendor":x1,"/edit-day":$1,"/edit-month":S1}));Tf(S,{get routes(){return e(k)}})}var s=l(S,2),m=k=>{var g=Mr(),A=fe(g),P=Y=>{Wr(Y,{active:"true",get message(){return`Device is booting, please wait. Trying to reach it on ${e(i).trying??""}`}})},R=Y=>{Wr(Y,{active:"true",message:"Device is booting, please wait"})};I(A,Y=>{e(i).trying?Y(P):Y(R,-1)}),q(k,g)};I(s,k=>{e(i).booting&&k(m)}),u(b),q(t,b),yt()}var D1=As(M1,{target:document.getElementById("app")}); diff --git a/ui/src/routes/ConfigurationRoute.svelte b/ui/src/routes/ConfigurationRoute.svelte index fecba9c9..89302e49 100644 --- a/ui/src/routes/ConfigurationRoute.svelte +++ b/ui/src/routes/ConfigurationRoute.svelte @@ -467,6 +467,12 @@ + +
+ + +
+ {:else}
{translations.conf?.meter?.buffer ?? "Buffer size"} From 7413fdb86acf55fc63d46ca6c1ba282be1339dcc Mon Sep 17 00:00:00 2001 From: "Markus M." Date: Sun, 26 Jul 2026 19:06:40 +0200 Subject: [PATCH 7/7] Read C12.18 meter metadata --- src/AmsData.cpp | 14 +++++- src/AmsData.h | 3 ++ src/AmsWebServer.cpp | 4 ++ src/C1218MeterCommunicator.cpp | 85 +++++++++++++++++++++++++++++++- src/C1218MeterCommunicator.h | 9 +++- src/webserver/json/sysinfo.json | 3 +- ui/dist/index.js | 2 +- ui/src/lib/Helpers.js | 1 - ui/src/routes/StatusRoute.svelte | 2 +- 9 files changed, 116 insertions(+), 7 deletions(-) diff --git a/src/AmsData.cpp b/src/AmsData.cpp index ae0e918c..b2f76de4 100644 --- a/src/AmsData.cpp +++ b/src/AmsData.cpp @@ -101,6 +101,7 @@ void AmsData::apply(AmsData& other) { strncpy(this->meterId, other.meterId, sizeof(this->meterId) - 1); this->meterType = other.getMeterType(); strncpy(this->meterModel, other.meterModel, sizeof(this->meterModel) - 1); + strncpy(this->meterManufacturer, other.meterManufacturer, sizeof(this->meterManufacturer) - 1); this->reactiveImportPower = other.getReactiveImportPower(); this->reactiveExportPower = other.getReactiveExportPower(); this->l1current = other.getL1Current(); @@ -317,6 +318,17 @@ String AmsData::getMeterModel() { return String(this->meterModel); } +String AmsData::getMeterManufacturer() { + return String(this->meterManufacturer); +} + +void AmsData::setMeterInfo(uint8_t type, const char* manufacturer, const char* model, const char* id) { + meterType = type; + strlcpy(meterManufacturer, manufacturer, sizeof(meterManufacturer)); + strlcpy(meterModel, model, sizeof(meterModel)); + strlcpy(meterId, id, sizeof(meterId)); +} + time_t AmsData::getMeterTimestamp() { return this->meterTimestamp; } @@ -484,4 +496,4 @@ void AmsData::setLastError(int8_t lastError) { } else { lastErrorCount++; } -} \ No newline at end of file +} diff --git a/src/AmsData.h b/src/AmsData.h index 6f8b40c1..e1c1e6a4 100644 --- a/src/AmsData.h +++ b/src/AmsData.h @@ -39,6 +39,8 @@ class AmsData { String getMeterId(); uint8_t getMeterType(); String getMeterModel(); + String getMeterManufacturer(); + void setMeterInfo(uint8_t type, const char* manufacturer, const char* model, const char* id); time_t getMeterTimestamp(); @@ -102,6 +104,7 @@ class AmsData { char listId[32] = {}; char meterId[32] = {}; char meterModel[65] = {}; + char meterManufacturer[17] = {}; time_t meterTimestamp = 0; uint32_t activeImportPower = 0, reactiveImportPower = 0, activeExportPower = 0, reactiveExportPower = 0; float l1voltage = 0, l2voltage = 0, l3voltage = 0, l1current = 0, l2current = 0, l3current = 0; diff --git a/src/AmsWebServer.cpp b/src/AmsWebServer.cpp index daca085d..c9580600 100644 --- a/src/AmsWebServer.cpp +++ b/src/AmsWebServer.cpp @@ -589,6 +589,9 @@ void AmsWebServer::sysinfoJson() { String meterModel = meterState->getMeterModel(); if(!meterModel.isEmpty()) meterModel.replace(F("\\"), F("\\\\")); + String meterManufacturer = meterState->getMeterManufacturer(); + if(!meterManufacturer.isEmpty()) + meterManufacturer.replace(F("\\"), F("\\\\")); String meterId = meterState->getMeterId(); if(!meterId.isEmpty()) @@ -662,6 +665,7 @@ void AmsWebServer::sysinfoJson() { #endif sys.boardType > 240 && sys.boardType < 250 ? "true" : "false", meterState->getMeterType(), + meterManufacturer.c_str(), meterModel.c_str(), meterId.c_str(), ui.showImport, diff --git a/src/C1218MeterCommunicator.cpp b/src/C1218MeterCommunicator.cpp index 68727b60..a6b32482 100644 --- a/src/C1218MeterCommunicator.cpp +++ b/src/C1218MeterCommunicator.cpp @@ -40,6 +40,7 @@ void C1218MeterCommunicator::configure(MeterConfig& meterConfig, Timezone* tz) { resetSerial(); initialized = true; sessionOpen = updated = bigEndian = toggle = false; + idForm = false; sessionNegotiated = false; packetSize = DEFAULT_PACKET_SIZE; maxPackets = DEFAULT_MAX_PACKETS; @@ -55,6 +56,10 @@ void C1218MeterCommunicator::configure(MeterConfig& meterConfig, Timezone* tz) { rejectedPackets = 0; hasLastRxPacket = false; expectedRxSequence = 0; + meterInfoAttempted = false; + meterManufacturer[0] = 0; + meterModel[0] = 0; + meterId[0] = 0; } void C1218MeterCommunicator::resetSerial() { @@ -76,6 +81,15 @@ bool C1218MeterCommunicator::loop() { RequestStatus status = serviceRequest(now); if(status == PENDING) return false; if(status == FAILED) { + if(stage == TABLE1 || stage == TABLE6 || stage == TABLE5) { + meterInfoAttempted = true; + if(stage == TABLE1) stage = TABLE6; + else if(stage == TABLE6) stage = TABLE5; + else { + stage = TABLE28; + } + return false; + } abortCycle(now); return false; } @@ -103,6 +117,7 @@ AmsData* C1218MeterCommunicator::getData(AmsData&) { updated = false; uint64_t now = millis64(); AmsData* data = new AmsData(); + if(meterModel[0]) data->setMeterInfo(AmsTypeCustom, meterManufacturer, meterModel, meterId); data->apply(OBIS_ACTIVE_IMPORT, max((int32_t) 0, table28[0]), now); data->apply(OBIS_ACTIVE_EXPORT, max((int32_t) 0, table28[1]), now); @@ -171,6 +186,21 @@ void C1218MeterCommunicator::startStage() { beginRequest(payload, sizeof(payload)); break; } + case TABLE1: { + const uint8_t payload[] = {0x30, 0, 1}; + beginRequest(payload, sizeof(payload)); + break; + } + case TABLE6: { + const uint8_t payload[] = {0x30, 0, 6}; + beginRequest(payload, sizeof(payload)); + break; + } + case TABLE5: { + const uint8_t payload[] = {0x30, 0, 5}; + beginRequest(payload, sizeof(payload)); + break; + } case TABLE28: { bool canReadExtended = c1218Config.extendedTable28 && maxPackets > 1; bool extended = canReadExtended && millis64() >= nextExtendedTable; @@ -253,9 +283,27 @@ bool C1218MeterCommunicator::finishStage(uint64_t now) { return false; } bigEndian = (response[2] & 0x01) != 0; - stage = TABLE28; + idForm = responseLength >= 4 && ((response[0] << 8) | response[1]) >= 2 && (response[3] & 0x20); + stage = meterInfoAttempted ? TABLE28 : TABLE1; break; } + case TABLE1: + meterInfoAttempted = true; + parseMeterInfo(response, responseLength); + stage = TABLE6; + break; + case TABLE6: { + const size_t offset = idForm ? 70 : 100; + const size_t length = idForm ? 10 : 20; + const size_t tableLength = responseLength >= 2 ? ((size_t) response[0] << 8) | response[1] : 0; + if(tableLength >= offset + length && responseLength >= offset + length + 2) parseMeterId(response + 2 + offset, length); + stage = TABLE5; + break; + } + case TABLE5: + if(responseLength >= 3) parseMeterId(response + 2, min((size_t) responseLength - 2, (size_t) ((response[0] << 8) | response[1]))); + stage = TABLE28; + break; case TABLE28: { size_t values = c1218Config.extendedTable28 && maxPackets > 1 ? (readExtendedTable ? 26 : 4) : 10; if(!parseTable(response, responseLength, table28, values)) { @@ -476,6 +524,9 @@ const char* C1218MeterCommunicator::stageName() const { case LOGON: return "LOGON"; case SECURITY: return "SECURITY"; case TABLE0: return "TABLE0"; + case TABLE1: return "TABLE1"; + case TABLE6: return "TABLE6"; + case TABLE5: return "TABLE5"; case TABLE28: return "TABLE28"; case TABLE23: return "TABLE23"; case LOGOFF: return "LOGOFF"; @@ -537,4 +588,36 @@ bool C1218MeterCommunicator::parseTable(const uint8_t* response, size_t response return true; } +void C1218MeterCommunicator::parseMeterInfo(const uint8_t* response, size_t responseLength) { + if(responseLength < 18 || ((response[0] << 8) | response[1]) < 16) return; + char model[9] = {}; + memcpy(meterManufacturer, response + 2, 4); + memcpy(model, response + 6, 8); + for(int i = 3; i >= 0 && meterManufacturer[i] == ' '; i--) meterManufacturer[i] = 0; + for(int i = 7; i >= 0 && model[i] == ' '; i--) model[i] = 0; + snprintf(meterModel, sizeof(meterModel), "%s (HW %u.%u, FW %u.%u)", model, response[14], response[15], response[16], response[17]); + size_t serialLength = idForm ? 8 : 16; + if(responseLength >= 18 + serialLength && ((response[0] << 8) | response[1]) >= 16 + serialLength) parseMeterId(response + 18, serialLength); +} + +void C1218MeterCommunicator::parseMeterId(const uint8_t* serial, size_t serialLength) { + if(meterId[0]) return; + char id[sizeof(meterId)] = {}; + bool text = false, bcd = true; + for(size_t i = 0; i < serialLength; i++) { + text |= serial[i] >= ' ' && serial[i] <= '~'; + bcd &= (serial[i] >> 4) <= 9 && (serial[i] & 0x0F) <= 9; + } + if(text) { + memcpy(id, serial, serialLength); + for(int i = serialLength - 1; i >= 0 && id[i] == ' '; i--) id[i] = 0; + } else if(bcd) { + for(size_t i = 0; i < serialLength && i * 2 + 1 < sizeof(id); i++) { + id[i * 2] = '0' + (serial[i] >> 4); + id[i * 2 + 1] = '0' + (serial[i] & 0x0F); + } + } + for(size_t i = 0; id[i]; i++) if(id[i] != '0') { strlcpy(meterId, id, sizeof(meterId)); break; } +} + #endif diff --git a/src/C1218MeterCommunicator.h b/src/C1218MeterCommunicator.h index fade30da..f638d9a4 100644 --- a/src/C1218MeterCommunicator.h +++ b/src/C1218MeterCommunicator.h @@ -40,7 +40,7 @@ class C1218MeterCommunicator : public MeterCommunicator { static const uint8_t DEFAULT_MAX_PACKETS = 1; static const uint16_t DEFAULT_PACKET_SIZE = 64; - enum Stage : uint8_t { WAIT_POLL, IDENT, NEGOTIATE, LOGON, SECURITY, TABLE0, TABLE28, TABLE23, LOGOFF, TERMINATE }; + enum Stage : uint8_t { WAIT_POLL, IDENT, NEGOTIATE, LOGON, SECURITY, TABLE0, TABLE1, TABLE6, TABLE5, TABLE28, TABLE23, LOGOFF, TERMINATE }; enum IoState : uint8_t { IO_IDLE, WAIT_ACK, WAIT_START, READ_FRAME }; enum RequestStatus : uint8_t { PENDING, COMPLETE, FAILED }; @@ -59,6 +59,7 @@ class C1218MeterCommunicator : public MeterCommunicator { bool sessionOpen = false; bool updated = false; bool bigEndian = false; + bool idForm = false; bool toggle = false; bool sessionNegotiated = false; uint8_t failures = 0; @@ -70,6 +71,10 @@ class C1218MeterCommunicator : public MeterCommunicator { uint32_t serialBaud = 9600; uint64_t nextExtendedTable = 0; bool readExtendedTable = false; + bool meterInfoAttempted = false; + char meterManufacturer[5] = {}; + char meterModel[65] = {}; + char meterId[33] = {}; int32_t table23[2] = {}; int32_t table28[26] = {}; size_t table28Values = 0; @@ -111,6 +116,8 @@ class C1218MeterCommunicator : public MeterCommunicator { void fail(const __FlashStringHelper* message); int32_t readInt32(const uint8_t* value) const; bool parseTable(const uint8_t* response, size_t responseLength, int32_t* values, size_t count); + void parseMeterInfo(const uint8_t* response, size_t responseLength); + void parseMeterId(const uint8_t* value, size_t length); }; #endif diff --git a/src/webserver/json/sysinfo.json b/src/webserver/json/sysinfo.json index 2fcd64c6..a987b745 100644 --- a/src/webserver/json/sysinfo.json +++ b/src/webserver/json/sysinfo.json @@ -27,6 +27,7 @@ }, "meter": { "mfg": %d, + "manufacturer": "%s", "model": "%s", "id": "%s" }, @@ -69,4 +70,4 @@ "clock_offset": %d, "features": [%s], "services": [%s] -} \ No newline at end of file +} diff --git a/ui/dist/index.js b/ui/dist/index.js index fb173c17..a5b71b45 100644 --- a/ui/dist/index.js +++ b/ui/dist/index.js @@ -1,5 +1,5 @@ var qu=Object.create,nv=Object.defineProperty,Mu=Object.getOwnPropertyDescriptor,Eu=Object.getOwnPropertyNames,Tu=Object.getPrototypeOf,Au=Object.prototype.hasOwnProperty,Pu=(t,n)=>()=>(n||(t((n={exports:{}}).exports,n),t=null),n.exports),Ou=(t,n,r,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(var o=Eu(n),f=0,i=o.length,d;fn[b]).bind(null,d),enumerable:!(a=Mu(n,d))||a.enumerable});return t},Cu=(t,n,r)=>(r=t!=null?qu(Tu(t)):{},Ou(n||!t||!t.__esModule?nv(r,"default",{value:t,enumerable:!0}):r,t));(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))a(o);new MutationObserver(o=>{for(const f of o)if(f.type==="childList")for(const i of f.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&a(i)}).observe(document,{childList:!0,subtree:!0});function r(o){const f={};return o.integrity&&(f.integrity=o.integrity),o.referrerPolicy&&(f.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?f.credentials="include":o.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function a(o){if(o.ep)return;o.ep=!0;const f=r(o);fetch(o.href,f)}})();var Ai=Array.isArray,Nu=Array.prototype.indexOf,ns=Array.prototype.includes,bs=Array.from,nl=Object.keys,iv=Object.defineProperty,Wa=Object.getOwnPropertyDescriptor,sv=Object.getOwnPropertyDescriptors,Lu=Object.prototype,Du=Array.prototype,Eo=Object.getPrototypeOf,il=Object.isExtensible;function si(t){return typeof t=="function"}var gn=()=>{};function Ru(t){return t()}function is(t){for(var n=0;n{t=r,n=a}),resolve:t,reject:n}}function $i(t){"@babel/helpers - typeof";return $i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},$i(t)}function ju(t,n){if($i(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var a=r.call(t,n||"default");if($i(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function Fu(t){var n=ju(t,"string");return $i(n)=="symbol"?n:n+""}function pr(t,n,r){return(n=Fu(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}var E1=1<<24,pa=1024,xa=2048,en=4096,To=8192,Iu=16384,Ao=32768,sl=1<<25,xs=65536,T1=1<<17,A1=1<<18,Jn=1<<19,lv=1<<20,bi=1<<25,Pi=65536,ol=1<<21,Wu=1<<22,ss=1<<23,Na=Symbol("$state"),Po=Symbol("legacy props"),Bu=Symbol(""),Uu=Symbol("proxy path"),Js=Symbol("attributes"),eo=Symbol("class"),to=Symbol("style"),Qi=Symbol("text"),xi=Symbol("form reset");var ys=new class extends Error{constructor(...n){super(...n),pr(this,"name","StaleReactionError"),pr(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}},vv=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml");function ws(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Hu(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function zu(t,n,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Yu(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Gu(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ku(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Vu(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Xu(){throw new Error("https://svelte.dev/e/hydration_failed")}function Qu(t){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Zu(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ju(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ec(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function tc(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function rc(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}var Vn={},Cr=Symbol("uninitialized");function ac(){console.warn("https://svelte.dev/e/derived_inert")}function ks(t){console.warn("https://svelte.dev/e/hydration_mismatch")}function nc(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ic(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}var ot=!1;function sa(t){ot=t}var $t;function Br(t){if(t===null)throw ks(),Vn;return $t=t}function Oi(){return Br(Da($t))}function u(t){if(ot){if(Da($t)!==null)throw ks(),Vn;$t=t}}function Ir(t=1){if(ot){for(var n=t,r=$t;n--;)r=Da(r);$t=r}}function Si(t=!0){for(var n=0,r=$t;;){if(r.nodeType===8){var a=r.data;if(a==="]"){if(n===0)return r;n-=1}else(a==="["||a==="[!"||a[0]==="["&&!isNaN(Number(a.slice(1))))&&(n+=1)}var o=Da(r);t&&r.remove(),r=o}}function Oo(t){if(!t||t.nodeType!==8)throw ks(),Vn;return t.data}function uv(t){return t===this.v}function Co(t,n){return t!=t?n==n:t!==n||t!==null&&typeof t=="object"||typeof t=="function"}function cv(t){return!Co(t,this.v)}var ha=!1,ei=!1;function sc(){ei=!0}function ll(t,n){return t.label=n,oc(t.v,n),t}function oc(t,n){return t?.[Uu]?.(n),t}var Dt=null;function Xn(t){Dt=t}function xt(t,n=!1,r){Dt={p:Dt,i:!1,c:null,e:null,s:t,x:null,r:lt,l:ei&&!n?{s:null,u:null,$:[]}:null}}function yt(t){var n=Dt,r=n.e;if(r!==null){n.e=null;for(var a of r)Iv(a)}return t!==void 0&&(n.x=t),n.i=!0,Dt=n.p,t??{}}function Ci(){return!ei||Dt!==null&&Dt.l===null}var cn=[];function fv(){var t=cn;cn=[],is(t)}function Ua(t){if(cn.length===0&&!yi){var n=cn;queueMicrotask(()=>{n===cn&&fv()})}cn.push(t)}function lc(){for(;cn.length>0;)fv()}function dv(t){var n=lt;if(n===null)return kt.f|=ss,t;if((n.f&32768)===0&&(n.f&4)===0)throw t;Qa(t,n)}function Qa(t,n){if(!(n!==null&&(n.f&16384)!==0)){for(;n!==null;){if((n.f&128)!==0){if((n.f&32768)===0)throw t;try{n.b.error(t);return}catch(r){t=r}}n=n.parent}throw t}}var vc=~(xa|en|pa);function wr(t,n){t.f=t.f&vc|n}function No(t){(t.f&512)!==0||t.deps===null?wr(t,pa):wr(t,en)}function _v(t){if(t!==null)for(const n of t)(n.f&2)===0||(n.f&65536)===0||(n.f^=Pi,_v(n.deps))}function pv(t,n,r){(t.f&2048)!==0?n.add(t):(t.f&4096)!==0&&r.add(t),_v(t.deps),wr(t,pa)}function uc(t,n,r){if(t==null)return n(void 0),r&&r(void 0),gn;const a=v(()=>t.subscribe(n,r));return a.unsubscribe?()=>a.unsubscribe():a}var Rn=[];function Lo(t,n){return{subscribe:ea(t,n).subscribe}}function ea(t,n=gn){let r=null;const a=new Set;function o(d){if(Co(t,d)&&(t=d,r)){const b=!Rn.length;for(const p of a)p[1](),Rn.push(p,t);if(b){for(let p=0;p{a.delete(p),a.size===0&&r&&(r(),r=null)}}return{set:o,update:f,subscribe:i}}function hv(t,n,r){const a=!Array.isArray(t),o=a?[t]:t;if(!o.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const f=n.length<2;return Lo(r,(i,d)=>{let b=!1;const p=[];let S=0,s=gn;const m=()=>{if(S)return;s();const g=n(a?p[0]:p,i,d);f?i(g):s=typeof g=="function"?g:gn},k=o.map((g,A)=>uc(g,P=>{p[A]=P,S&=~(1<{S|=1<{Bo()&&(e(r),za(()=>(n===0&&(a=v(()=>t(()=>wi(r)))),n+=1,()=>{Ua(()=>{n-=1,n===0&&(a?.(),a=void 0,wi(r))})})))}}function mv(t,n){if(n.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Do(t,n){mv(t,n),n.add(t)}function tt(t,n,r){mv(t,n),n.set(t,r)}function _t(t,n,r){if(typeof t=="function"?t===n:t.has(n))return arguments.length<3?n:r;throw new TypeError("Private element is not present on this object")}function Ke(t,n,r){return t.set(_t(t,n),r),r}function L(t,n){return t.get(_t(t,n))}var _c=xs|Jn;function pc(t,n,r,a){new hc(t,n,r,a)}var $a=new WeakMap,ro=new WeakMap,Ca=new WeakMap,qi=new WeakMap,ca=new WeakMap,La=new WeakMap,oa=new WeakMap,wa=new WeakMap,bn=new WeakMap,In=new WeakMap,xn=new WeakMap,Ii=new WeakMap,ao=new WeakMap,no=new WeakMap,nn=new WeakMap,vl=new WeakMap,Yr=new WeakSet,hc=class{constructor(t,n,r,a){Do(this,Yr),pr(this,"parent",void 0),pr(this,"is_pending",!1),pr(this,"transform_error",void 0),tt(this,$a,void 0),tt(this,ro,ot?$t:null),tt(this,Ca,void 0),tt(this,qi,void 0),tt(this,ca,void 0),tt(this,La,null),tt(this,oa,null),tt(this,wa,null),tt(this,bn,null),tt(this,In,0),tt(this,xn,0),tt(this,Ii,!1),tt(this,ao,new Set),tt(this,no,new Set),tt(this,nn,null),tt(this,vl,dc(()=>(Ke(nn,this,Mn(L(In,this))),()=>{Ke(nn,this,null)}))),Ke($a,this,t),Ke(Ca,this,n),Ke(qi,this,o=>{var f=lt;f.b=this,f.f|=128,r(o)}),this.parent=lt.b,this.transform_error=a??this.parent?.transform_error??(o=>o),Ke(ca,this,Ts(()=>{if(ot){const o=L(ro,this);Oi();const f=o.data==="[!";if(o.data.startsWith("[?")){const i=JSON.parse(o.data.slice(2));_t(Yr,this,gc).call(this,i)}else f?_t(Yr,this,bc).call(this):_t(Yr,this,mc).call(this)}else _t(Yr,this,gv).call(this)},_c)),ot&&Ke($a,this,$t)}defer_effect(t){pv(t,L(ao,this),L(no,this))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!L(Ca,this).pending}update_pending_count(t,n){_t(Yr,this,bv).call(this,t,n),Ke(In,this,L(In,this)+t),!(!L(nn,this)||L(Ii,this))&&(Ke(Ii,this,!0),Ua(()=>{Ke(Ii,this,!1),L(nn,this)&&En(L(nn,this),L(In,this))}))}get_effect_pending(){return L(vl,this).call(this),e(L(nn,this))}error(t){if(!L(Ca,this).onerror&&!L(Ca,this).failed)throw t;Qe?.is_fork?(L(La,this)&&Qe.skip_effect(L(La,this)),L(oa,this)&&Qe.skip_effect(L(oa,this)),L(wa,this)&&Qe.skip_effect(L(wa,this)),Qe.oncommit(()=>{_t(Yr,this,ul).call(this,t)})):_t(Yr,this,ul).call(this,t)}};function mc(){try{Ke(La,this,ma(()=>L(qi,this).call(this,L($a,this))))}catch(t){this.error(t)}}function gc(t){const n=L(Ca,this).failed;n&&Ke(wa,this,ma(()=>{n(L($a,this),()=>t,()=>()=>{})}))}function bc(){const t=L(Ca,this).pending;t&&(this.is_pending=!0,Ke(oa,this,ma(()=>t(L($a,this)))),Ua(()=>{var n=Ke(bn,this,document.createDocumentFragment()),r=Jr();n.append(r),Ke(La,this,_t(Yr,this,io).call(this,()=>ma(()=>L(qi,this).call(this,r)))),L(xn,this)===0&&(L($a,this).before(n),Ke(bn,this,null),Pn(L(oa,this),()=>{Ke(oa,this,null)}),_t(Yr,this,Ro).call(this,Qe))}))}function gv(){try{if(this.is_pending=this.has_pending_snippet(),Ke(xn,this,0),Ke(In,this,0),Ke(La,this,ma(()=>{L(qi,this).call(this,L($a,this))})),L(xn,this)>0){var t=Ke(bn,this,document.createDocumentFragment());Ho(L(La,this),t);const n=L(Ca,this).pending;Ke(oa,this,ma(()=>n(L($a,this))))}else _t(Yr,this,Ro).call(this,Qe)}catch(n){this.error(n)}}function Ro(t){this.is_pending=!1,t.transfer_effects(L(ao,this),L(no,this))}function io(t){var n=lt,r=kt,a=Dt;ba(L(ca,this)),ga(L(ca,this)),Xn(L(ca,this).ctx);try{return An.ensure(),t()}catch(o){return dv(o),null}finally{ba(n),ga(r),Xn(a)}}function bv(t,n){if(!this.has_pending_snippet()){if(this.parent){var r;_t(Yr,r=this.parent,bv).call(r,t,n)}return}Ke(xn,this,L(xn,this)+t),L(xn,this)===0&&(_t(Yr,this,Ro).call(this,n),L(oa,this)&&Pn(L(oa,this),()=>{Ke(oa,this,null)}),L(bn,this)&&(L($a,this).before(L(bn,this)),Ke(bn,this,null)))}function ul(t){L(La,this)&&(Vr(L(La,this)),Ke(La,this,null)),L(oa,this)&&(Vr(L(oa,this)),Ke(oa,this,null)),L(wa,this)&&(Vr(L(wa,this)),Ke(wa,this,null)),ot&&(Br(L(ro,this)),Ir(),Br(Si()));var n=L(Ca,this).onerror;let r=L(Ca,this).failed;var a=!1,o=!1;const f=()=>{if(a){ic();return}a=!0,o&&rc(),L(wa,this)!==null&&Pn(L(wa,this),()=>{Ke(wa,this,null)}),_t(Yr,this,io).call(this,()=>{_t(Yr,this,gv).call(this)})},i=d=>{try{o=!0,n?.(d,f),o=!1}catch(b){Qa(b,L(ca,this)&&L(ca,this).parent)}r&&Ke(wa,this,_t(Yr,this,io).call(this,()=>{try{return ma(()=>{var b=lt;b.b=this,b.f|=128,r(L($a,this),()=>d,()=>f)})}catch(b){return Qa(b,L(ca,this).parent),null}}))};Ua(()=>{var d;try{d=this.transform_error(t)}catch(b){Qa(b,L(ca,this)&&L(ca,this).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(i,b=>Qa(b,L(ca,this)&&L(ca,this).parent)):i(d)})}function xc(t,n,r,a){const o=Ci()?Qn:Ce;var f=t.filter(k=>!k.settled),i=n.map(o);if(r.length===0&&f.length===0){a(i);return}var d=lt,b=yc(),p=f.length===1?f[0].promise:f.length>1?Promise.all(f.map(k=>k.promise)):null;function S(k){if((d.f&16384)===0){b();try{a([...i,...k])}catch(g){Qa(g,d)}os()}}var s=xv();if(r.length===0){p.then(()=>S([])).finally(s);return}function m(){Promise.all(r.map(k=>wc(k))).then(S).catch(k=>Qa(k,d)).finally(s)}p?p.then(()=>{b(),m(),os()}):m()}function yc(){var t=lt,n=kt,r=Dt,a=Qe;if(0)var o;return function(i=!0){ba(t),ga(n),Xn(r),i&&(t.f&16384)===0&&(a?.activate(),a?.apply())}}function os(t=!0){ba(null),ga(null),Xn(null),t&&Qe?.deactivate()}function xv(){var t=lt,n=t.b,r=Qe,a=!!n?.is_rendered();return n?.update_pending_count(1,r),r.increment(a,t),()=>{n?.update_pending_count(-1,r),r.decrement(a,t)}}function Qn(t){var n=2|xa;return lt!==null&&(lt.f|=Jn),{ctx:Dt,deps:null,effects:null,equals:uv,f:n,fn:t,reactions:null,rv:0,v:Cr,wv:0,parent:lt,ac:null}}var fi=Symbol("obsolete");function wc(t,n,r){let a=lt;a===null&&Hu();var o=void 0,f=Mn(Cr),i=!kt,d=new Set;return Ic(()=>{var b=lt,p=ov();o=p.promise;try{Promise.resolve(t()).then(p.resolve,k=>{k!==ys&&p.reject(k)}).finally(os)}catch(k){p.reject(k),os()}var S=Qe;if(i){if((b.f&32768)!==0)var s=xv();if(a.b?.is_rendered())S.async_deriveds.get(b)?.reject(fi);else for(const k of d.values())k.reject(fi);d.add(p),S.async_deriveds.set(b,p)}const m=(k,g=void 0)=>{s?.(),d.delete(p),g!==fi&&(S.activate(),g?(f.f|=ss,En(f,g)):((f.f&8388608)!==0&&(f.f^=ss),En(f,k)),S.deactivate())};p.promise.then(m,k=>m(null,k||"unknown"))}),Ms(()=>{for(const b of d)b.reject(fi)}),new Promise(b=>{function p(S){function s(){S===o?b(f):p(o)}S.then(s,s)}p(o)})}function er(t){const n=Qn(t);return ha||zv(n),n}function Ce(t){const n=Qn(t);return n.equals=cv,n}function kc(t){var n=t.effects;if(n!==null){t.effects=null;for(var r=0;rthis.schedule(a)){var a=L(Xa,this).get(n);if(a){L(Xa,this).delete(n);for(var o of a.d)wr(o,xa),r(o);for(o of a.m)wr(o,en),r(o)}L(Zi,this).add(n)}capture(n,r,a=!1){n.v!==Cr&&!this.previous.has(n)&&this.previous.set(n,n.v),(n.f&8388608)===0&&(this.current.set(n,[r,a]),Kr?.set(n,r)),this.is_fork||(n.v=r)}activate(){Qe=this}deactivate(){Qe=null,Kr=null}flush(){try{Rs=!0,Qe=this,_t(Sr,this,fs).call(this)}finally{$v=0,so=null,Zn=null,vs=null,Rs=!1,Qe=null,Kr=null,wn.clear()}}discard(){for(const n of L(Wi,this))n(this);L(Wi,this).clear();for(const n of this.async_deriveds.values())n.reject(fi);_t(Sr,this,ds).call(this),L(di,this)?.resolve()}register_created_effect(n){L(oo,this).push(n)}increment(n,r){if(Ke(Bn,this,L(Bn,this)+1),n){let a=L(ln,this).get(r)??0;L(ln,this).set(r,a+1)}}decrement(n,r){if(Ke(Bn,this,L(Bn,this)-1),n){let a=L(ln,this).get(r)??0;a===1?L(ln,this).delete(r):L(ln,this).set(r,a-1)}L(_i,this)||(Ke(_i,this,!0),Ua(()=>{Ke(_i,this,!1),this.linked&&this.flush()}))}transfer_effects(n,r){for(const a of n)L(qn,this).add(a);for(const a of r)L(Ba,this).add(a);n.clear(),r.clear()}oncommit(n){L(cs,this).add(n)}ondiscard(n){L(Wi,this).add(n)}settled(){return(L(di,this)??Ke(di,this,ov())).promise}static ensure(){if(Qe===null){const n=Qe=new Sv;!Rs&&!yi&&Ua(()=>{L(us,n)||n.flush()})}return Qe}apply(){if(!ha||!this.is_fork&&L(yn,this)===null&&L(fn,this)===null){Kr=null;return}Kr=new Map;for(const[r,[a]]of this.current)Kr.set(r,a);for(let r=ls;r!==null;r=L(fn,r))if(!(r===this||r.is_fork)){var n=!1;if(r.id1e3&&(_t(Sr,this,ds).call(this),Tc());for(const d of L(qn,this))L(Ba,this).delete(d),wr(d,xa),this.schedule(d);for(const d of L(Ba,this))wr(d,en),this.schedule(d);const t=L(fa,this);Ke(fa,this,[]),this.apply();var n=Zn=[],r=[],a=vs=[];for(const d of t)try{_t(Sr,this,qv).call(this,d,n,r)}catch(b){throw Av(d),_t(Sr,this,cl).call(this)||this.discard(),b}if(Qe=null,a.length>0){var o=kv.ensure();for(const d of a)o.schedule(d)}if(Zn=null,vs=null,_t(Sr,this,cl).call(this)){_t(Sr,this,pi).call(this,r),_t(Sr,this,pi).call(this,n);for(const[d,b]of L(Xa,this))Tv(d,b);a.length>0&&_t(Sr,Qe,fs).call(Qe);return}const f=_t(Sr,this,qc).call(this);if(f){_t(Sr,this,pi).call(this,r),_t(Sr,this,pi).call(this,n),_t(Sr,f,Mc).call(f,this);return}L(qn,this).clear(),L(Ba,this).clear();for(const d of L(cs,this))d(this);L(cs,this).clear(),Mi=this,fl(r),fl(n),Mi=null,L(di,this)?.resolve();var i=Qe;if(L(Bn,this)===0&&(L(fa,this).length===0||i!==null)&&(_t(Sr,this,ds).call(this),ha&&(_t(Sr,this,Ec).call(this),Qe=i)),L(fa,this).length>0)if(i!==null){const d=i;L(fa,d).push(...L(fa,this).filter(b=>!L(fa,d).includes(b)))}else i=this;i!==null&&_t(Sr,i,fs).call(i)}function qv(t,n,r){t.f^=pa;for(var a=t.first;a!==null;){var o=a.f,f=(o&96)!==0;if(!(f&&(o&1024)!==0||(o&8192)!==0||L(Xa,this).has(a))&&a.fn!==null){f?a.f^=pa:(o&4)!==0?n.push(a):ha&&(o&16777224)!==0?r.push(a):ti(a)&&((o&16)!==0&&L(Ba,this).add(a),Tn(a));var i=a.first;if(i!==null){a=i;continue}}for(;a!==null;){var d=a.next;if(d!==null){a=d;break}a=a.parent}}}function qc(){for(var t=L(yn,this);t!==null;){if(!t.is_fork){for(const[n,[,r]]of this.current)if(t.current.has(n)&&!r)return t}t=L(yn,t)}return null}function Mc(t){for(const[r,a]of t.current)!this.previous.has(r)&&t.previous.has(r)&&this.previous.set(r,t.previous.get(r)),this.current.set(r,a);for(const[r,a]of t.async_deriveds){const o=this.async_deriveds.get(r);o&&a.promise.then(o.resolve).catch(o.reject)}t.async_deriveds.clear(),this.transfer_effects(L(qn,t),L(Ba,t));const n=r=>{var a=r.reactions;if(a!==null)for(const i of a){var o=i.f;if((o&2)!==0)n(i);else{var f=i;o&4194320&&!this.async_deriveds.has(f)&&(L(Ba,this).delete(f),wr(f,xa),this.schedule(f))}}};for(const r of this.current.keys())n(r);this.oncommit(()=>t.discard()),_t(Sr,t,ds).call(t),Qe=this,_t(Sr,this,fs).call(this)}function pi(t){for(var n=0;n!S.current.get(s)[1]);if(!(!L(us,S)||a.length===0)){var o=a.filter(s=>!this.current.has(s));if(o.length===0)t&&S.discard();else if(n.length>0){if(t)for(const s of L(Zi,this))S.unskip_effect(s,m=>{(m.f&4194320)!==0?S.schedule(m):_t(Sr,S,pi).call(S,[m])});S.activate();var f=new Set,i=new Map;for(var d of n)Ev(d,o,f,i);i=new Map;var b=[...S.current].filter(([s,m])=>{const k=this.current.get(s);return k?k[0]!==m[0]||k[1]!==m[1]:!0}).map(([s])=>s);if(b.length>0)for(const s of L(oo,this))(s.f&155648)===0&&Fo(s,b,i)&&((s.f&4194320)!==0?(wr(s,xa),S.schedule(s)):L(qn,S).add(s));if(L(fa,S).length>0&&!L(_i,S)){S.apply();for(var p of L(fa,S))_t(Sr,S,qv).call(S,p,[],[]);Ke(fa,S,[])}S.deactivate()}}}}function ds(){if(this.linked){var t=L(yn,this),n=L(fn,this);t===null?ls=n:Ke(fn,t,n),n===null?Wn=t:Ke(yn,n,t),this.linked=!1}}function Mv(t){var n=yi;yi=!0;try{var r;for(t&&(Qe!==null&&!Qe.is_fork&&Qe.flush(),r=t());;){if(lc(),Qe===null)return r;Qe.flush()}}finally{yi=n}}function Tc(){if(0){var t;for(const r of Qe.current.keys())for(const[a,o]of r.updated??[])var n}try{Vu()}catch(r){Qa(r,so)}}var Pa=null;function fl(t){var n=t.length;if(n!==0){for(var r=0;r0)){wn.clear();for(const o of Pa){if((o.f&24576)!==0)continue;const f=[o];let i=o.parent;for(;i!==null;)Pa.has(i)&&(Pa.delete(i),f.push(i)),i=i.parent;for(let d=f.length-1;d>=0;d--){const b=f[d];(b.f&24576)===0&&Tn(b)}}Pa.clear()}}Pa=null}}function Ev(t,n,r,a){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const o of t.reactions){const f=o.f;(f&2)!==0?Ev(o,n,r,a):(f&4194320)!==0&&(f&2048)===0&&Fo(o,n,a)&&(wr(o,xa),Io(o))}}function Fo(t,n,r){const a=r.get(t);if(a!==void 0)return a;if(t.deps!==null)for(const o of t.deps){if(ns.call(n,o))return!0;if((o.f&2)!==0&&Fo(o,n,r))return r.set(o,!0),!0}return r.set(t,!1),!1}function Io(t){Qe.schedule(t)}function Tv(t,n){if(!((t.f&32)!==0&&(t.f&1024)!==0)){(t.f&2048)!==0?n.d.push(t):(t.f&4096)!==0&&n.m.push(t),wr(t,pa);for(var r=t.first;r!==null;)Tv(r,n),r=r.next}}function Av(t){wr(t,pa);for(var n=t.first;n!==null;)Av(n),n=n.next}var _s=new Set,wn=new Map;var Pv=!1;function Mn(t,n){var r={f:0,v:t,reactions:null,equals:uv,rv:0,wv:0};return r}function Ya(t,n){const r=Mn(t,n);return zv(r),r}function W(t,n=!1,r=!0){const a=Mn(t);if(n||(a.equals=cv),ei&&r&&Dt!==null&&Dt.l!==null){var o;((o=Dt.l).s??(o.s=[])).push(a)}return a}function ee(t,n){return E(t,v(()=>e(t))),n}function E(t,n,r=!1){kt!==null&&(!ka||(kt.f&131072)!==0)&&Ci()&&(kt.f&4325394)!==0&&(Sa===null||!Sa.has(t))&&tc();let a=r?Yn(n):n;return En(t,a,vs)}function En(t,n,r=null){if(!t.equals(n)){wn.set(t,Ha?n:t.v);var a=An.ensure();if(a.capture(t,n),(t.f&2)!==0){const o=t;(t.f&2048)!==0&&jo(o),Kr===null&&No(o)}t.wv=Gv(),Ov(t,xa,r),Ci()&<!==null&&(lt.f&1024)!==0&&(lt.f&96)===0&&(ua===null?Hc([t]):ua.push(t)),!a.is_fork&&_s.size>0&&!Pv&&Ac()}return n}function Ac(){Pv=!1;for(const t of _s){(t.f&1024)!==0&&wr(t,en);let n;try{n=ti(t)}catch{n=!0}n&&Tn(t)}_s.clear()}function wi(t){E(t,t.v+1)}function Ov(t,n,r){var a=t.reactions;if(a!==null)for(var o=Ci(),f=a.length,i=0;i{if(kn===i)return s();var m=kt,k=kn;ga(null),ml(i);var g=s();return ga(m),ml(k),g};a&&r.set("length",Ya(t.length,f));var b="";let p=!1;function S(s){if(!p){p=!0,b=s,ll(o,`${b} version`);for(const[m,k]of r)ll(k,Oc(b,m));p=!1}}return new Proxy(t,{defineProperty(s,m,k){(!("value"in k)||k.configurable===!1||k.enumerable===!1||k.writable===!1)&&Ju();var g=r.get(m);return g===void 0?d(()=>{var A=Ya(k.value,f);return r.set(m,A),A}):E(g,k.value,!0),!0},deleteProperty(s,m){var k=r.get(m);if(k===void 0){if(m in s){const g=d(()=>Ya(Cr,f));r.set(m,g),wi(o)}}else E(k,Cr),wi(o);return!0},get(s,m,k){if(m===Na)return t;var g=r.get(m),A=m in s;if(g===void 0&&(!A||Wa(s,m)?.writable)&&(g=d(()=>{var R=Ya(Yn(A?s[m]:Cr),f);return R}),r.set(m,g)),g!==void 0){var P=e(g);return P===Cr?void 0:P}return Reflect.get(s,m,k)},getOwnPropertyDescriptor(s,m){var k=Reflect.getOwnPropertyDescriptor(s,m);if(k&&"value"in k){var g=r.get(m);g&&(k.value=e(g))}else if(k===void 0){var A=r.get(m),P=A?.v;if(A!==void 0&&P!==Cr)return{enumerable:!0,configurable:!0,value:P,writable:!0}}return k},has(s,m){if(m===Na)return!0;var k=r.get(m),g=k!==void 0&&k.v!==Cr||Reflect.has(s,m);return(k!==void 0||lt!==null&&(!g||Wa(s,m)?.writable))&&(k===void 0&&(k=d(()=>{var A=Ya(g?Yn(s[m]):Cr,f);return A}),r.set(m,k)),e(k)===Cr)?!1:g},set(s,m,k,g){var A=r.get(m),P=m in s;if(a&&m==="length")for(var R=k;RYa(Cr,f)),r.set(R+"",Y))}if(A===void 0)(!P||Wa(s,m)?.writable)&&(A=d(()=>Ya(void 0,f)),E(A,Yn(k)),r.set(m,A));else{P=A.v!==Cr;var H=d(()=>Yn(k));E(A,H)}var T=Reflect.getOwnPropertyDescriptor(s,m);if(T?.set&&T.set.call(g,k),!P){if(a&&typeof m=="string"){var O=r.get("length"),C=Number(m);Number.isInteger(C)&&C>=O.v&&E(O,C+1)}wi(o)}return!0},ownKeys(s){e(o);var m=Reflect.ownKeys(s).filter(A=>{var P=r.get(A);return P===void 0||P.v!==Cr});for(var[k,g]of r)g.v!==Cr&&!(k in s)&&m.push(k);return m},setPrototypeOf(){ec()}})}function Oc(t,n){return typeof n=="symbol"?`${t}[Symbol(${n.description??""})]`:Pc.test(n)?`${t}.${n}`:/^\d+$/.test(n)?`${t}[${n}]`:`${t}['${n}']`}function dl(t){try{if(t!==null&&typeof t=="object"&&Na in t)return t[Na]}catch{}return t}function Cc(t,n){return Object.is(dl(t),dl(n))}var _l,Nc,Cv,Nv,Lv;function lo(){if(_l===void 0){_l=window,Nc=document,Cv=/Firefox/.test(navigator.userAgent);var t=Element.prototype,n=Node.prototype,r=Text.prototype;Nv=Wa(n,"firstChild").get,Lv=Wa(n,"nextSibling").get,il(t)&&(t[eo]=void 0,t[Js]=null,t[to]=void 0,t.__e=void 0),il(r)&&(r[Qi]=void 0)}}function Jr(t=""){return document.createTextNode(t)}function _a(t){return Nv.call(t)}function Da(t){return Lv.call(t)}function c(t,n){if(!ot)return _a(t);var r=_a($t);if(r===null)r=$t.appendChild(Jr());else if(n&&r.nodeType!==3){var a=Jr();return r?.before(a),Br(a),a}return n&&$s(r),Br(r),r}function fe(t,n=!1){if(!ot){var r=_a(t);return r instanceof Comment&&r.data===""?Da(r):r}if(n){if($t?.nodeType!==3){var a=Jr();return $t?.before(a),Br(a),a}$s($t)}return $t}function l(t,n=1,r=!1){let a=ot?$t:t;for(var o;n--;)o=a,a=Da(a);if(!ot)return a;if(r){if(a?.nodeType!==3){var f=Jr();return a===null?o?.after(f):a.before(f),Br(f),f}$s(a)}return Br(a),a}function Dv(t){t.textContent=""}function Rv(){return!ha||Pa!==null?!1:(lt.f&Ao)!==0}function Wo(t,n,r){return n==null||n==="http://www.w3.org/1999/xhtml"?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(n,t,{is:r}):document.createElementNS(n,t)}function Lc(t=""){return document.createComment(t)}function $s(t){if(t.nodeValue.length<65536)return;let n=t.nextSibling;for(;n!==null&&n.nodeType===3;)n.remove(),t.nodeValue+=n.nodeValue,n=t.nextSibling}var pl=!1;function jv(){pl||(pl=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{if(!t.defaultPrevented)for(const n of t.target.elements)n[xi]?.()})},{capture:!0}))}function Ss(t){var n=kt,r=lt;ga(null),ba(null);try{return t()}finally{ga(n),ba(r)}}function qs(t,n,r,a=r){t.addEventListener(n,()=>Ss(r));const o=t[xi];o?t[xi]=()=>{o(),a(!0)}:t[xi]=()=>a(!0),jv()}function Fv(t){lt===null&&(kt===null&&Ku(t),Gu()),Ha&&Yu(t)}function Dc(t,n){var r=n.last;r===null?n.last=n.first=t:(r.next=t,t.prev=r,n.last=t)}function Ma(t,n){var r=lt;r!==null&&(r.f&8192)!==0&&(t|=To);var a={ctx:Dt,deps:null,nodes:null,f:t|xa|512,first:null,fn:n,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};Qe?.register_created_effect(a);var o=a;if((t&4)!==0)Zn!==null?Zn.push(a):An.ensure().schedule(a);else if(n!==null){try{Tn(a)}catch(i){throw Vr(a),i}o.deps===null&&o.teardown===null&&o.nodes===null&&o.first===o.last&&(o.f&524288)===0&&(o=o.first,(t&16)!==0&&(t&65536)!==0&&o!==null&&(o.f|=xs))}if(o!==null&&(o.parent=r,r!==null&&Dc(o,r),kt!==null&&(kt.f&2)!==0&&(t&64)===0)){var f=kt;(f.effects??(f.effects=[])).push(o)}return a}function Bo(){return kt!==null&&!ka}function Ms(t){const n=Ma(8,null);return wr(n,pa),n.teardown=t,n}function vo(t){Fv("$effect");var n=lt.f;if(!kt&&(n&32)!==0&&Dt!==null&&!Dt.i){var r=Dt;(r.e??(r.e=[])).push(t)}else return Iv(t)}function Iv(t){return Ma(4|lv,t)}function Rc(t){return Fv("$effect.pre"),Ma(8|lv,t)}function jc(t){An.ensure();const n=Ma(64|Jn,t);return()=>{Vr(n)}}function Fc(t){An.ensure();const n=Ma(64|Jn,t);return(r={})=>new Promise(a=>{r.outro?Pn(n,()=>{Vr(n),a(void 0)}):(Vr(n),a(void 0))})}function Es(t){return Ma(4,t)}function gr(t,n){var r=Dt,a={effect:null,ran:!1,deps:t};r.l.$.push(a),a.effect=za(()=>{if(t(),!a.ran){a.ran=!0;var o=lt;try{ba(o.parent),v(n)}finally{ba(o)}}})}function kr(){var t=Dt;za(()=>{for(var n of t.l.$){n.deps();var r=n.effect;(r.f&1024)!==0&&r.deps!==null&&wr(r,en),ti(r)&&Tn(r),n.ran=!1}})}function Ic(t){return Ma(Wu|Jn,t)}function za(t,n=0){return Ma(8|n,t)}function j(t,n=[],r=[],a=[]){xc(a,n,r,o=>{Ma(8,()=>{t(...o.map(e))})})}function Ts(t,n=0){var r=Ma(16|n,t);return r}function ma(t){return Ma(32|Jn,t)}function Wv(t){var n=t.teardown;if(n!==null){const r=Ha,a=kt;hl(!0),ga(null);try{n.call(null)}finally{hl(r),ga(a)}}}function Uo(t,n=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const o=r.ac;o!==null&&Ss(()=>{o.abort(ys)});var a=r.next;(r.f&64)!==0?r.parent=null:Vr(r,n),r=a}}function Wc(t){for(var n=t.first;n!==null;){var r=n.next;(n.f&32)===0&&Vr(n),n=r}}function Vr(t,n=!0){var r=!1;(n||(t.f&262144)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Bc(t.nodes.start,t.nodes.end),r=!0),t.f|=sl,Uo(t,n&&!r),Ei(t,0);var a=t.nodes&&t.nodes.t;if(a!==null)for(const f of a)f.stop();Wv(t),t.f^=sl,t.f|=Iu;var o=t.parent;o!==null&&o.first!==null&&Bv(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Bc(t,n){for(;t!==null;){var r=t===n?null:Da(t);t.remove(),t=r}}function Bv(t){var n=t.parent,r=t.prev,a=t.next;r!==null&&(r.next=a),a!==null&&(a.prev=r),n!==null&&(n.first===t&&(n.first=a),n.last===t&&(n.last=r))}function Pn(t,n,r=!0){var a=[];Uv(t,a,!0);var o=()=>{r&&Vr(t),n&&n()},f=a.length;if(f>0){var i=()=>--f||o();for(var d of a)d.out(i)}else o()}function Uv(t,n,r){if((t.f&8192)===0){t.f^=To;var a=t.nodes&&t.nodes.t;if(a!==null)for(const d of a)(d.is_global||r)&&n.push(d);for(var o=t.first;o!==null;){var f=o.next;if((o.f&64)===0){var i=(o.f&65536)!==0||(o.f&32)!==0&&(t.f&16)!==0;Uv(o,n,i?r:!1)}o=f}}}function ps(t){Hv(t,!0)}function Hv(t,n){if((t.f&8192)!==0){t.f^=To,(t.f&1024)===0&&(wr(t,xa),An.ensure().schedule(t));for(var r=t.first;r!==null;){var a=r.next,o=(r.f&65536)!==0||(r.f&32)!==0;Hv(r,o?n:!1),r=a}var f=t.nodes&&t.nodes.t;if(f!==null)for(const i of f)(i.is_global||n)&&i.in()}}function Ho(t,n){if(t.nodes)for(var r=t.nodes.start,a=t.nodes.end;r!==null;){var o=r===a?null:Da(r);n.append(r),r=o}}var Un=null;function Uc(t){var n=Un;try{if(Un=new Set,v(t),n!==null)for(var r of Un)n.add(r);return Un}finally{Un=n}}function G(t){for(var n of Uc(t))En(n,n.v)}var Ji=!1,Ha=!1;function hl(t){Ha=t}var kt=null,ka=!1;function ga(t){kt=t}var lt=null;function ba(t){lt=t}var Sa=null;function zv(t){kt!==null&&(!ha||(kt.f&2)!==0)&&(Sa??(Sa=new Set)).add(t)}var Qr=null,ia=0,ua=null;function Hc(t){ua=t}var Yv=1,dn=0,kn=dn;function ml(t){kn=t}function Gv(){return++Yv}function ti(t){var n=t.f;if((n&2048)!==0)return!0;if(n&2&&(t.f&=~Pi),(n&4096)!==0){for(var r=t.deps,a=r.length,o=0;ot.wv)return!0}(n&512)!==0&&Kr===null&&wr(t,pa)}return!1}function Kv(t,n,r=!0){var a=t.reactions;if(a!==null&&!(!ha&&Sa!==null&&Sa.has(t)))for(var o=0;o{t.ac.abort(ys)}),t.ac=null);try{t.f|=ol;var S=t.fn,s=S();t.f|=Ao;var m=t.deps,k=Qe?.is_fork;if(Qr!==null){var g;if(k||Ei(t,ia),m!==null&&ia>0)for(m.length=ia+Qr.length,g=0;g{requestAnimationFrame(()=>t()),setTimeout(()=>t())});await Promise.resolve(),Mv()}function e(t){var n=(t.f&2)!==0;if(Un?.add(t),kt!==null&&!ka&&!(lt!==null&&(lt.f&16384)!==0)&&(Sa===null||!Sa.has(t))){var r=kt.deps;if((kt.f&2097152)!==0)t.rvr?.call(this,f))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Ua(()=>{n.addEventListener(t,o,a)}):n.addEventListener(t,o,a),o}function He(t,n,r,a,o){var f={capture:a,passive:o},i=Qc(t,n,r,f);(n===document.body||n===window||n===document||n instanceof HTMLMediaElement)&&Ms(()=>{n.removeEventListener(t,i,f)})}var bl=null;function co(t){var n=this,r=n.ownerDocument,a=t.type,o=t.composedPath?.()||[],f=o[0]||t.target;bl=t;var i=0,d=bl===t&&t[Bi];if(d){var b=o.indexOf(d);if(b!==-1&&(n===document||n===window)){t[Bi]=n;return}var p=o.indexOf(n);if(p===-1)return;b<=p&&(i=b)}if(f=o[i]||t.target,f!==n){iv(t,"currentTarget",{configurable:!0,get(){return f||r}});var S=kt,s=lt;ga(null),ba(null);try{for(var m,k=[];f!==null&&f!==n;){try{var g=f[Bi]?.[a];g!=null&&(!f.disabled||t.target===f)&&g.call(f,t)}catch(A){m?k.push(A):m=A}if(t.cancelBubble)break;i++,f=i{throw A});throw m}}finally{t[Bi]=n,delete t.currentTarget,ga(S),ba(s)}}}var Zc=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Zv(t){return Zc?.createHTML(t)??t}function Jv(t){var n=Wo("template");return n.innerHTML=Zv(t.replaceAll("","")),n.content}function qa(t,n){var r=lt;r.nodes===null&&(r.nodes={start:t,end:n,a:null,t:null})}function F(t,n){var r=(n&1)!==0,a=(n&2)!==0,o,f=!t.startsWith("");return()=>{if(ot)return qa($t,null),$t;o===void 0&&(o=Jv(f?t:""+t),r||(o=_a(o)));var i=a||Cv?document.importNode(o,!0):o.cloneNode(!0);if(r){var d=_a(i),b=i.lastChild;qa(d,b)}else qa(i,i);return i}}function Jc(t,n,r="svg"){var a=!t.startsWith(""),o=(n&1)!==0,f=`<${r}>${a?t:""+t}`,i;return()=>{if(ot)return qa($t,null),$t;if(!i){var d=_a(Jv(f));if(o)for(i=document.createDocumentFragment();_a(d);)i.appendChild(_a(d));else i=_a(d)}var b=i.cloneNode(!0);if(o){var p=_a(b),S=b.lastChild;qa(p,S)}else qa(b,b);return b}}function ta(t,n){return Jc(t,n,"svg")}function da(t=""){if(!ot){var n=Jr(t+"");return qa(n,n),n}var r=$t;return r.nodeType!==3?(r.before(r=Jr()),Br(r)):$s(r),qa(r,r),r}function Mr(){if(ot)return qa($t,null),$t;var t=document.createDocumentFragment(),n=document.createComment(""),r=Jr();return t.append(n,r),qa(n,r),t}function q(t,n){if(ot){var r=lt;((r.f&32768)===0||r.nodes.end===null)&&(r.nodes.end=$t),Oi();return}t!==null&&t.before(n)}var xl=!0;function h(t,n){var r,a=n==null?"":typeof n=="object"?`${n}`:n;a!==((r=t)[Qi]??(r[Qi]=t.nodeValue))&&(t[Qi]=a,t.nodeValue=`${a}`)}function As(t,n){return eu(t,n)}function ef(t,n){lo(),n.intro=n.intro??!1;const r=n.target,a=ot,o=$t;try{for(var f=_a(r);f&&(f.nodeType!==8||f.data!=="[");)f=Da(f);if(!f)throw Vn;sa(!0),Br(f);const i=eu(t,{...n,anchor:f});return sa(!1),i}catch(i){if(i instanceof Error&&i.message.split(` `).some(d=>d.startsWith("https://svelte.dev/e/")))throw i;return i!==Vn&&console.warn("Failed to hydrate: ",i),n.recover===!1&&Xu(),lo(),Dv(r),sa(!1),As(t,n)}finally{sa(a),Br(o)}}var Ui=new Map;function eu(t,{target:n,anchor:r,props:a={},events:o,context:f,intro:i=!0,transformError:d}){lo();var b=void 0,p=Fc(()=>{var S=r??n.appendChild(Jr());pc(S,{pending:()=>{}},k=>{xt({});var g=Dt;if(f&&(g.c=f),o&&(a.$$events=o),ot&&qa(k,null),xl=i,b=t(k,a)||{},xl=!0,ot&&(lt.nodes.end=$t,$t===null||$t.nodeType!==8||$t.data!=="]"))throw ks(),Vn;yt()},d);var s=new Set,m=k=>{for(var g=0;g{for(var k of s)for(const P of[n,document]){var g=Ui.get(P),A=g.get(k);--A==0?(P.removeEventListener(k,co),g.delete(k),g.size===0&&Ui.delete(P)):g.set(k,A)}gl.delete(m),S!==r&&S.parentNode?.removeChild(S)}});return fo.set(b,p),b}var fo=new WeakMap;function tu(t,n){const r=fo.get(t);return r?(fo.delete(t),r(n)):Promise.resolve()}var Ra=new WeakMap,Ga=new WeakMap,ya=new WeakMap,oi=new WeakMap,js=new WeakMap,Fs=new WeakMap,yl=new WeakMap,ru=class{constructor(t,n=!0){pr(this,"anchor",void 0),tt(this,Ra,new Map),tt(this,Ga,new Map),tt(this,ya,new Map),tt(this,oi,new Set),tt(this,js,!0),tt(this,Fs,r=>{if(L(Ra,this).has(r)){var a=L(Ra,this).get(r),o=L(Ga,this).get(a);if(o)ps(o),L(oi,this).delete(a);else{var f=L(ya,this).get(a);f&&(ps(f.effect),L(Ga,this).set(a,f.effect),L(ya,this).delete(a),f.fragment.lastChild.remove(),this.anchor.before(f.fragment),o=f.effect)}for(const[i,d]of L(Ra,this)){if(L(Ra,this).delete(i),i===r)break;const b=L(ya,this).get(d);b&&(Vr(b.effect),L(ya,this).delete(d))}for(const[i,d]of L(Ga,this)){if(i===a||L(oi,this).has(i))continue;const b=()=>{if(Array.from(L(Ra,this).values()).includes(i)){var p=document.createDocumentFragment();Ho(d,p),p.append(Jr()),L(ya,this).set(i,{effect:d,fragment:p})}else Vr(d);L(oi,this).delete(i),L(Ga,this).delete(i)};L(js,this)||!o?(L(oi,this).add(i),Pn(d,b,!1)):b()}}}),tt(this,yl,r=>{L(Ra,this).delete(r);const a=Array.from(L(Ra,this).values());for(const[o,f]of L(ya,this))a.includes(o)||(Vr(f.effect),L(ya,this).delete(o))}),this.anchor=t,Ke(js,this,n)}ensure(t,n){var r=Qe,a=Rv();if(n&&!L(Ga,this).has(t)&&!L(ya,this).has(t))if(a){var o=document.createDocumentFragment(),f=Jr();o.append(f),L(ya,this).set(t,{effect:ma(()=>n(f)),fragment:o})}else L(Ga,this).set(t,ma(()=>n(this.anchor)));if(L(Ra,this).set(r,t),a){for(const[i,d]of L(Ga,this))i===t?r.unskip_effect(d):r.skip_effect(d);for(const[i,d]of L(ya,this))i===t?r.unskip_effect(d.effect):r.skip_effect(d.effect);r.oncommit(L(Fs,this)),r.ondiscard(L(yl,this))}else ot&&(this.anchor=$t),L(Fs,this).call(this,r)}};function I(t,n,r=!1){var a;ot&&(a=$t,Oi());var o=new ru(t),f=r?xs:0;function i(d,b){if(ot){var p=Oo(a);if(d!==parseInt(p.substring(1))){var S=Si();Br(S),o.anchor=S,sa(!1),o.ensure(d,b),sa(!0);return}}o.ensure(d,b)}Ts(()=>{var d=!1;n((b,p=0)=>{d=!0,i(p,b)}),d||i(-1,null)},f)}function Vt(t,n){return n}function tf(t,n,r){for(var a=[],o=n.length,f,i=n.length,d=0;d{if(f){if(f.pending.delete(s),f.done.add(s),f.pending.size===0){var m=t.outrogroups;_o(t,bs(f.done)),m.delete(f),m.size===0&&(t.outrogroups=null)}}else i-=1},!1)}if(i===0){var b=a.length===0&&r!==null;if(b){var p=r,S=p.parentNode;Dv(S),S.append(p),t.items.clear()}_o(t,n,!b)}else f={pending:new Set(n),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(f)}function _o(t,n,r=!0){var a;if(t.pending.size>0){a=new Set;for(const i of t.pending.values())for(const d of i)a.add(t.items.get(d).e)}for(var o=0;o{var R=r();return Ai(R)?R:R==null?[]:bs(R)}),s,m=new Map,k=!0;function g(R){(P.effect.f&16384)===0&&(P.pending.delete(R),P.fallback=p,rf(P,s,i,n,a),p!==null&&(s.length===0?(p.f&33554432)===0?ps(p):(p.f^=bi,hi(p,null,i)):Pn(p,()=>{p=null})))}function A(R){P.pending.delete(R)}var P={effect:Ts(()=>{s=e(S);var R=s.length;let Y=!1;ot&&Oo(i)==="[!"!=(R===0)&&(i=Si(),Br(i),sa(!1),Y=!0);for(var H=new Set,T=Qe,O=Rv(),C=0;Cf(i)):(p=ma(()=>f(Hi??(Hi=Jr()))),p.f|=bi)),R>H.size&&zu("","",""),ot&&R>0&&Br(Si()),!k)if(m.set(T,H),O){for(const[ve,Me]of d)H.has(ve)||T.skip_effect(Me.e);T.oncommit(g),T.ondiscard(A)}else g(T);Y&&sa(!0),e(S)}),flags:n,items:d,pending:m,outrogroups:null,fallback:p};k=!1,ot&&(i=$t)}function li(t){for(;t!==null&&(t.f&32)===0;)t=t.next;return t}function rf(t,n,r,a,o){var f=(a&8)!==0,i=n.length,d=t.items,b=li(t.effect.first),p,S=null,s,m=[],k=[],g,A,P,R;if(f)for(R=0;R0){var te=(a&4)!==0&&i===0?r:null;if(f){for(R=0;R{if(s!==void 0)for(P of s)P.nodes?.a?.apply()})}function af(t,n,r,a,o,f,i,d){var b=(i&1)!==0?(i&16)===0?W(r,!1,!1):Mn(r):null,p=(i&2)!==0?Mn(o):null;return{v:b,i:p,e:ma(()=>(f(n,b??r,p??o,d),()=>{t.delete(a)}))}}function hi(t,n,r){if(t.nodes)for(var a=t.nodes.start,o=t.nodes.end,f=n&&(n.f&33554432)===0?n.nodes.start:r;a!==null;){var i=Da(a);if(f.before(a),a===o)return;a=i}}function Ka(t,n,r){n===null?t.effect.first=r:n.next=r,r===null?t.effect.last=n:r.prev=n}function wl(t,n,r){var a;ot&&(a=$t,Oi());var o=new ru(t);Ts(()=>{var f=n()??null;if(ot&&Oo(a)==="["!=(f!==null)){var i=Si();Br(i),o.anchor=i,sa(!1),o.ensure(f,f&&(d=>r(d,f))),sa(!0);return}o.ensure(f,f&&(d=>r(d,f)))},xs)}function vi(t,n,r){Es(()=>{var a=v(()=>n(t,r?.())||{});if(r&&a?.update){var o=!1,f={};za(()=>{var i=r();$(i),o&&Co(f,i)&&(f=i,a.update(i))}),o=!0}if(a?.destroy)return()=>a.destroy()})}function au(t){var n,r,a="";if(typeof t=="string"||typeof t=="number")a+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(n=0;n=0;){var d=i+f;(i===0||kl.includes(a[i-1]))&&(d===a.length||kl.includes(a[d]))?a=(i===0?"":a.substring(0,i))+a.substring(d+1):i=d}}return a===""?null:a}function $l(t,n=!1){var r=n?" !important;":";",a="";for(var o of Object.keys(t)){var f=t[o];f!=null&&f!==""&&(a+=" "+o+": "+f+r)}return a}function Is(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function of(t,n){if(n){var r="",a,o;if(Array.isArray(n)?(a=n[0],o=n[1]):a=n,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var f=!1,i=0,d=!1,b=[];a&&b.push(...Object.keys(a).map(Is)),o&&b.push(...Object.keys(o).map(Is));var p=0,S=-1;const A=t.length;for(var s=0;s{nu(t,t.__value)});n.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ms(()=>{n.disconnect()})}function At(t,n,r=n){var a=new WeakSet,o=!0;qs(t,"change",f=>{var i=f?"[selected]":":checked",d;if(t.multiple)d=[].map.call(t.querySelectorAll(i),ki);else{var b=t.querySelector(i)??t.querySelector("option:not([disabled])");d=b&&ki(b)}r(d),t.__value=d,Qe!==null&&a.add(Qe)}),Es(()=>{var f=n();if(t===document.activeElement){var i=ha?Mi:Qe;if(a.has(i))return}if(nu(t,f,o),o&&f===void 0){var d=t.querySelector(":checked");d!==null&&(f=ki(d),r(f))}t.__value=f,o=!1}),vf(t)}function ki(t){return"__value"in t?t.__value:t.value}var uf=Symbol("is custom element"),cf=Symbol("is html"),ff=vv?"link":"LINK",df=vv?"progress":"PROGRESS";function oe(t){if(ot){var n=!1,r=()=>{if(!n){if(n=!0,t.hasAttribute("value")){var a=t.value;Q(t,"value",null),t.value=a}if(t.hasAttribute("checked")){var o=t.checked;Q(t,"checked",null),t.checked=o}}};t[xi]=r,Ua(r),jv()}}function Sl(t,n){var r=Yo(t);r.value===(r.value=n??void 0)||t.value===n&&(n!==0||t.nodeName!==df)||(t.value=n??"")}function ql(t,n){var r=Yo(t);r.checked!==(r.checked=n??void 0)&&(t.checked=n)}function Q(t,n,r,a){var o=Yo(t);if(ot&&(o[n]=t.getAttribute(n),n==="src"||n==="srcset"||n==="href"&&t.nodeName===ff)){a||void 0;return}o[n]!==(o[n]=r)&&(n==="loading"&&(t[Bu]=r),r==null?t.removeAttribute(n):typeof r!="string"&&_f(t).includes(n)?t[n]=r:t.setAttribute(n,r))}function Yo(t){var n;return(n=t)[Js]??(n[Js]={[uf]:t.nodeName.includes("-"),[cf]:t.namespaceURI==="http://www.w3.org/1999/xhtml"})}var Ml=new Map;function _f(t){var n=t.getAttribute("is")||t.nodeName,r=Ml.get(n);if(r)return r;Ml.set(n,r=[]);for(var a,o=t,f=Element.prototype;f!==o;){a=sv(o);for(var i in a)a[i].set&&i!=="innerHTML"&&i!=="textContent"&&i!=="innerText"&&r.push(i);o=Eo(o)}return r}var Bs=null;function pf(){if(Bs===null){var t=Wo("select");t.innerHTML=Zv(""),Bs=t.firstChild?.firstChild?.nodeType===1}return Bs}function _n(t,n){var r=ot;pf()||(sa(!1),t.textContent="",t.append(Lc("")));try{n()}finally{r&&(ot?u(t):(sa(!0),Br(t)))}}function qe(t,n,r=n){var a=new WeakSet;qs(t,"input",async o=>{var f=o?t.defaultValue:t.value;if(f=Us(t)?Hs(f):f,r(f),Qe!==null&&a.add(Qe),await zo(),f!==(f=n())){var i=t.selectionStart,d=t.selectionEnd,b=t.value.length;if(t.value=f??"",d!==null){var p=t.value.length;i===d&&d===b&&p>b?(t.selectionStart=p,t.selectionEnd=p):(t.selectionStart=i,t.selectionEnd=Math.min(d,p))}}}),(ot&&t.defaultValue!==t.value||v(n)==null&&t.value)&&(r(Us(t)?Hs(t.value):t.value),Qe!==null&&a.add(Qe)),za(()=>{var o=n();if(t===document.activeElement){var f=ha?Mi:Qe;if(a.has(f))return}Us(t)&&o===Hs(t.value)||t.type==="date"&&!o&&!t.value||o!==t.value&&(t.value=o??"")})}function _r(t,n,r=n){qs(t,"change",a=>{r(a?t.defaultChecked:t.checked)}),(ot&&t.defaultChecked!==t.checked||v(n)==null)&&r(t.checked),za(()=>{var a=n();t.checked=!!a})}function Us(t){var n=t.type;return n==="number"||n==="range"}function Hs(t){return t===""?null:+t}function El(t,n,r=n){qs(t,"change",()=>{r(t.files)}),ot&&t.files&&r(t.files),za(()=>{t.files=n()})}function hf(t,n,r){var a=Wa(t,n);a&&a.set&&(t[n]=r,Ms(()=>{t[n]=null}))}var iu,Hn=new WeakMap,hs=new WeakMap,zs=new WeakMap,Tl=new WeakSet,Go=class{constructor(t){Do(this,Tl),tt(this,Hn,new WeakMap),tt(this,hs,void 0),tt(this,zs,void 0),Ke(zs,this,t)}observe(t,n){var r=L(Hn,this).get(t)||new Set;return r.add(n),L(Hn,this).set(t,r),_t(Tl,this,mf).call(this).observe(t,L(zs,this)),()=>{var a=L(Hn,this).get(t);a.delete(n),a.size===0&&(L(Hn,this).delete(t),L(hs,this).unobserve(t))}}};iu=Go;function mf(){return L(hs,this)??Ke(hs,this,new ResizeObserver(t=>{for(var n of t){iu.entries.set(n.target,n);for(var r of L(Hn,this).get(n.target)||[])r(n)}}))}pr(Go,"entries",new WeakMap);var gf=new Go({box:"border-box"});function $n(t,n,r){var a=gf.observe(t,()=>r(t[n]));Es(()=>(v(()=>r(t[n])),a))}function Ys(t,n){return t===n||t?.[Na]===n}function ms(t={},n,r,a){var o=Dt.r,f=lt;return Es(()=>{var i,d;return za(()=>{i=d,d=a?.()||[],v(()=>{Ys(r(...d),t)||(n(t,...d),i&&Ys(r(...i),t)&&n(null,...i))})}),()=>{let b=f;for(;b!==o&&b.parent!==null&&b.parent.f&33554432;)b=b.parent;const p=()=>{d&&Ys(r(...d),t)&&n(null,...d)},S=b.teardown;b.teardown=()=>{p(),S?.()}}}),t}function On(t){return function(...n){return n[0].preventDefault(),t?.apply(this,n)}}function Mt(t=!1){const n=Dt,r=n.l.u;if(!r)return;let a=()=>$(n.s);if(t){let o=0,f={};const i=Qn(()=>{let d=!1;const b=n.s;for(const p in b)b[p]!==f[p]&&(f[p]=b[p],d=!0);return d&&o++,o});a=()=>e(i)}r.b.length&&Rc(()=>{Al(n,a),is(r.b)}),vo(()=>{const o=v(()=>r.m.map(Ru));return()=>{for(const f of o)typeof f=="function"&&f()}}),r.a.length&&vo(()=>{Al(n,a),is(r.a)})}function Al(t,n){if(t.l.s)for(const r of t.l.s)e(r);n()}function Pl(t,n){var r=t.$$events?.[n.type];for(var a of Ai(r)?r.slice():r==null?[]:[r])a.call(this,n)}var bf={get(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(si(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a)return a[n]}},set(t,n,r){let a=t.props.length;for(;a--;){let o=t.props[a];si(o)&&(o=o());const f=Wa(o,n);if(f&&f.set)return f.set(r),!0}return!1},getOwnPropertyDescriptor(t,n){let r=t.props.length;for(;r--;){let a=t.props[r];if(si(a)&&(a=a()),typeof a=="object"&&a!==null&&n in a){const o=Wa(a,n);return o&&!o.configurable&&(o.configurable=!0),o}}},has(t,n){if(n===Na||n===Po)return!1;for(let r of t.props)if(si(r)&&(r=r()),r!=null&&n in r)return!0;return!1},ownKeys(t){const n=[];for(let r of t.props)if(si(r)&&(r=r()),!!r){for(const a in r)n.includes(a)||n.push(a);for(const a of Object.getOwnPropertySymbols(r))n.includes(a)||n.push(a)}return n}};function Ol(...t){return new Proxy({props:t},bf)}function de(t,n,r,a){var o=!ei||(r&2)!==0,f=(r&8)!==0,i=(r&16)!==0,d=a,b=!0,p=void 0,S=()=>i&&o?(p??(p=Qn(a)),e(p)):(b&&(b=!1,d=i?v(a):a),d);let s;if(f){var m=Na in t||Po in t;s=Wa(t,n)?.set??(m&&n in t?T=>t[n]=T:void 0)}var k,g=!1;f?[k,g]=fc(()=>t[n]):k=t[n],k===void 0&&a!==void 0&&(k=S(),s&&(o&&Zu(n),s(k)));var A;if(o?A=()=>{var T=t[n];return T===void 0?S():(b=!0,T)}:A=()=>{var T=t[n];return T!==void 0&&(d=void 0),T===void 0?d:T},o&&(r&4)===0)return A;if(s){var P=t.$$legacy;return(function(T,O){return arguments.length>0?((!o||!O||P||g)&&s(O?A():T),T):A()})}var R=!1,Y=((r&1)!==0?Qn:Ce)(()=>(R=!1,A()));f&&e(Y);var H=lt;return(function(T,O){if(arguments.length>0){const C=O?e(Y):o&&f?Yn(T):T;return E(Y,C),R=!0,d!==void 0&&(d=C),T}return Ha&&R||(H.f&16384)!==0?Y.v:e(Y)})}function xf(t){return new yf(t)}var sn=new WeakMap,Ta=new WeakMap,yf=class{constructor(t){tt(this,sn,void 0),tt(this,Ta,void 0);var n=new Map,r=(o,f)=>{var i=W(f,!1,!1);return n.set(o,i),i};const a=new Proxy({...t.props||{},$$events:{}},{get(o,f){return e(n.get(f)??r(f,Reflect.get(o,f)))},has(o,f){return f===Po?!0:(e(n.get(f)??r(f,Reflect.get(o,f))),Reflect.has(o,f))},set(o,f,i){return E(n.get(f)??r(f,i),i),Reflect.set(o,f,i)}});Ke(Ta,this,(t.hydrate?ef:As)(t.component,{target:t.target,anchor:t.anchor,props:a,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),!ha&&(!t?.props?.$$host||t.sync===!1)&&Mv(),Ke(sn,this,a.$$events);for(const o of Object.keys(L(Ta,this)))o==="$set"||o==="$destroy"||o==="$on"||iv(this,o,{get(){return L(Ta,this)[o]},set(f){L(Ta,this)[o]=f},enumerable:!0});L(Ta,this).$set=o=>{Object.assign(a,o)},L(Ta,this).$destroy=()=>{tu(L(Ta,this))}}$set(t){L(Ta,this).$set(t)}$on(t,n){L(sn,this)[t]=L(sn,this)[t]||[];const r=(...a)=>n.call(this,...a);return L(sn,this)[t].push(r),()=>{L(sn,this)[t]=L(sn,this)[t].filter(a=>a!==r)}}$destroy(){L(Ta,this).$destroy()}},wf;typeof HTMLElement=="function"&&(wf=class extends HTMLElement{constructor(t,n,r){super(),pr(this,"$$ctor",void 0),pr(this,"$$s",void 0),pr(this,"$$c",void 0),pr(this,"$$cn",!1),pr(this,"$$d",{}),pr(this,"$$r",!1),pr(this,"$$p_d",{}),pr(this,"$$l",{}),pr(this,"$$l_u",new Map),pr(this,"$$me",void 0),pr(this,"$$shadowRoot",null),this.$$ctor=t,this.$$s=n,r&&(this.$$shadowRoot=this.attachShadow(r))}addEventListener(t,n,r){if(this.$$l[t]=this.$$l[t]||[],this.$$l[t].push(n),this.$$c){const a=this.$$c.$on(t,n);this.$$l_u.set(n,a)}super.addEventListener(t,n,r)}removeEventListener(t,n,r){if(super.removeEventListener(t,n,r),this.$$c){const a=this.$$l_u.get(n);a&&(a(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let n=function(o){return f=>{const i=Wo("slot");o!=="default"&&(i.name=o),q(f,i)}};var t=n;if(await Promise.resolve(),!this.$$cn||this.$$c)return;const r={},a=kf(this);for(const o of this.$$s)o in a&&(o==="default"&&!this.$$d.children?(this.$$d.children=n(o),r.default=!0):r[o]=n(o));for(const o of this.attributes){const f=this.$$g_p(o.name);f in this.$$d||(this.$$d[f]=Gs(f,o.value,this.$$p_d,"toProp"))}for(const o in this.$$p_d)!(o in this.$$d)&&this[o]!==void 0&&(this.$$d[o]=this[o],delete this[o]);this.$$c=xf({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=jc(()=>{za(()=>{this.$$r=!0;for(const o of nl(this.$$c)){if(!this.$$p_d[o]?.reflect)continue;this.$$d[o]=this.$$c[o];const f=Gs(o,this.$$d[o],this.$$p_d,"toAttribute");f==null?this.removeAttribute(this.$$p_d[o].attribute||o):this.setAttribute(this.$$p_d[o].attribute||o,f)}this.$$r=!1})});for(const o in this.$$l)for(const f of this.$$l[o]){const i=this.$$c.$on(o,f);this.$$l_u.set(f,i)}this.$$l={}}}attributeChangedCallback(t,n,r){this.$$r||(t=this.$$g_p(t),this.$$d[t]=Gs(t,r,this.$$p_d,"toProp"),this.$$c?.$set({[t]:this.$$d[t]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(t){return nl(this.$$p_d).find(n=>this.$$p_d[n].attribute===t||!this.$$p_d[n].attribute&&n.toLowerCase()===t)||t}});function Gs(t,n,r,a){const o=r[t]?.type;if(n=o==="Boolean"&&typeof n!="boolean"?n!=null:n,!a||!r[t])return n;if(a==="toAttribute")switch(o){case"Object":case"Array":return n==null?null:JSON.stringify(n);case"Boolean":return n?"":null;case"Number":return n??null;default:return n}else switch(o){case"Object":case"Array":return n&&JSON.parse(n);case"Boolean":return n;case"Number":return n!=null?+n:n;default:return n}}function kf(t){const n={};return t.childNodes.forEach(r=>{n[r.slot||"default"]=!0}),n}if(0)var R1;function Ps(t){Dt===null&&ws("onMount"),ei&&Dt.l!==null?ou(Dt).m.push(t):vo(()=>{const n=v(t);if(typeof n=="function")return n})}function su(t){Dt===null&&ws("onDestroy"),Ps(()=>()=>v(t))}function $f(t,n,{bubbles:r=!1,cancelable:a=!1}={}){return new CustomEvent(t,{detail:n,bubbles:r,cancelable:a})}function Sf(){const t=Dt;return t===null&&ws("createEventDispatcher"),(n,r,a)=>{const o=t.s.$$events?.[n];if(o){const f=Ai(o)?o.slice():[o],i=$f(n,r,a);for(const d of f)d.call(t.x,i);return!i.defaultPrevented}return!0}}function qf(t){Dt===null&&ws("afterUpdate"),Dt.l===null&&Qu("afterUpdate"),ou(Dt).a.push(t)}function ou(t){var n=t.l;return n.u??(n.u={a:[],b:[],m:[]})}if(typeof window<"u"){var Cl,Nl;((Cl=(Nl=window).__svelte??(Nl.__svelte={})).v??(Cl.v=new Set)).add("5")}sc();function Mf(t,n){if(t instanceof RegExp)return{keys:!1,pattern:t};var r,a,o,f,i=[],d="",b=t.split("/");for(b[0]||b.shift();o=b.shift();)r=o[0],r==="*"?(i.push("wild"),d+="/(.*)"):r===":"?(a=o.indexOf("?",1),f=o.indexOf(".",1),i.push(o.substring(1,~a?a:~f?f:o.length)),d+=~a&&!~f?"(?:/([^/]+?))?":"/([^/]+?)",~f&&(d+=(~a?"?":"")+"\\"+o.substring(f))):d+="/"+o;return{keys:i,pattern:new RegExp("^"+d+(n?"(?=$|/)":"/?$"),"i")}}function Ll(){const t=window.location.href.indexOf("#/");let n=t>-1?window.location.href.substr(t+1):"/";const r=n.indexOf("?");let a="";return r>-1&&(a=n.substr(r+1),n=n.substr(0,r)),{location:n,querystring:a}}var Ko=Lo(null,function(n){n(Ll());const r=()=>{n(Ll())};return window.addEventListener("hashchange",r,!1),function(){window.removeEventListener("hashchange",r,!1)}}),N1=hv(Ko,t=>t.location),L1=hv(Ko,t=>t.querystring),Dl=ea(void 0);async function Za(t){if(!t||t.length<1||t.charAt(0)!="/"&&t.indexOf("#/")!==0)throw Error("Invalid parameter location");await zo(),history.replaceState({...history.state,__svelte_spa_router_scrollX:window.scrollX,__svelte_spa_router_scrollY:window.scrollY},void 0),window.location.hash=(t.charAt(0)=="#"?"":"#")+t}function Ef(t){t?window.scrollTo(t.__svelte_spa_router_scrollX,t.__svelte_spa_router_scrollY):window.scrollTo(0,0)}function Tf(t,n){xt(n,!1);let r=de(n,"routes",24,()=>({})),a=de(n,"prefix",8,""),o=de(n,"restoreScrollState",8,!1);class f{constructor(C,B){if(!B||typeof B!="function"&&(typeof B!="object"||B._sveltesparouter!==!0))throw Error("Invalid component object");if(!C||typeof C=="string"&&(C.length<1||C.charAt(0)!="/"&&C.charAt(0)!="*")||typeof C=="object"&&!(C instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:J,keys:te}=Mf(C);this.path=C,typeof B=="object"&&B._sveltesparouter===!0?(this.component=B.component,this.conditions=B.conditions||[],this.userData=B.userData,this.props=B.props||{}):(this.component=()=>Promise.resolve(B),this.conditions=[],this.props={}),this._pattern=J,this._keys=te}match(C){if(a()){if(typeof a()=="string")if(C.startsWith(a()))C=C.substr(a().length)||"/";else return null;else if(a()instanceof RegExp){const le=C.match(a());if(le&&le[0])C=C.substr(le[0].length)||"/";else return null}}const B=this._pattern.exec(C);if(B===null)return null;if(this._keys===!1)return B;const J={};let te=0;for(;te{i.push(new f(C,O))}):Object.keys(r()).forEach(O=>{i.push(new f(O,r()[O]))});let d=W(null),b=W(null),p=W({});const S=Sf();async function s(O,C){await zo(),S(O,C)}let m=null,k=null;o()&&(k=O=>{O.state&&(O.state.__svelte_spa_router_scrollY||O.state.__svelte_spa_router_scrollX)?m=O.state:m=null},window.addEventListener("popstate",k),qf(()=>{Ef(m)}));let g=null,A=null;const P=Ko.subscribe(async O=>{g=O;let C=0;for(;C{Dl.set(e(b))});return}E(d,null),A=null,Dl.set(void 0)});su(()=>{P(),k&&window.removeEventListener("popstate",k)}),gr(()=>$(o()),()=>{history.scrollRestoration=o()?"manual":"auto"}),kr(),Mt();var R=Mr(),Y=fe(R),H=O=>{var C=Mr(),B=fe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol({get params(){return e(b)}},()=>e(p),{$$events:{routeEvent(le){Pl.call(this,n,le)}}}))}),q(O,C)},T=O=>{var C=Mr(),B=fe(C);wl(B,()=>e(d),(J,te)=>{te(J,Ol(()=>e(p),{$$events:{routeEvent(le){Pl.call(this,n,le)}}}))}),q(O,C)};I(Y,O=>{e(b)?O(H):O(T,-1)}),q(t,R),yt()}function Aa(t){return t===1?"green":t===2?"yellow":t===3?"red":"gray"}function Af(t,n){return t>218&&t<242?"#23ac05":t>212&&t<248?"#b1d900":t>208&&t<252?"#a3b200":"#b20000"}function es(t,n){let r;return t>90?r="#b20000":t>85?r="#b19601":t>80?r="#a3b200":t>75?r="#569f12":r="#23ac05",r}function ui(t){return t>75?"#23ac05":t>50?"#77d900":t>25?"#94d900":"#569f12"}function gs(t){switch(t){case 1:return"Aidon";case 2:return"Kaifa";case 3:return"Kamstrup";case 8:return"Iskra";case 9:return"Landis+Gyr";case 10:return"Sagemcom";default:return"Unknown"}}function Ht(t){for(t=t.toString();t.length<2;)t="0"+t;return t}function Re(t,n){switch(n){case 5:switch(t){case"esp8266":return"Pow-K (GPIO12)";case"esp32s2":return"Pow-K+"}case 7:switch(t){case"esp8266":return"Pow-U (GPIO12)";case"esp32s2":return"Pow-U+"}case 6:return"Pow-P1";case 51:return"Wemos S2 mini";case 50:return"Generic ESP32-S2";case 201:return"Wemos LOLIN D32";case 202:return"Adafruit HUZZAH32";case 203:return"DevKitC";case 241:return"LilyGO T-ETH-POE";case 242:return"M5 PoESP32";case 243:return"WT32-ETH01";case 245:return"wESP32";case 200:return"Generic ESP32";case 2:return"HAN Reader 2.0 by Max Spencer";case 0:return"Custom hardware by Roar Fredriksen";case 1:return"Kamstrup module by Egil Opsahl";case 8:return"µHAN mosquito by dbeinder";case 3:return"Pow-K (UART0)";case 4:return"Pow-U (UART0)";case 101:return"Wemos D1 mini";case 100:return"Generic ESP8266";case 70:return"Generic ESP32-C3";case 71:return"ESP32-C3-DevKitM-1";case 80:return"Generic ESP32-S3"}return"Unknown"}function Sn(t){switch(t){case 2:case 4:case 7:return!0}return!1}function Wt(t,n){return t==1||t==2&&n}function Jt(t){let n="https://wiki.amsleser.no";return t&&(n+="/en/firmware#"+t),n}function Ut(t,n){return t==null||isNaN(t)?"-":(isNaN(n)&&(n=t<1?2:t<10?1:0),t.toFixed(n))}function Ja(t,n){return t.setTime(t.getTime()+n*36e5),t}function Pf(t,n){return t.setTime(t.getTime()+n*6e4),t}function Of(t){return t=="EOE"?"ENTSO-E":t=="HKS"?"hvakosterstrommen.no":t=="EDS"?"Energi Data Service":t=="MIX"?"Mixed sources":t=="FIX"?"Fixed price":"Unknown ("+t+")"}function Rl(t){return t=="EOE"?"https://transparency.entsoe.eu/":t=="HKS"?"https://www.hvakosterstrommen.no/":t=="EDS"?"https://www.energidataservice.dk/":t=="FIX"?"/priceconfig":"#"}var zi=0;function Ti(t,n){var r="";zi++;var a=function(){setTimeout(Ti,1e3,t,n)};if(t.net.ip&&zi%3==0){if(!t.net.ip){a();return}r="http://"+t.net.ip}else t.hostname&&zi%3==1?r="http://"+t.hostname:t.hostname&&zi%3==2?r="http://"+t.hostname+".local":r="";console&&console.log("Trying url "+r),n&&n(r);var o=new XMLHttpRequest;o.timeout=5e3,o.addEventListener("abort",a),o.addEventListener("error",a),o.addEventListener("timeout",a),o.addEventListener("load",function(f){window.location.href=r||"/"}),o.open("GET",r+"/is-alive",!0),o.send()}function dr(t){return t.charAt(0).toUpperCase()+t.slice(1)}function jl(t){return t.startsWith("esp32")?"esp32":t}function Nr(t,n){let r=[t,n];return typeof t>"u"?(r[0]="-",r[1]=n):t>=1e9?(r[0]=(t/1e6).toFixed(t>1e10?0:1),r[1]="M"+n):t>1e4?(r[0]=(t/1e3).toFixed(t>1e6?0:t>1e5?1:2),r[1]="k"+n):(r[0]=t.toFixed(0),r[1]=n),r}function mi(t,n){let r=[Ut(t,2),n];if(typeof t>"u")r[0]="-",r[1]=n;else if(Math.abs(t*100)<100){switch(r[0]=Ut(t*100,2),n){case"NOK":case"DKK":n="øre";break;case"SEK":n="öre";break;case"EUR":n="cent";break;case"CHF":n="rp.";break;default:n=n+"/100"}r[1]=n}return r}var pn="((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}",ja="[\\x20-\\x7E]+",Gn="[\\x20-\\xFF]+",ts="[A-Za-z0-9_\\-]+",Fl="[0-9A-Fa-f]+",ci="[0-9]+",rs={},po=[];async function Cf(t,n={}){const{timeout:r=8e3}=n,a=new AbortController,o=setTimeout(()=>a.abort(),r),f=await fetch(t,{...n,signal:a.signal});return clearTimeout(o),f}var Ks;async function lu(){if(po.length){let t=po.shift();delete rs[t.resource];try{let n=await Cf(t.resource,t.options);for(let r in t.callbacks)t.callbacks[r](n.clone())}catch(n){console.error("Error calling "+t.resource,n);for(let r in t.callbacks)t.callbacks[r]()}}Ks&&clearTimeout(Ks),Ks=setTimeout(lu,100)}lu();async function la(t,n={}){let r;return rs[t]?r=rs[t]:(r={resource:t,options:n,callbacks:[]},rs[t]=r,po.push(r)),new Promise(a=>r.callbacks.push(a))}var Oa={version:"",chip:"",mac:null,apmac:null,vndcfg:null,usrcfg:null,fwconsent:null,booting:!1,upgrading:!1,ui:{},security:0,boot_reason:0,upgrade:{x:-1,e:0,f:null,t:null},trying:null,if:{eth:!1}};async function hn(){Oa=await(await la("sysinfo.json?t="+Math.floor(Date.now()/1e3))).json(),qr.set(Oa)}var qr=ea(Oa,t=>(hn(),function(){}));function Nf(t){qr.update(n=>(n.trying=t,n))}var Yi=0,Il=-127,Wl=null,Lf={},Os=Lo(Lf,t=>{let n,r;async function a(){la("data.json").then(o=>o.json()).then(o=>{t(o),Il!=o.t&&(Il=o.t,setTimeout(Df,2e3)),o.pe&&o.p!=Wl&&(Wl=o.p,cu()),(!Oa||!Oa.chip||Oa.booting||Yi>1&&!Sn(Oa.board))&&(hn(),Fa&&clearTimeout(Fa),Fa=setTimeout(go,2e3),Ia&&clearTimeout(Ia),Ia=setTimeout(xo,3e3)),o.u,Fa||(Fa=go()),Ia||(Ia=xo());let f=5e3;if(Sn(Oa.board)&&o.v>2.5){let i=3.3-Math.min(3.3,o.v);i>0&&(f=Math.max(i,.1)*10*5e3)}f>5e3&&console.log("Next in "+f+"ms"),n&&clearTimeout(n),n=setTimeout(a,f),Yi=0}).catch(o=>{Yi++,Yi>3?(t({em:3,hm:0,wm:0,mm:0}),n=setTimeout(a,15e3),r||(r=setTimeout(Ti,5e3,Oa,Nf))):n=setTimeout(a,Sn(Oa.board)?1e4:5e3)})}return a(),function(){clearTimeout(n)}}),Gi,as={},vu=ea(as),ho={},uu=ea(ho);async function cu(){Gi&&(clearTimeout(Gi),Gi=0),as=await(await la("importprice.json")).json(),vu.set(as),as?.importExportPriceDifferent&&(ho=await(await la("exportprice.json")).json(),uu.set(ho)),Gi=setTimeout(cu,(24-new Date().getHours())*36e5+10)}var mo={},Fa;async function go(){Fa&&(clearTimeout(Fa),Fa=0),mo=await(await la("dayplot.json")).json(),Vo.set(mo),Fa=setTimeout(go,(60-new Date().getMinutes())*6e4+20)}var Vo=ea(mo,t=>function(){}),bo={},Ia;async function xo(){Ia&&(clearTimeout(Ia),Ia=0),bo=await(await la("monthplot.json")).json(),Xo.set(bo),Ia=setTimeout(xo,(24-new Date().getHours())*36e5+40)}var Xo=ea(bo,t=>function(){}),yo={};async function Df(){yo=await(await la("temperature.json")).json(),fu.set(yo)}var fu=ea(yo,t=>function(){}),wo={},Ki;async function du(){Ki&&(clearTimeout(Ki),Ki=0),wo=await(await la("tariff.json")).json(),_u.set(wo),Ki=setTimeout(du,(60-new Date().getMinutes())*6e4+30)}var _u=ea(wo,t=>function(){}),zn={c:-1,n:[]};async function Rf(){let t=await(await la("wifiscan.json",{timeout:3e4})).json(),n=[];zn.c=0,zn.n=[];for(let r=0;r(Rf(),function(){})),ko=!1,Xr=ea(ko);async function pu(t){ko=await(await la("translations.json"+(t?"?lang="+t:""))).json(),Xr.set(ko)}pu();function Bl(t){return"WARNING: "+t+" must be connected to an external power supply during firmware upgrade. Failure to do so may cause power-down during upload resulting in non-functioning unit."}async function hu(t){return await(await fetch("upgrade?expected_version="+t,{method:"POST"})).json()}var jf=F(" ",1);function Ff(t,n){xt(n,!1);let r=de(n,"epoch",8),a=W({});Xr.subscribe(S=>{E(a,S)});let o=W(0),f=W(0),i=W(0);gr(()=>$(r()),()=>{E(o,Math.floor(r()/86400)),E(f,Math.floor(r()/3600)),E(i,Math.floor(r()/60))}),kr(),Mt();var d=Mr(),b=fe(d),p=S=>{var s=jf(),m=fe(s),k=l(m),g=O=>{var C=da();j(()=>h(C,`${e(o)??""} ${e(a),v(()=>e(a).common?.days??"d")??""}`)),q(O,C)},A=O=>{var C=da();j(()=>h(C,`${e(o)??""} ${e(a),v(()=>e(a).common?.day??"d")??""}`)),q(O,C)},P=O=>{var C=da();j(()=>h(C,`${e(f)??""} ${e(a),v(()=>e(a).common?.hours??"h")??""}`)),q(O,C)},R=O=>{var C=da();j(()=>h(C,`${e(f)??""} ${e(a),v(()=>e(a).common?.hour??"h")??""}`)),q(O,C)},Y=O=>{var C=da();j(()=>h(C,`${e(i)??""} ${e(a),v(()=>e(a).common?.minutes??"m")??""}`)),q(O,C)},H=O=>{var C=da();j(()=>h(C,`${e(i)??""} ${e(a),v(()=>e(a).common?.minute??"m")??""}`)),q(O,C)},T=O=>{var C=da();j(()=>h(C,`${r()??""} ${e(a),v(()=>e(a).common?.seconds??"s")??""}`)),q(O,C)};I(k,O=>{e(o)>1?O(g):e(o)>0?O(A,1):e(f)>1?O(P,2):e(f)>0?O(R,3):e(i)>1?O(Y,4):e(i)>0?O(H,5):O(T,-1)}),j(()=>h(m,`${e(a),v(()=>e(a).header?.uptime??"Up")??""} `)),q(S,s)};I(b,S=>{r()&&S(p)}),q(t,d),yt()}var If=F(" ");function mn(t,n){let r=de(n,"color",8),a=de(n,"title",8),o=de(n,"text",8);var f=If(),i=c(f,!0);u(f),j(()=>{Q(f,"title",a()),Zr(f,1,`bd-${r()??""}`),h(i,o())}),q(t,f)}var Wf=F(" ");function mu(t,n){xt(n,!1);let r=W({});Xr.subscribe(s=>{E(r,s)});let a=de(n,"timestamp",8),o=de(n,"fullTimeColor",8),f=de(n,"offset",8),i=W();gr(()=>($(a()),$(f()),Ja),()=>{E(i,Math.abs(new Date().getTime()-a().getTime())<3e5),isNaN(f())||Ja(a(),f()-(24+a().getHours()-a().getUTCHours())%24)}),kr(),Mt();var d=Mr(),b=fe(d),p=s=>{var m=da();j(k=>h(m,k),[()=>($(Ht),$(a()),e(r),v(()=>`${Ht(a().getDate())}. ${e(r).months?e(r).months?.[a().getMonth()]:Ht(a().getMonth()+1)} ${Ht(a().getHours())}:${Ht(a().getMinutes())}`))]),q(s,m)},S=s=>{var m=Wf(),k=c(m,!0);u(m),j(g=>{Zr(m,1,o()),h(k,g)},[()=>($(Ht),$(a()),v(()=>`${Ht(a().getDate())}.${Ht(a().getMonth()+1)}.${a().getFullYear()} ${Ht(a().getHours())}:${Ht(a().getMinutes())}`))]),q(s,m)};I(b,s=>{e(i)?s(p):s(S,-1)}),q(t,d),yt()}var Bf=ta('');function Uf(t){var n=Bf();q(t,n)}var Hf=ta('');function zf(t){var n=Hf();q(t,n)}var Yf=ta('');function Gf(t){var n=Yf();q(t,n)}var Kf=F('
'),Vs=F('
'),Vf=F('
',1),Xf=F('
'),Qf=F(''),Zf=F(" "),Jf=F('
'),ed=F('');function td(t,n){xt(n,!1);let r=de(n,"basepath",8,"/"),a=de(n,"data",24,()=>({})),o=W({});function f(){confirm((e(d).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(o).upgrade.n))&&(hu(e(o).upgrade.n),qr.update(be=>(be.upgrade.t=e(o).upgrade.n,be.upgrade.p=0,be.upgrading=!0,be)))}let i=W();qr.subscribe(be=>{E(o,be)});let d=W({});Xr.subscribe(be=>{E(d,be)}),gr(()=>e(o),()=>{E(i,Math.max(0,e(o).upgrade.p))}),kr(),Mt();var b=ed(),p=c(b),S=c(p),s=c(S),m=l(c(s)),k=c(m,!0);u(m),u(s),u(S);var g=l(S,2),A=c(g);Ff(c(A),{get epoch(){return $(a()),v(()=>a().u)}}),u(A);var P=l(A,2),R=be=>{var Le=Kf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`${ct??""}°C`),[()=>($(a()),v(()=>a().t>-50?a().t.toFixed(1):"-"))]),q(be,Le)};I(P,be=>{$(a()),v(()=>a().t>-50)&&be(R)});var Y=l(P,2),H=c(Y);u(Y),u(g);var T=l(g,2),O=c(T);{let be=Ce(()=>(e(o),e(d),$(a()),v(()=>e(o).booting?e(d).header?.booting??"Booting":a().v>2?a().v.toFixed(2)+"V":"ESP"))),Le=Ce(()=>($(Aa),e(o),$(a()),v(()=>Aa(e(o).booting?2:a().em))));mn(O,{title:"ESP",get text(){return e(be)},get color(){return e(Le)}})}var C=l(O,2);{let be=Ce(()=>($(Aa),e(o),$(a()),v(()=>Aa(e(o).booting?9:a().hm))));mn(C,{title:"HAN",text:"HAN",get color(){return e(be)}})}var B=l(C,2);{let be=Ce(()=>($(a()),v(()=>a().r?a().r.toFixed(0)+"dBm":"WiFi"))),Le=Ce(()=>($(Aa),e(o),$(a()),v(()=>Aa(e(o).booting?9:a().wm))));mn(B,{title:"WiFi",get text(){return e(be)},get color(){return e(Le)}})}var J=l(B,2),te=c(J);{let be=Ce(()=>(e(d),v(()=>e(d).header?.services??"Services"))),Le=Ce(()=>(e(d),v(()=>e(d).header?.services??"Services"))),Ve=Ce(()=>($(Aa),e(o),$(a()),v(()=>Aa(e(o).booting?9:a().sa))));mn(te,{get title(){return e(be)},get text(){return e(Le)},get color(){return e(Ve)}})}u(J),u(T);var le=l(T,2),ve=be=>{var Le=Vs(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.han??"HAN")+": "+(e(d).errors?.han?.[a().he]??a().he))))),q(be,Le)};I(le,be=>{$(a()),v(()=>a().he<0||a().he>0)&&be(ve)});var Me=l(le,2),K=be=>{var Le=Vs(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.mqtt??"MQTT")+": "+(e(d).errors?.mqtt?.[a().me]??a().me))))),q(be,Le)};I(Me,be=>{$(a()),v(()=>a().me<0)&&be(K)});var x=l(Me,2),_=be=>{var Le=Vs(),Ve=c(Le,!0);u(Le),j(()=>h(Ve,(e(d),$(a()),v(()=>(e(d).header?.price??"PS")+": "+(e(d).errors?.price?.[a().ee]??a().ee))))),q(be,Le)};I(x,be=>{$(a()),v(()=>a().ee>0||a().ee<0)&&be(_)});var w=l(x,2),y=c(w),M=c(y),N=c(M);u(M),u(y);var z=l(y,2),Z=c(z);{let be=Ce(()=>($(a()),v(()=>a().c?new Date(a().c*1e3):new Date(0))));mu(Z,{get timestamp(){return e(be)},get offset(){return e(o),v(()=>e(o).clock_offset)},fullTimeColor:"text-red-500"})}u(z);var ge=l(z,2),Be=be=>{var Le=Vf(),Ve=fe(Le),ct=c(Ve);Uf(c(ct),{}),u(ct),u(Ve);var Ge=l(Ve,2),ht=c(Ge);zf(c(ht),{}),u(ht),u(Ge),j(()=>{Q(Ve,"title",(e(d),v(()=>e(d).header?.config??""))),Q(Ge,"title",(e(d),v(()=>e(d).header?.status??"")))}),q(be,Le)};I(ge,be=>{e(o),v(()=>e(o).vndcfg&&e(o).usrcfg)&&be(Be)});var Oe=l(ge,2),ze=c(Oe);Gf(c(ze),{}),u(ze),u(Oe);var pt=l(Oe,2),Ze=be=>{var Le=Xf(),Ve=c(Le);u(Le),j(ct=>h(Ve,`Upgrading to ${e(o),v(()=>e(o).upgrade.t)??""}, ${ct??""}%`),[()=>(e(i),v(()=>e(i).toFixed(1)))]),q(be,Le)},Et=be=>{var Le=Jf(),Ve=c(Le),ct=ht=>{var ut=Qf(),mt=c(ut),$r=c(mt);u(mt),u(ut),j(()=>h($r,`${e(d),v(()=>e(d).header?.new_version??"New version")??""}: ${e(o),v(()=>e(o).upgrade.n)??""}`)),He("click",ut,f),q(ht,ut)},Ge=ht=>{var ut=Zf(),mt=c(ut);u(ut),j(()=>h(mt,`${e(d),v(()=>e(d).header?.new_version??"New version")??""}: ${e(o),v(()=>e(o).upgrade.n)??""}`)),q(ht,ut)};I(Ve,ht=>{e(o),$(a()),v(()=>e(o).security==0||a().a)?ht(ct):ht(Ge,-1)}),u(Le),j(()=>Q(Le,"title",(e(d),e(o),v(()=>(e(d).header?.new_version??"New version")+": "+e(o).upgrade.n)))),q(be,Le)};I(pt,be=>{e(o),v(()=>e(o).upgrading)?be(Ze):(e(o),v(()=>e(o).fwconsent===1&&e(o).upgrade.n)&&be(Et,1))}),u(w),u(p),u(b),j((be,Le,Ve)=>{Q(s,"href",r()),h(k,(e(o),v(()=>e(o).version))),h(H,`${e(d),v(()=>e(d).header?.mem??"Free")??""}: ${be??""}kb`),Q(J,"title",(e(d),v(()=>e(d).header?.services??"Services"))),Q(N,"src",Le),Q(Oe,"title",(e(d),v(()=>e(d).header?.doc??""))),Q(ze,"href",Ve)},[()=>($(a()),v(()=>a().m?(a().m/1e3).toFixed(1):"-")),()=>($(r()),v(()=>(r()+"/logo.svg").replace("//","/"))),()=>($(Jt),v(()=>Jt("")))]),q(t,b),yt()}var rd=ta('');function ad(t,n){xt(n,!1);let r=de(n,"pct",8,0),a=de(n,"color",8,"red");function o(p,S,s,m){var k=(m-90)*Math.PI/180;return{x:p+s*Math.cos(k),y:S+s*Math.sin(k)}}function f(p,S,s,m,k){var g=o(p,S,s,k),A=o(p,S,s,m),P=k-m<=180?"0":"1";return["M",g.x,g.y,"A",s,s,0,P,0,A.x,A.y].join(" ")}Mt();var i=rd(),d=c(i),b=l(d);u(i),j((p,S)=>{Q(d,"d",p),Q(b,"d",S),Q(b,"stroke",a())},[()=>v(()=>f(150,150,115,210,510)),()=>($(r()),v(()=>f(150,150,115,210,210+300*r()/100)))]),q(t,i),yt()}var nd=F('
',1),id=F('

');function Ul(t,n){xt(n,!1);let r=de(n,"val",8),a=de(n,"max",8),o=de(n,"unit",8),f=de(n,"label",8),i=de(n,"sub",24,()=>["",""]),d=de(n,"colorFn",8),b=W(),p=W(0);gr(()=>($(r()),$(o()),$(a())),()=>{E(b,Nr(r(),o())),E(p,Math.min(r(),a())/a()*100)}),kr(),Mt();var S=id(),s=c(S);{let O=Ce(()=>($(d()),e(p),v(()=>d()(e(p),document.documentElement.classList.contains("dark")))));ad(s,{get pct(){return e(p)},get color(){return e(O)}})}var m=l(s,2),k=c(m),g=c(k,!0);u(k);var A=l(k,4),P=c(A,!0);u(A);var R=l(A,2),Y=c(R,!0);u(R);var H=l(R,2),T=O=>{var C=nd(),B=l(fe(C),2),J=c(B,!0);u(B);var te=l(B,2),le=c(te);u(te),j(()=>{h(J,($(i()),v(()=>i()[0]))),h(le,`${$(i()),v(()=>i()[1])??""}/kWh`)}),q(O,C)};I(H,O=>{i()&&O(T)}),u(m),u(S),j(()=>{h(g,f()),h(P,(e(b),v(()=>e(b)[0]))),h(Y,(e(b),v(()=>e(b)[1])))}),q(t,S),yt()}var sd=F('
');function od(t,n){let r=de(n,"title",8),a=de(n,"x",8),o=de(n,"y",8),f=W(),i=W();var d=sd(),b=c(d,!0);u(d),j(()=>{lf(d,`top: ${o()-e(i)-10}px; left: ${a()-e(f)/2}px;`),h(b,r())}),$n(d,"clientHeight",p=>E(i,p)),$n(d,"clientWidth",p=>E(f,p)),q(t,d)}var ld=500;function Hl(t){let n,r,a,o;function f(){r&&(tu(r),r=null)}function i(){if(clearTimeout(o),clearTimeout(a),f(),n=t.dataset.title||t.getAttribute("title"),!!n){var p=t.getBoundingClientRect();r=As(od,{target:document.body,props:{title:n,x:p.left+window.scrollX+p.width/2,y:p.top+window.scrollY}})}}function d(){clearTimeout(o),o=setTimeout(i,ld)}function b(){clearTimeout(o),r&&(a=setTimeout(f,500))}return t.addEventListener("click",i),t.addEventListener("mouseenter",d),t.addEventListener("mouseleave",b),{destroy(){clearTimeout(o),clearTimeout(a),f(),t.removeEventListener("click",i),t.removeEventListener("mouseenter",d),t.removeEventListener("mouseleave",b)}}}var vd=F('
'),zl=F(" "),ud=F('
'),cd=F('
'),fd=ta(' '),dd=ta(' '),_d=ta(''),Yl=ta(' '),Gl=ta("",1),pd=ta("",1),hd=ta('',1),md=F('
');function Cn(t,n){xt(n,!1);let r=de(n,"config",8),a=W(),o=W(),f=W(),i=W(),d=W(),b=W(),p=W(),S=30,s=W(0);function m(T,O){let C;function B(J){cancelAnimationFrame(C),T.style.fontSize="",J&&(C=requestAnimationFrame(()=>{try{const te=T.getBBox();if(te.width>0&&te.width>J){const le=parseFloat(getComputedStyle(T).fontSize)||12;T.style.fontSize=le*J/te.width+"px"}}catch{}}))}return B(O),{update:B,destroy(){cancelAnimationFrame(C)}}}function k(T,O,C,B){return B?T>O-C?T-C:Math.min(T+10,O-C):O-T>=C?T+C/2:T-C/2}function g(T,O,C,B){return B?T>O-C:O-T=C?T-C/2:T+C/2}function P(T,O,C,B){return B?T(e(b),e(o),e(s),e(a),$(r()),e(f)),()=>{E(b,e(o)-e(s));let T=e(a)-(r().padding.left+r().padding.right);E(f,T/r().points.length),E(p,e(f)r().y.max?B=r().padding.bottom:Ce(b)||B<0?0:B})}),kr(),Mt();var R=md(),Y=c(R),H=T=>{var O=hd(),C=fe(O),B=Me=>{var K=cd(),x=c(K),_=M=>{var N=vd(),z=c(N,!0);u(N),j(()=>h(z,($(r()),v(()=>r().title)))),$n(N,"clientHeight",Z=>E(s,Z)),q(M,N)};I(x,M=>{$(r()),v(()=>r().title)&&M(_)});var w=l(x,2),y=M=>{var N=ud(),z=c(N),Z=Be=>{var Oe=zl(),ze=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),v(()=>"#"+r().link.url))),h(ze,($(r()),v(()=>r().link.text)))}),q(Be,Oe)},ge=Be=>{var Oe=zl(),ze=c(Oe,!0);u(Oe),j(()=>{Q(Oe,"href",($(r()),v(()=>r().link.url))),Q(Oe,"target",($(r()),v(()=>r().link.target))),h(ze,($(r()),v(()=>r().link.text)))}),q(Be,Oe)};I(z,Be=>{$(r()),v(()=>r().link.route)?Be(Z):Be(ge,-1)}),u(N),q(M,N)};I(w,M=>{$(r()),v(()=>r().link)&&M(y)}),u(K),q(Me,K)};I(C,Me=>{$(r()),v(()=>r().title||r().link)&&Me(B)});var J=l(C),te=c(J);Xt(te,5,()=>($(r()),v(()=>r().y.ticks)),Vt,(Me,K)=>{var x=Mr(),_=fe(x),w=M=>{var N=fd(),z=l(c(N)),Z=c(z,!0);u(z),u(N),j(ge=>{Zr(N,0,`tick tick-${e(K),v(()=>e(K).value)??""} tick-${e(K),v(()=>e(K).color)??""}`),Q(N,"transform",`translate(0, ${ge??""})`),Q(z,"x",(e(K),v(()=>e(K).align=="right"?"90%":""))),h(Z,(e(K),v(()=>e(K).label)))},[()=>(e(d),e(K),v(()=>e(d)(e(K).value)))]),q(M,N)},y=er(()=>(e(d),e(K),v(()=>!isNaN(e(d)(e(K).value)))));I(_,M=>{e(y)&&M(w)}),q(Me,x)}),u(te);var le=l(te);Xt(le,5,()=>($(r()),v(()=>r().x.ticks)),Vt,(Me,K,x)=>{var _=Mr(),w=fe(_),y=N=>{var z=_d(),Z=c(z),ge=Be=>{var Oe=dd(),ze=c(Oe,!0);u(Oe),vi(Oe,(pt,Ze)=>m?.(pt,Ze),()=>e(f)*.85),j(()=>{Q(Oe,"x",e(f)/2),h(ze,(e(K),v(()=>e(K).label)))}),q(Be,Oe)};I(Z,Be=>{e(f),$(r()),v(()=>e(f)>20||x%2==0||!r().x.ticks[x-1].label)&&Be(ge)}),u(z),j(Be=>Q(z,"transform",`translate(${Be??""},${e(b)??""})`),[()=>(e(i),v(()=>e(i)(x)))]),q(N,z)},M=er(()=>(e(i),v(()=>!isNaN(e(i)(x)))));I(w,N=>{e(M)&&N(y)}),q(Me,_)}),u(le);var ve=l(le);Xt(ve,5,()=>($(r()),v(()=>r().points)),Vt,(Me,K,x)=>{var _=Mr(),w=fe(_),y=N=>{var z=pd(),Z=fe(z),ge=c(Z),Be=Ze=>{var Et=Gl(),be=fe(Et),Le=l(be),Ve=ct=>{var Ge=Yl(),ht=c(Ge,!0);u(Ge),vi(Ge,(ut,mt)=>m?.(ut,mt),()=>!e(K).labelAngle&&e(f)>=S?e(f)*.95:null),j((ut,mt,$r)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"text-anchor",(e(f),e(K),v(()=>e(f)e(K).labelAngle?e(K).labelAngle:e(f)e(K).label)))},[()=>(e(d),e(K),e(p),e(f),$(r()),v(()=>g(e(d)(e(K).value),e(d)(0),e(p),!!e(K).labelAngle||e(f)(e(i),e(f),v(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(K),e(p),e(f),v(()=>k(e(d)(e(K).value),e(d)(0),e(p),!!e(K).labelAngle||e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(K),v(()=>e(K).color)))},[()=>(e(i),v(()=>e(i)(x)+2)),()=>(e(d),e(K),v(()=>e(d)(e(K).value))),()=>(e(d),$(r()),e(K),v(()=>e(d)(r().y.min)-e(d)(Math.min(r().y.min,0)+e(K).value)))]),q(Ze,Et)};I(ge,Ze=>{e(K),v(()=>e(K).value!==void 0)&&Ze(Be)}),u(Z),vi(Z,Ze=>Hl?.(Ze));var Oe=l(Z),ze=c(Oe),pt=Ze=>{var Et=Gl(),be=fe(Et),Le=l(be),Ve=ct=>{var Ge=Yl();Q(Ge,"text-anchor","middle");var ht=c(Ge,!0);u(Ge),vi(Ge,(ut,mt)=>m?.(ut,mt),()=>e(f)>=S?e(f)*.95:null),j((ut,mt,$r)=>{Q(Ge,"width",e(f)*.95),Q(Ge,"fill",ut),Q(Ge,"transform",`translate(${mt??""} ${$r??""}) rotate(${e(f)e(K).label2)))},[()=>(e(d),e(K),e(p),e(f),$(r()),v(()=>P(e(d)(-e(K).value2),e(d)(0),e(p),e(f)(e(i),e(f),v(()=>e(i)(x)+e(f)/2)),()=>(e(d),e(K),e(p),e(f),v(()=>A(e(d)(-e(K).value2),e(d)(0),e(p),e(f){e(f)>15&&ct(Ve)}),j((ct,Ge,ht)=>{Q(be,"x",ct),Q(be,"y",Ge),Q(be,"width",e(f)*.95),Q(be,"height",ht),Q(be,"fill",(e(K),v(()=>e(K).color2?e(K).color2:e(K).color)))},[()=>(e(i),v(()=>e(i)(x)+2)),()=>(e(d),v(()=>e(d)(0))),()=>(e(d),$(r()),e(K),v(()=>e(d)(r().y.min)-e(d)(r().y.min+e(K).value2)))]),q(Ze,Et)};I(ze,Ze=>{e(K),v(()=>e(K).value2>1e-4)&&Ze(pt)}),u(Oe),vi(Oe,Ze=>Hl?.(Ze)),j(()=>{Q(Z,"data-title",(e(K),v(()=>e(K).title))),Q(Oe,"data-title",(e(K),v(()=>e(K).title2)))}),q(N,z)},M=er(()=>(e(i),e(d),e(K),v(()=>!isNaN(e(i)(x))&&!isNaN(e(d)(e(K).value)))));I(w,N=>{e(M)&&N(y)}),q(Me,_)}),u(ve),u(J),j(()=>Q(J,"viewBox",`0 0 ${e(a)??""} ${e(b)??""}`)),q(T,O)};I(Y,T=>{$(r()),e(b),v(()=>r().x.ticks&&r().points&&e(b))&&T(H)}),u(R),$n(R,"clientWidth",T=>E(a,T)),$n(R,"clientHeight",T=>E(o,T)),q(t,R),yt()}function gd(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"u1",8),o=de(n,"u2",8),f=de(n,"u3",8),i=de(n,"ds",8),d=W({});function b(p){return{label:Ut(p)+"V",title:p.toFixed(1)+" V",value:isNaN(p)?0:p,color:Af(p||0,document.documentElement.classList.contains("dark"))}}gr(()=>($(a()),$(i()),$(o()),$(f()),$(r())),()=>{let p=[],S=[];a()>0&&(p.push({label:i()===1?"L1-L2":"L1"}),S.push(b(a()))),o()>0&&(p.push({label:i()===1?"L1-L3":"L2"}),S.push(b(o()))),f()>0&&(p.push({label:i()===1?"L2-L3":"L3"}),S.push(b(f()))),E(d,{title:r(),padding:{top:20,right:15,bottom:20,left:35},y:{min:200,max:260,ticks:[{value:207,label:"-10%"},{value:230,label:"230V"},{value:253,label:"+10%"}]},x:{ticks:p},points:S})}),kr(),Mt(),Cn(t,{get config(){return e(d)}}),yt()}var bd=F('
');function xd(t,n){xt(n,!1);let r=de(n,"importInstant",8),a=de(n,"exportInstant",8),o=de(n,"importTotal",8),f=de(n,"exportTotal",8),i=de(n,"translations",24,()=>({})),d=W(),b=W(),p=W(),S=W();gr(()=>($(r()),$(a()),$(o()),$(f())),()=>{E(d,Nr(r(),"VAr")),E(b,Nr(a(),"VAr")),E(p,Nr(o()*1e3,"VArh")),E(S,Nr(f()*1e3,"VArh"))}),kr(),Mt();var s=bd(),m=c(s),k=c(m,!0);u(m);var g=l(m,2),A=c(g),P=c(A,!0);u(A);var R=l(A,2),Y=c(R);u(R);var H=l(R,2),T=c(H,!0);u(H);var O=l(H,2),C=c(O);u(O),u(g);var B=l(g,2),J=c(B),te=c(J,!0);u(J);var le=l(J,2),ve=c(le);u(le);var Me=l(le,2),K=c(Me,!0);u(Me);var x=l(Me,2),_=c(x);u(x),u(B),u(s),j(()=>{h(k,($(i()),v(()=>i().reactive?.title??"Reactive"))),h(P,($(i()),v(()=>i().reactive?.instant_in??"Instant in"))),h(Y,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(T,($(i()),v(()=>i().reactive?.instant_out??"Instant out"))),h(C,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(te,($(i()),v(()=>i().reactive?.total_in??"Total in"))),h(ve,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(K,($(i()),v(()=>i().reactive?.total_out??"Total out"))),h(_,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`)}),q(t,s),yt()}var Va=F('
'),yd=F('
',1),wd=F('
',1),kd=F('
',1),$d=F('


');function Sd(t,n){xt(n,!1);let r=de(n,"sysinfo",8),a=de(n,"data",8),o=de(n,"currency",8),f=de(n,"hasExport",8),i=de(n,"translations",24,()=>({})),d=W(),b=W(),p=W(),S=W(),s=W(),m=W(),k=W(),g=W(),A=W(!1),P=W(3);gr(()=>(e(A),$(a()),$(r())),()=>{E(A,a()&&a().h&&(Math.abs(a().h.c)>.01||Math.abs(a().d.c)>.01||Math.abs(a().m.c)>.01||Math.abs(a().h.i)>.01||Math.abs(a().d.i)>.01||Math.abs(a().m.i)>.01)),E(P,e(A)?3:2),E(d,Nr(a()?.h?.u*1e3,"Wh")),E(b,Nr(a()?.d?.u*1e3,"Wh")),E(p,Nr(a()?.m?.u*1e3,"Wh")),E(S,Nr(r()?.last_month?.u*1e3,"Wh")),E(s,Nr(a()?.h?.p*1e3,"Wh")),E(m,Nr(a()?.d?.p*1e3,"Wh")),E(k,Nr(a()?.m?.p*1e3,"Wh")),E(g,Nr(r()?.last_month?.p*1e3,"Wh"))}),kr(),Mt();var R=$d(),Y=c(R),H=c(Y,!0);u(Y);var T=l(Y,5),O=C=>{var B=Mr(),J=fe(B),te=ve=>{var Me=yd(),K=fe(Me),x=c(K,!0);u(K);var _=l(K,2),w=c(_),y=c(w,!0);u(w);var M=l(w,2),N=c(M);u(M);var z=l(M,2),Z=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().h.c,2)))]),q(ae,pe)};I(z,ae=>{e(A)&&ae(Z)});var ge=l(z,2),Be=c(ge,!0);u(ge);var Oe=l(ge,2),ze=c(Oe);u(Oe);var pt=l(Oe,2),Ze=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().d.c,1)))]),q(ae,pe)};I(pt,ae=>{e(A)&&ae(Ze)});var Et=l(pt,2),be=c(Et,!0);u(Et);var Le=l(Et,2),Ve=c(Le);u(Le);var ct=l(Le,2),Ge=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().m.c)))]),q(ae,pe)};I(ct,ae=>{e(A)&&ae(Ge)});var ht=l(ct,2),ut=c(ht,!0);u(ht);var mt=l(ht,2),$r=c(mt);u(mt);var Ur=l(mt,2),Ar=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(r()),v(()=>Ut(r().last_month?.c)))]),q(ae,pe)};I(Ur,ae=>{e(A)&&ae(Ar)}),u(_);var ke=l(_,2),je=c(ke,!0);u(ke);var Ye=l(ke,2),rt=c(Ye),zt=c(rt,!0);u(rt);var ft=l(rt,2),Bt=c(ft);u(ft);var Qt=l(ft,2),Rr=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().h.i,2)))]),q(ae,pe)};I(Qt,ae=>{e(A)&&ae(Rr)});var br=l(Qt,2),_e=c(br,!0);u(br);var U=l(br,2),X=c(U);u(U);var xe=l(U,2),ue=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().d.i,1)))]),q(ae,pe)};I(xe,ae=>{e(A)&&ae(ue)});var $e=l(xe,2),D=c($e,!0);u($e);var V=l($e,2),ne=c(V);u(V);var Ee=l(V,2),ce=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(a()),v(()=>Ut(a().m.i)))]),q(ae,pe)};I(Ee,ae=>{e(A)&&ae(ce)});var ye=l(Ee,2),we=c(ye,!0);u(ye);var Pe=l(ye,2),Te=c(Pe);u(Pe);var Ne=l(Pe,2),Ie=ae=>{var pe=Va(),me=c(pe);u(pe),j(he=>h(me,`${he??""} ${o()??""}`),[()=>($(Ut),$(r()),v(()=>Ut(r().last_month?.i)))]),q(ae,pe)};I(Ne,ae=>{e(A)&&ae(Ie)}),u(Ye),j((ae,pe,me,he,se,Ae)=>{h(x,($(i()),v(()=>i().common?.import??"Import"))),Zr(_,1,`grid grid-cols-${e(P)??""} mb-3`),h(y,ae),h(N,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(Be,pe),h(ze,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(be,me),h(Ve,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(ut,($(i()),v(()=>i().realtime?.last_mo??"Last mo."))),h($r,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`),h(je,($(i()),v(()=>i().common?.export??"Export"))),Zr(Ye,1,`grid grid-cols-${e(P)??""}`),h(zt,he),h(Bt,`${e(s),v(()=>e(s)[0])??""} ${e(s),v(()=>e(s)[1])??""}`),h(_e,se),h(X,`${e(m),v(()=>e(m)[0])??""} ${e(m),v(()=>e(m)[1])??""}`),h(D,Ae),h(ne,`${e(k),v(()=>e(k)[0])??""} ${e(k),v(()=>e(k)[1])??""}`),h(we,($(i()),v(()=>i().realtime?.last_mo??"Last mo."))),h(Te,`${e(g),v(()=>e(g)[0])??""} ${e(g),v(()=>e(g)[1])??""}`)},[()=>($(dr),$(i()),v(()=>dr(i().common?.hour??"Hour"))),()=>($(dr),$(i()),v(()=>dr(i().common?.day??"Day"))),()=>($(dr),$(i()),v(()=>dr(i().common?.month??"Month"))),()=>($(dr),$(i()),v(()=>dr(i().common?.hour??"Hour"))),()=>($(dr),$(i()),v(()=>dr(i().common?.day??"Day"))),()=>($(dr),$(i()),v(()=>dr(i().common?.month??"Month")))]),q(ve,Me)},le=ve=>{var Me=kd(),K=fe(Me),x=c(K,!0);u(K);var _=l(K,2),w=c(_),y=c(w,!0);u(w);var M=l(w,2),N=c(M);u(M);var z=l(M,2),Z=c(z,!0);u(z);var ge=l(z,2),Be=c(ge);u(ge);var Oe=l(ge,2),ze=c(Oe,!0);u(Oe);var pt=l(Oe,2),Ze=c(pt);u(pt);var Et=l(pt,2),be=c(Et,!0);u(Et);var Le=l(Et,2),Ve=c(Le);u(Le),u(_);var ct=l(_,2),Ge=ht=>{var ut=wd(),mt=fe(ut),$r=c(mt,!0);u(mt);var Ur=l(mt,2),Ar=c(Ur),ke=c(Ar,!0);u(Ar);var je=l(Ar,2),Ye=c(je);u(je);var rt=l(je,2),zt=c(rt,!0);u(rt);var ft=l(rt,2),Bt=c(ft);u(ft);var Qt=l(ft,2),Rr=c(Qt,!0);u(Qt);var br=l(Qt,2),_e=c(br);u(br);var U=l(br,2),X=c(U,!0);u(U);var xe=l(U,2),ue=c(xe);u(xe),u(Ur),j(($e,D,V,ne,Ee,ce,ye)=>{h($r,($(i()),v(()=>i().realtime?.cost??"Cost"))),h(ke,$e),h(Ye,`${D??""} ${o()??""}`),h(zt,V),h(Bt,`${ne??""} ${o()??""}`),h(Rr,Ee),h(_e,`${ce??""} ${o()??""}`),h(X,($(i()),v(()=>i().realtime?.last_month??"Last month"))),h(ue,`${ye??""} ${o()??""}`)},[()=>($(dr),$(i()),v(()=>dr(i().common?.hour??"Hour"))),()=>($(Ut),$(a()),v(()=>Ut(a().h.c,2))),()=>($(dr),$(i()),v(()=>dr(i().common?.day??"Day"))),()=>($(Ut),$(a()),v(()=>Ut(a().d.c,1))),()=>($(dr),$(i()),v(()=>dr(i().common?.month??"Month"))),()=>($(Ut),$(a()),v(()=>Ut(a().m.c))),()=>($(Ut),$(r()),v(()=>Ut(r().last_month?.c)))]),q(ht,ut)};I(ct,ht=>{e(A)&&ht(Ge)}),j((ht,ut,mt)=>{h(x,($(i()),v(()=>i().realtime?.consumption??"Consumption"))),h(y,ht),h(N,`${e(d),v(()=>e(d)[0])??""} ${e(d),v(()=>e(d)[1])??""}`),h(Z,ut),h(Be,`${e(b),v(()=>e(b)[0])??""} ${e(b),v(()=>e(b)[1])??""}`),h(ze,mt),h(Ze,`${e(p),v(()=>e(p)[0])??""} ${e(p),v(()=>e(p)[1])??""}`),h(be,($(i()),v(()=>i().realtime?.last_month??"Last month"))),h(Ve,`${e(S),v(()=>e(S)[0])??""} ${e(S),v(()=>e(S)[1])??""}`)},[()=>($(dr),$(i()),v(()=>dr(i().common?.hour??"Hour"))),()=>($(dr),$(i()),v(()=>dr(i().common?.day??"Day"))),()=>($(dr),$(i()),v(()=>dr(i().common?.month??"Month")))]),q(ve,Me)};I(J,ve=>{f()?ve(te):ve(le,-1)}),q(C,B)};I(T,C=>{a()&&C(O)}),u(R),j(()=>h(H,($(i()),v(()=>i().realtime?.title??"Real time calculations")))),q(t,R),yt()}function Xs(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"json",8),o=de(n,"sysinfo",8),f=W({}),i=W(),d=W(),b=document.documentElement.classList.contains("dark"),p=W(new Date);Ps(()=>{let k;function g(){E(p,new Date),k=setTimeout(()=>{g()},(15-e(p).getMinutes()%15)*6e4)}return g(),()=>{clearTimeout(k)}}),gr(()=>($(a()),e(p),e(d),e(i),$(o()),$(r()),Rl),()=>{if(a()?.prices?.length>0){E(p,new Date);let k=a()?.currency,g=0,A=[],P=[],R=[];E(d,E(i,0)),Ja(e(p),o().clock_offset-(24+e(p).getHours()-e(p).getUTCHours())%24);let Y=a()?.cursor?a().cursor:0;for(e(p).setMinutes(Math.floor(e(p).getMinutes()/a()?.resolution)*a()?.resolution,0,0);Y0&&a()?.resolution<60&&e(p).getMinutes()!=0?"":Ht(e(p).getHours())}),R.push(g*100),E(d,Math.min(e(d),g*100)),E(i,Math.max(e(i),g*100)),Pf(e(p),a()?.resolution),Y++;let H=mi(Math.max(Math.abs(e(d))/100,Math.abs(e(i))/100),k);if(H&&H[1]&&H[1]!=k)for(k=H[1],E(d,e(d)*100),E(i,e(i)*100),Y=0;Y=0?J.toFixed(te):"",title:J>=0?J.toFixed(2)+" "+k:"",value:g>=0?Math.abs(g):0,label2:J<0?J.toFixed(te):"",title2:J<0?J.toFixed(2)+" "+k:"",value2:g<0?Math.abs(g):0,color:b?"#5c2da5":"#7c3aed"})}let O=Math.max(e(i),Math.abs(e(d)));if(e(d)<0){E(d,Math.min(O/4*-1,e(d)));let J=Math.ceil(Math.abs(e(d))/O*4),te=e(d)/J;for(Y=1;Y{Cn(k,{get config(){return e(f)}})};I(s,k=>{e(f),v(()=>e(f).points&&e(f).points.length>0)&&k(m)}),q(t,S),yt()}function qd(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"json",8),o=de(n,"sysinfo",8),f=W({}),i=W(),d=W(),b=document.documentElement.classList.contains("dark");gr(()=>(e(d),e(i),$(o()),$(a()),$(r())),()=>{let p=0,S=[],s=[],m=[];E(d,E(i,0));let k=new Date,g=new Date;g.setDate(0),g.setHours(12);let A=(g.getHours()-g.getUTCHours())%24-o().clock_offset,P=k.getUTCHours();for(Ja(k,-A-24),p=P;p<24;p++){let T=a()["i"+Ht(p)],O=a()["e"+Ht(p)];T===void 0&&(T=0),O===void 0&&(O=0),s.push({label:Ht(k.getHours())}),m.push({label:T.toFixed(1),title:T.toFixed(2)+" kWh",value:T*10,label2:O.toFixed(1),title2:O.toFixed(2)+" kWh",value2:O*10,color:b?"#5c2da5":"#7c3aed",color2:b?"#27728e":"#37829e"}),E(d,Math.max(e(d),O*10)),E(i,Math.max(e(i),T*10)),Ja(k,1)}for(p=0;p(e(d),e(i),$(o()),$(a()),$(r())),()=>{let p=0,S=[],s=[],m=[];E(d,E(i,0));let k=new Date,g=new Date;g.setDate(0),g.setHours(12);let A=(g.getHours()-g.getUTCHours())%24-o().clock_offset;for(Ja(k,-A),Ja(g,-A),p=k.getDate();p<=g.getDate();p++){let H=a()["i"+Ht(p)],T=a()["e"+Ht(p)];H===void 0&&(H=0),T===void 0&&(T=0),s.push({label:Ht(p)}),m.push({label:H.toFixed(H<10?1:0),title:H.toFixed(2)+" kWh",value:H,label2:T.toFixed(T<10?1:0),title2:T.toFixed(2)+" kWh",value2:T,color:b?"#5c2da5":"#7c3aed",color2:b?"#27728e":"#37829e"}),E(d,Math.max(e(d),T)),E(i,Math.max(e(i),H))}for(p=1;p($(a()),e(d),e(i),$(r())),()=>{let b=0,p=0,S=[],s=[],m=[];a().s&&a().s.forEach((A,P)=>{var R=A.n?A.n:A.a;p=A.v,p==-127&&(p=0),s.push({label:R.slice(-4)}),m.push({label:p.toFixed(1),value:p,color:o?"#5c2da5":"#7c3aed"}),E(d,Math.min(e(d),p)),E(i,Math.max(e(i),p))}),E(i,Math.ceil(e(i))),E(d,Math.floor(e(d)));let k=e(i);e(d)<0&&(k+=Math.abs(e(d)));let g=k/4;for(b=0;b<5;b++)p=e(d)+g*b,S.push({value:p,label:p.toFixed(1)});E(f,{title:r()+" (°C)",dark:document.documentElement.classList.contains("dark"),height:226,width:1520,padding:{top:20,right:15,bottom:20,left:35},y:{min:e(d),max:e(i),ticks:S},x:{ticks:s},points:m})}),kr(),Mt(),Cn(t,{get config(){return e(f)}}),yt()}function Td(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"translations",24,()=>({})),o=document.documentElement.classList.contains("dark"),f=W({}),i=W(0),d=0,b=de(n,"tariffData",8),p=de(n,"realtime",8);gr(()=>($(b()),$(p()),$(a()),e(i),$(r())),()=>{let S=0,s=[],m=[],k=[];if(s.push({value:0,label:0}),b()&&!isNaN(p()?.h?.u)&&(k.push({label:p().h.u.toFixed(2),value:p().h.u,title:(a().common?.now??"Now")+": "+p().h.u.toFixed(2)+" kWh",color:es(p().h.u/b().c*100)}),m.push({label:a().common?.now??"Now"})),b()&&b().p){const g=[...b().p].sort((A,P)=>A.d-P.d);for(S=0;S0&&(R=Ht(A.d)+".",P=Ht(A.d)+"."+(a().months?a().months?.[new Date().getMonth()]:Ht(new Date().getMonth()+1)),g.length<4&&(R=P)),isNaN(A.h)||(P=P+" "+Ht(A.h)+":00"),P=P+": "+A.v.toFixed(2)+" kWh",k.push({label:A.v.toFixed(2),value:A.v,title:P,color:o?"#5c2da5":"#7c3aed"}),m.push({label:R}),E(i,Math.max(e(i),A.v))}}if(b()&&b().t){for(S=0;S=e(i))break;s.push({value:g,label:g})}s.push({label:b().m.toFixed(1),align:"right",color:"green",value:b().m})}b()&&b().c&&(s.push({label:b().c.toFixed(0),color:"orange",value:b().c}),E(i,Math.max(e(i),b().c))),E(i,Math.ceil(e(i))),E(f,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:30,bottom:20,left:20},y:{min:d,max:e(i),ticks:s},x:{ticks:m},points:k})}),kr(),Mt(),Cn(t,{get config(){return e(f)}}),yt()}var un=0,Ad={data:[]};async function Zo(){let t=await(await la(un<0?"realtime.json":"realtime.json?offset="+un)).json();Jo.update(n=>{for(let r=0;r=0&&(un+=t.size,unKn||$o-Kn>300?(Zo(),Qs=0):Jo.update(t=>{if(t.lastUpdate)for(;Kn>t.lastUpdate;)t.data.unshift(gu),t.data=t.data.slice(0,t.size),t.lastUpdate+=10,Qs++;else t.lastUpdate=Kn;return t})}function Cd(t){if(gu=t.i-t.e,Kn=t.u,!Kl){Zo(),Kl=!0,$o=Kn;return}Pd()&&Od()}var Nd=ta(' '),Ld=ta(' '),Dd=ta(''),Rd=F(' ',1),jd=F(' '),Fd=F('
');function Id(t,n){xt(n,!1);let r=de(n,"title",8),a=document.documentElement.classList.contains("dark"),o=W(null);Jo.subscribe(B=>{E(o,B)});let f=W(!1),i=W(),d=W(),b=W(),p=W(),S=W(),s=W(),m=W(),k=function(B,J,te){return Math.ceil(e(S)-(B-J)/(te-J)*e(S))-25},g=function(B){return 30+Math.ceil(B/e(o).size*(e(s)-35))},A=W(),P=W(),R=W(),Y=W();gr(()=>(e(S),e(p),e(s),e(b),e(R),e(o),e(d),e(i),e(A),e(P),e(m)),()=>{if(E(S,parseInt(e(p))-50),E(s,e(b)-35),E(R,e(s)/e(o).size),E(d,0),E(i,0),e(o).data&&e(S)>10&&e(s)>100&&e(R)>.1){E(f,!0);for(let te in e(o).data){let le=e(o).data[te];isNaN(le)&&(le=0),E(i,Math.max(Math.ceil(le/1e3)*1e3,e(i))),E(d,Math.min(Math.floor(le/1e3)*1e3,e(d)))}let B=e(i)-e(d);E(Y,e(i)>2500?"kW":"W"),E(A,[]);for(let te=e(d);te2500?(te/1e3).toFixed(1):te}),!(e(A).length>6));te+=B/5);E(P,[]);for(let te=0;te12));te+=Math.round(e(o).size/Math.round(e(s)/120)));let J=e(o).size;E(m,g(e(o).size)+","+k(0,e(d),e(i))+" "+g(1)+","+k(0,e(d),e(i)));for(let te in e(o).data){if(J<0)break;let le=e(o).data[te];isNaN(le)&&(le=0),E(m,g(J--)+","+k(le,e(d),e(i))+" "+e(m))}}else E(f,!1)}),kr(),Mt();var H=Fd(),T=c(H),O=B=>{var J=Rd(),te=fe(J),le=c(te);u(te);var ve=l(te,2),Me=K=>{var x=Dd(),_=c(x);Xt(_,5,()=>e(A),Vt,(M,N)=>{var z=Mr(),Z=fe(z),ge=Oe=>{var ze=Nd(),pt=l(c(ze)),Ze=c(pt,!0);u(pt),u(ze),j(Et=>{Zr(ze,0,`tick tick-${e(N),v(()=>e(N).value)??""}`),Q(ze,"transform",`translate(0, ${Et??""})`),h(Ze,(e(N),v(()=>e(N).label)))},[()=>(e(N),e(d),e(i),v(()=>k(e(N).value,e(d),e(i))))]),q(Oe,ze)},Be=er(()=>(e(N),e(d),e(i),v(()=>!isNaN(k(e(N).value,e(d),e(i))))));I(Z,Oe=>{e(Be)&&Oe(ge)}),q(M,z)}),u(_);var w=l(_);Xt(w,5,()=>e(P),Vt,(M,N)=>{var z=Mr(),Z=fe(z),ge=Oe=>{var ze=Ld(),pt=c(ze),Ze=c(pt,!0);u(pt),u(ze),j(Et=>{Q(ze,"transform",`translate(${Et??""},${e(S)??""})`),Q(pt,"x",e(R)/2),h(Ze,(e(N),v(()=>e(N).label)))},[()=>(e(N),v(()=>g(e(N).value)))]),q(Oe,ze)},Be=er(()=>(e(N),v(()=>!isNaN(g(e(N).value)))));I(Z,Oe=>{e(Be)&&Oe(ge)}),q(M,z)}),u(w);var y=l(w);u(x),j(()=>{Q(x,"viewBox",`0 0 ${e(s)??""} ${e(S)??""}`),Q(y,"fill",a?"#5c2da5":"#7c3aed"),Q(y,"stroke",a?"#5c2da5":"#7c3aed"),Q(y,"points",e(m))}),q(K,x)};I(ve,K=>{e(A)&&K(Me)}),j(()=>h(le,`${r()??""} (${e(Y)??""})`)),q(B,J)},C=B=>{var J=jd(),te=c(J);u(J),j(()=>h(te,`${r()??""} not available`)),q(B,J)};I(T,B=>{e(f)?B(O):B(C,-1)}),u(H),$n(H,"clientWidth",B=>E(b,B)),$n(H,"clientHeight",B=>E(p,B)),q(t,H),yt()}function Zs(t,n){xt(n,!1);let r=de(n,"title",8),a=de(n,"unit",8,""),o=de(n,"l1",8,!1),f=de(n,"l2",8,!1),i=de(n,"l2x",8,!1),d=de(n,"l3",8,!1),b=de(n,"l1i",8,0),p=de(n,"l2i",8,0),S=de(n,"l3i",8,0),s=de(n,"l1e",8,0),m=de(n,"l2e",8,0),k=de(n,"l3e",8,0),g=de(n,"maxImport",8,0),A=de(n,"maxExport",8,0),P=de(n,"importColorFn",8),R=de(n,"exportColorFn",8),Y=W({});function H(T,O){return{label:Ut(T>900?T/1e3:T)+(T>900?"k":"")+a(),title:T.toFixed(2)+" "+a(),value:isNaN(T)?0:T,color:P()(T?T/g()*100:0,document.documentElement.classList.contains("dark")),label2:Ut(O>900?O/1e3:O)+(O>900?"k":"")+a(),title2:O.toFixed(2)+" "+a(),value2:isNaN(O)?0:O,color2:R()(O?O/A()*100:0)}}gr(()=>($(o()),$(b()),$(s()),$(f()),$(i()),$(p()),$(m()),$(d()),$(S()),$(k()),$(A()),$(g()),$(r())),()=>{let T=[],O=[];o()&&(T.push({label:"L1"}),O.push(H(b(),s()))),f()&&(i()?(T.push({label:"L2"}),O.push({label:"Not available",labelAngle:-90,title:"L2 current is not reported by your meter",value:0,color:"#7c3aedcc"})):(T.push({label:"L2"}),O.push(H(p(),m())))),d()&&(T.push({label:"L3"}),O.push(H(S(),k())));let C=[];if(A()){let B=A()>g()?4:A()*4/g();C.push({value:-A(),label:"-100%"}),B>=4&&C.push({value:-A()/4*3,label:"-75%"}),B>=2&&C.push({value:-A()/2,label:"-50%"}),B>=4&&C.push({value:-A()/4,label:"-25%"})}if(C.push({value:0,label:"0%"}),g()){let B=g()>A()?4:g()*4/A();C.push({value:g()/4,label:"25%"}),B>=4&&C.push({value:g()/2,label:"50%"}),B>=2&&C.push({value:g()/4*3,label:"75%"}),B>=4&&C.push({value:g(),label:"100%"})}E(Y,{title:r(),dark:document.documentElement.classList.contains("dark"),padding:{top:20,right:15,bottom:20,left:35},y:{min:-A(),max:g(),ticks:C},x:{ticks:T},points:O})}),kr(),Mt(),Cn(t,{get config(){return e(Y)}}),yt()}var Vl=F('
Tariff 1
Tariff 2
',1),Wd=F('
'),Bd=F('
'),jn=F('
'),Ud=F('
'),on=F('
'),Hd=F('
');function zd(t,n){xt(n,!1);let r=W({}),a=W({}),o=W({}),f=W({}),i=W({}),d=W({}),b=W({}),p=W({}),S=W({});Os.subscribe(U=>E(r,U)),qr.subscribe(U=>E(a,U)),vu.subscribe(U=>E(o,U)),uu.subscribe(U=>E(f,U)),Vo.subscribe(U=>E(i,U)),Xo.subscribe(U=>E(d,U)),fu.subscribe(U=>E(b,U)),Xr.subscribe(U=>E(p,U)),_u.subscribe(U=>E(S,U));let s=W(),m=W(),k=W(),g=W(),A=W(),P=W(),R=W(),Y=W(),H=W(),T=W();gr(()=>(e(r),e(Y),e(H),e(T)),()=>{E(s,Nr(e(r)?.ic*1e3,"Wh")),E(m,Nr(e(r)?.ec*1e3,"Wh")),E(k,Nr(e(r)?.ict1*1e3,"Wh")),E(g,Nr(e(r)?.ict2*1e3,"Wh")),E(A,Nr(e(r)?.ect1*1e3,"Wh")),E(P,Nr(e(r)?.ect2*1e3,"Wh")),e(r)?.l1?.u==0&&e(r)?.l2?.u==0&&e(r)?.l3?.u==0?E(Y,E(H,E(T,E(R,!0)))):(E(Y,e(r)?.l1?.u>0||e(r)?.l1?.i>0||e(r)?.l1?.p>0||e(r)?.l1?.q>0),E(H,e(r)?.l2?.u>0||e(r)?.l2?.i>0||e(r)?.l2?.p>0||e(r)?.l2?.q>0),E(T,e(r)?.l3?.u>0||e(r)?.l3?.i>0||e(r)?.l3?.p>0||e(r)?.l3?.q>0),E(R,e(Y)&&e(H)&&e(T)))}),kr(),Mt();var O=Hd(),C=c(O),B=U=>{var X=Wd(),xe=c(X),ue=c(xe),$e=c(ue);{let we=Ce(()=>(e(r),v(()=>e(r).i?e(r).i:0))),Pe=Ce(()=>(e(r),v(()=>e(r).im?e(r).im:15e3))),Te=Ce(()=>(e(p),v(()=>e(p).common?.import??"Import"))),Ne=Ce(()=>($(mi),e(r),v(()=>mi(e(r).p,e(r).pc))));Ul($e,{get val(){return e(we)},get max(){return e(Pe)},unit:"W",get label(){return e(Te)},get sub(){return e(Ne)},get colorFn(){return es}})}u(ue);var D=l(ue,2),V=c(D,!0);u(D);var ne=l(D,2),Ee=c(ne);u(ne);var ce=l(ne,2),ye=we=>{var Pe=Vl(),Te=l(fe(Pe),2),Ne=c(Te);u(Te);var Ie=l(Te,4),ae=c(Ie);u(Ie),j(()=>{h(Ne,`${e(k),v(()=>e(k)[0])??""} ${e(k),v(()=>e(k)[1])??""}`),h(ae,`${e(g),v(()=>e(g)[0])??""} ${e(g),v(()=>e(g)[1])??""}`)}),q(we,Pe)};I(ce,we=>{e(r),v(()=>e(r)?.ict1>0||e(r)?.ict2>0)&&we(ye)}),u(xe),u(X),j(we=>{h(V,we),h(Ee,`${e(s),v(()=>e(s)[0])??""} ${e(s),v(()=>e(s)[1])??""}`)},[()=>(e(r),$(gs),v(()=>e(r).mt?gs(e(r).mt):"-"))]),q(U,X)},J=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.i,e(r).i))));I(C,U=>{e(J)&&U(B)});var te=l(C,2),le=U=>{var X=Bd(),xe=c(X),ue=c(xe),$e=c(ue);{let ce=Ce(()=>(e(r),v(()=>e(r).e?e(r).e:0))),ye=Ce(()=>(e(r),v(()=>e(r).om?e(r).om*1e3:1e4))),we=Ce(()=>(e(p),v(()=>e(p).common?.export??"Export"))),Pe=Ce(()=>($(mi),e(r),v(()=>mi(e(r).px,e(r).pc))));Ul($e,{get val(){return e(ce)},get max(){return e(ye)},unit:"W",get label(){return e(we)},get sub(){return e(Pe)},get colorFn(){return ui}})}u(ue);var D=l(ue,4),V=c(D);u(D);var ne=l(D,2),Ee=ce=>{var ye=Vl(),we=l(fe(ye),2),Pe=c(we);u(we);var Te=l(we,4),Ne=c(Te);u(Te),j(()=>{h(Pe,`${e(A),v(()=>e(A)[0])??""} ${e(A),v(()=>e(A)[1])??""}`),h(Ne,`${e(P),v(()=>e(P)[0])??""} ${e(P),v(()=>e(P)[1])??""}`)}),q(ce,ye)};I(ne,ce=>{e(r),v(()=>e(r)?.ect1>0||e(r)?.ect2>0)&&ce(Ee)}),u(xe),u(X),j(()=>h(V,`${e(m),v(()=>e(m)[0])??""} ${e(m),v(()=>e(m)[1])??""}`)),q(U,X)},ve=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.e,e(r).om||e(r).e>0))));I(te,U=>{e(ve)&&U(le)});var Me=l(te,2),K=U=>{var X=jn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).common?.voltage??"Volt")));gd($e,{get title(){return e(D)},get u1(){return e(r),v(()=>e(r).l1.u)},get u2(){return e(r),v(()=>e(r).l2.u)},get u3(){return e(r),v(()=>e(r).l3.u)},get ds(){return e(r),v(()=>e(r).ds)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},x=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.v,e(r).l1&&(e(r).l1.u>100||e(r).l2.u>100||e(r).l3.u>100)))));I(Me,U=>{e(x)&&U(K)});var _=l(Me,2),w=U=>{var X=jn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).common?.amperage??"Amp"))),V=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l1.i),0)))),ne=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l2.i),0)))),Ee=Ce(()=>(e(r),v(()=>Math.max(Math.abs(e(r).l3.i),0))));Zs($e,{get title(){return e(D)},unit:"A",get importColorFn(){return es},get exportColorFn(){return ui},get maxImport(){return e(r),v(()=>e(r).mf)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l2x(){return e(r),v(()=>e(r).l2.e)},get l1i(){return e(V)},get l2i(){return e(ne)},get l3i(){return e(Ee)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},y=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.a,e(r).l1&&(e(r).l1.i>.01||e(r).l2.i>.01||e(r).l3.i>.01)))));I(_,U=>{e(y)&&U(w)});var M=l(_,2),N=U=>{var X=jn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).dashboard?.phase??"Phase"))),V=Ce(()=>(e(r),v(()=>(e(r).mf?e(r).mf:32)*230))),ne=Ce(()=>(e(r),e(R),v(()=>e(r).om?e(R)?e(r).om*1e3/Math.sqrt(3):e(r).om*1e3:0)));Zs($e,{get title(){return e(D)},unit:"W",get importColorFn(){return es},get exportColorFn(){return ui},get maxImport(){return e(V)},get maxExport(){return e(ne)},get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),v(()=>e(r).l1.p)},get l2i(){return e(r),v(()=>e(r).l2.p)},get l3i(){return e(r),v(()=>e(r).l3.p)},get l1e(){return e(r),v(()=>e(r).l1.q)},get l2e(){return e(r),v(()=>e(r).l2.q)},get l3e(){return e(r),v(()=>e(r).l3.q)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},z=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.h,e(r).l1&&(e(r).l1.p>.01||e(r).l2.p>.01||e(r).l3.p>.01||e(r).l1.q>.01||e(r).l2.q>.01||e(r).l3.q>.01)))));I(M,U=>{e(z)&&U(N)});var Z=l(M,2),ge=U=>{var X=jn(),xe=c(X),ue=$e=>{{let D=Ce(()=>(e(p),v(()=>e(p).dashboard?.pf??"Pf")));Zs($e,{get title(){return e(D)},get importColorFn(){return ui},get exportColorFn(){return ui},maxImport:1,get l1(){return e(Y)},get l2(){return e(H)},get l3(){return e(T)},get l1i(){return e(r),v(()=>e(r).l1.f)},get l2i(){return e(r),v(()=>e(r).l2.f)},get l3i(){return e(r),v(()=>e(r).l3.f)}})}};I(xe,$e=>{e(r),v(()=>e(r).l1)&&$e(ue)}),u(X),q(U,X)},Be=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.f,e(r).l1&&(e(r).l1.f>.01||e(r).l2.f>.01||e(r).l3.f>.01)))));I(Z,U=>{e(Be)&&U(ge)});var Oe=l(Z,2),ze=U=>{var X=jn();xd(c(X),{get importInstant(){return e(r),v(()=>e(r).ri)},get exportInstant(){return e(r),v(()=>e(r).re)},get importTotal(){return e(r),v(()=>e(r).ric)},get exportTotal(){return e(r),v(()=>e(r).rec)},get translations(){return e(p)}}),u(X),q(U,X)},pt=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.r,e(r).ri>0||e(r).re>0||e(r).ric>0||e(r).rec>0))));I(Oe,U=>{e(pt)&&U(ze)});var Ze=l(Oe,2),Et=U=>{var X=jn(),xe=c(X);{let ue=Ce(()=>(e(r),v(()=>e(r).om>0||e(r).e>0)));Sd(xe,{get sysinfo(){return e(a)},get data(){return e(r),v(()=>e(r).ea)},get currency(){return e(r),v(()=>e(r).pc)},get hasExport(){return e(ue)},get translations(){return e(p)}})}u(X),q(U,X)},be=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.c,e(r).ea))));I(Ze,U=>{e(be)&&U(Et)});var Le=l(Ze,2),Ve=U=>{var X=Ud(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.tariffpeak??"Tariff peaks")));Td(xe,{get title(){return e(ue)},get tariffData(){return e(S)},get realtime(){return e(r),v(()=>e(r).ea)},get translations(){return e(p)}})}u(X),q(U,X)},ct=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.t,e(r).pr&&(e(r).pr.startsWith("NO")||e(r).pr.startsWith("10YNO")||e(r).pr.startsWith("10Y1001A1001A4"))))));I(Le,U=>{e(ct)&&U(Ve)});var Ge=l(Le,2),ht=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.realtime??"Real time")));Id(xe,{get title(){return e(ue)}})}u(X),q(U,X)},ut=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.l,e(r).hm==1))));I(Ge,U=>{e(ut)&&U(ht)});var mt=l(Ge,2),$r=U=>{var X=Mr(),xe=fe(X),ue=D=>{var V=on(),ne=c(V);{let Ee=Ce(()=>(e(p),v(()=>e(p).dashboard?.price_import??"Price import")));Xs(ne,{get title(){return e(Ee)},get json(){return e(o)},get sysinfo(){return e(a)}})}u(V),q(D,V)},$e=D=>{var V=on(),ne=c(V);{let Ee=Ce(()=>(e(p),v(()=>e(p).dashboard?.price??"Price")));Xs(ne,{get title(){return e(Ee)},get json(){return e(o)},get sysinfo(){return e(a)}})}u(V),q(D,V)};I(xe,D=>{e(o),e(r),v(()=>e(o)?.importExportPriceDifferent&&(e(r).om||e(r).e>0))?D(ue):D($e,-1)}),q(U,X)},Ur=er(()=>($(Wt),e(a),e(r),v(()=>Wt(e(a).ui.p,e(r).p&&!Number.isNaN(e(r).p)))));I(mt,U=>{e(Ur)&&U($r)});var Ar=l(mt,2),ke=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.price_export??"Price export")));Xs(xe,{get title(){return e(ue)},get json(){return e(f)},get sysinfo(){return e(a)}})}u(X),q(U,X)},je=er(()=>(e(o),e(r),$(Wt),e(a),v(()=>e(o)?.importExportPriceDifferent&&(e(r).om||e(r).e>0)&&Wt(e(a).ui.p,e(r).pe&&!Number.isNaN(e(r).pe)))));I(Ar,U=>{e(je)&&U(ke)});var Ye=l(Ar,2),rt=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.day??"24 hours")));qd(xe,{get title(){return e(ue)},get json(){return e(i)},get sysinfo(){return e(a)}})}u(X),q(U,X)},zt=er(()=>($(Wt),e(a),e(i),v(()=>Wt(e(a).ui.d,e(i)))));I(Ye,U=>{e(zt)&&U(rt)});var ft=l(Ye,2),Bt=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.month??"{0} days")));Md(xe,{get title(){return e(ue)},get json(){return e(d)},get sysinfo(){return e(a)}})}u(X),q(U,X)},Qt=er(()=>($(Wt),e(a),e(d),v(()=>Wt(e(a).ui.m,e(d)))));I(ft,U=>{e(Qt)&&U(Bt)});var Rr=l(ft,2),br=U=>{var X=on(),xe=c(X);{let ue=Ce(()=>(e(p),v(()=>e(p).dashboard?.temperature??"Temperature")));Ed(xe,{get title(){return e(ue)},get json(){return e(b)}})}u(X),q(U,X)},_e=er(()=>($(Wt),e(a),e(r),e(b),v(()=>Wt(e(a).ui.s,e(r).t&&e(r).t!=-127&&e(b).c>1))));I(Rr,U=>{e(_e)&&U(br)}),u(O),q(t,O),yt()}var So={},gi=ea(So);async function Yd(){So=await(await fetch("configuration.json")).json(),gi.set(So)}var qo={},bu=ea(qo);async function Gd(){qo=await(await fetch("priceconfig.json")).json(),bu.set(qo)}var Kd=F(" ",1),Vd=F(""),Xd=F(" ",1);function Mo(t,n){xt(n,!1);let r=de(n,"chip",8),a=W(39);gr(()=>$(r()),()=>{switch(r()){case"esp8266":E(a,16);break;case"esp32s2":E(a,44);break;case"esp32s3":E(a,46);break;case"esp32c3":E(a,21);break}}),kr();var o=Xd(),f=fe(o);f.value=f.__value=-1;var i=l(f,2),d=p=>{var S=Kd(),s=fe(S);s.value=s.__value=3;var m=l(s,2);m.value=m.__value=113,q(p,S)};I(i,p=>{r()=="esp8266"&&p(d)});var b=l(i,2);Xt(b,1,()=>({length:e(a)+1}),Vt,(p,S,s)=>{var m=Mr(),k=fe(m),g=A=>{var P=Vd();P.textContent=`GPIO${s}`,P.value=P.__value=s,q(A,P)};I(k,A=>{s>1&&!(r()=="esp8266"&&(s==3||s==113))&&A(g)}),q(p,m)}),q(t,o),yt()}var Qd=F('
'),Zd=F('
');function Wr(t,n){let r=de(n,"active",8),a=de(n,"message",8);var o=Mr(),f=fe(o),i=d=>{var b=Zd(),p=c(b),S=c(p),s=m=>{var k=Qd(),g=c(k,!0);u(k),j(()=>h(g,a())),q(m,k)};I(S,m=>{a()&&m(s)}),u(p),u(b),q(d,b)};I(f,d=>{r()&&d(i)}),q(t,o)}var Jd=F(""),e_=F(" ",1);function t_(t){let n=["Amsterdam","Athens","Belfast","Berlin","Bratislava","Brussels","Bucharest","Budapest","Copenhagen","Dublin","Helsinki","Lisbon","Ljubljana","London","Luxembourg","Madrid","Malta","Nicosia","Oslo","Paris","Prague","Riga","Rome","Sofia","Stockholm","Tallinn","Vienna","Vilnius","Warsaw","Zagreb","Zurich"];var r=e_(),a=l(fe(r),2);Xt(a,1,()=>n,Vt,(o,f)=>{var i=Jd(),d=c(i);u(i),j(()=>h(d,`Europe/${e(f)??""}`)),q(o,i)}),q(t,r)}var r_=F(' ',1);function xu(t){var n=r_(),r=fe(n),a=c(r);a.value=a.__value="255.255.255.0",u(r);var o=l(r,2),f=c(o);f.value=f.__value="255.255.255.128";var i=l(f,2);i.value=i.__value="255.255.255.192";var d=l(i,2);d.value=d.__value="255.255.255.224";var b=l(d,2);b.value=b.__value="255.255.255.240";var p=l(b,2);p.value=p.__value="255.255.255.248",u(o);var S=l(o,2),s=c(S);s.value=s.__value="255.255.254.0";var m=l(s,2);m.value=m.__value="255.255.252.0";var k=l(m,2);k.value=k.__value="255.255.0.0",u(S),q(t,n)}var a_=F('

');function n_(t,n){xt(n,!1);let r=de(n,"cfg",12),a=de(n,"item",8),o=de(n,"translations",24,()=>({}));Mt();var f=a_(),i=c(f,!0),d=l(i,3),b=c(d),p=c(b,!0);u(b),b.value=b.__value=0;var S=l(b),s=c(S,!0);u(S),S.value=S.__value=1;var m=l(S),k=c(m,!0);u(m),m.value=m.__value=2,u(d),u(f),j(()=>{h(i,($(o()),$(a()),v(()=>o().conf?.ui?.[a().key]??a().name))),Q(d,"name",`u${$(a()),v(()=>a().key)??""}`),h(p,($(o()),v(()=>o().conf?.ui?.disabled??"Disabled"))),h(s,($(o()),v(()=>o().conf?.ui?.enabled??"Enabled"))),h(k,($(o()),v(()=>o().conf?.ui?.auto??"Auto")))}),At(d,()=>r()[a().key],g=>(r(r()[a().key]=g,!0),G(()=>{a(),o()}))),q(t,f),yt()}var i_=Pu(((t,n)=>{(function(r,a){typeof t=="object"&&typeof n<"u"?n.exports=a():typeof define=="function"&&define.amd?define(a):r.QRious=a()})(t,(function(){"use strict";var r=function(){},a=Object.prototype.hasOwnProperty,o=Array.prototype.slice;function f(x,_){var w;return typeof Object.create=="function"?w=Object.create(x):(r.prototype=x,w=new r,r.prototype=null),_&&d(!0,w,_),w}function i(x,_,w,y){var M=this;return typeof x!="string"&&(y=w,w=_,_=x,x=null),typeof _!="function"&&(y=w,w=_,_=function(){return M.apply(this,arguments)}),d(!1,_,M,y),_.prototype=f(M.prototype,w),_.prototype.constructor=_,_.class_=x||M.class_,_.super_=M,_}function d(x,_,w){w=o.call(arguments,2);for(var y,M,N=0,z=w.length;N>1&1,y=0;y0;_--)y[_]=y[_]?y[_-1]^A.EXPONENT[R._modN(A.LOG[y[_]]+x)]:y[_-1];y[0]=A.EXPONENT[R._modN(A.LOG[y[0]]+x)]}for(x=0;x<=w;x++)y[x]=A.LOG[y[x]]},_checkBadness:function(){var x,_,w,y,M,N=0,z=this._badness,Z=this.buffer,ge=this.width;for(M=0;Mge*ge;)ze-=ge*ge,Oe++;for(N+=Oe*R.N4,y=0;y=z-2&&(x=z-2,M>9&&x--);var Z=x;if(M>9){for(N[Z+2]=0,N[Z+3]=0;Z--;)_=N[Z],N[Z+3]|=255&_<<4,N[Z+2]=_>>4;N[2]|=255&x<<4,N[1]=x>>4,N[0]=64|x>>12}else{for(N[Z+1]=0,N[Z+2]=0;Z--;)_=N[Z],N[Z+2]|=255&_<<4,N[Z+1]=_>>4;N[1]|=255&x<<4,N[0]=64|x>>4}for(Z=x+3-(M<10);Z=5&&(w+=R.N1+y[_]-5);for(_=3;_x||y[_-3]*3>=y[_]*4||y[_+3]*3>=y[_]*4)&&(w+=R.N3);return w},_finish:function(){this._stringBuffer=this.buffer.slice();var x,_,w=0,y=3e4;for(_=0;_<8&&(this._applyMask(_),x=this._checkBadness(),x>=1)y&1&&(M[N-1-_+N*8]=1,_<6?M[8+N*_]=1:M[8+N*(_+1)]=1);for(_=0;_<7;_++,y>>=1)y&1&&(M[8+N*(N-7+_)]=1,_?M[6-_+N*8]=1:M[7+N*8]=1)},_interleaveBlocks:function(){var x,_,w=this._dataBlock,y=this._ecc,M=this._eccBlock,N=0,z=this._calculateMaxLength(),Z=this._neccBlock1,ge=this._neccBlock2,Be=this._stringBuffer;for(x=0;x1)for(x=k.BLOCK[y],w=M-7;;){for(_=M-7;_>x-3&&(this._addAlignment(_,w),!(_6)for(x=P.BLOCK[N-7],_=17,w=0;w<6;w++)for(y=0;y<3;y++,_--)1&(_>11?N>>_-12:x>>_)?(M[5-w+z*(2-y+z-11)]=1,M[2-y+z-11+z*(5-w)]=1):(this._setMask(5-w,2-y+z-11),this._setMask(2-y+z-11,5-w))},_isMasked:function(x,_){var w=R._getMaskBit(x,_);return this._mask[w]===1},_pack:function(){var x,_,w,y=1,M=1,N=this.width,z=N-1,Z=N-1,ge=(this._dataBlock+this._eccBlock)*(this._neccBlock1+this._neccBlock2)+this._neccBlock2;for(_=0;__&&(w=x,x=_,_=w),w=_,w+=_*_,w>>=1,w+=x,w},_modN:function(x){for(;x>=255;)x-=255,x=(x>>8)+(x&255);return x},N1:3,N2:3,N3:40,N4:10}),Y=R,H=s.extend({draw:function(){this.element.src=this.qrious.toDataURL()},reset:function(){this.element.src=""},resize:function(){var x=this.element;x.width=x.height=this.qrious.size}}),T=S.extend(function(x,_,w,y){this.name=x,this.modifiable=!!_,this.defaultValue=w,this._valueTransformer=y},{transform:function(x){var _=this._valueTransformer;return typeof _=="function"?_(x,this):x}}),O=S.extend(null,{abs:function(x){return x!=null?Math.abs(x):null},hasOwn:function(x,_){return Object.prototype.hasOwnProperty.call(x,_)},noop:function(){},toUpperCase:function(x){return x!=null?x.toUpperCase():null}}),C=S.extend(function(x){this.options={},x.forEach(function(_){this.options[_.name]=_},this)},{exists:function(x){return this.options[x]!=null},get:function(x,_){return C._get(this.options[x],_)},getAll:function(x){var _,w=this.options,y={};for(_ in w)O.hasOwn(w,_)&&(y[_]=C._get(w[_],x));return y},init:function(x,_,w){typeof w!="function"&&(w=O.noop);var y,M;for(y in this.options)O.hasOwn(this.options,y)&&(M=this.options[y],C._set(M,M.defaultValue,_),C._createAccessor(M,_,w));this._setAll(x,_,!0)},set:function(x,_,w){return this._set(x,_,w)},setAll:function(x,_){return this._setAll(x,_)},_set:function(x,_,w,y){var M=this.options[x];if(!M)throw new Error("Invalid option: "+x);if(!M.modifiable&&!y)throw new Error("Option cannot be modified: "+x);return C._set(M,_,w)},_setAll:function(x,_,w){if(!x)return!1;var y,M=!1;for(y in x)O.hasOwn(x,y)&&this._set(y,x[y],_,w)&&(M=!0);return M}},{_createAccessor:function(x,_,w){var y={get:function(){return C._get(x,_)}};x.modifiable&&(y.set=function(M){C._set(x,M,_)&&w(M,x)}),Object.defineProperty(_,x.name,y)},_get:function(x,_){return _["_"+x.name]},_set:function(x,_,w){var y="_"+x.name,M=w[y],N=x.transform(_??x.defaultValue);return w[y]=N,N!==M}}),B=C,J=S.extend(function(){this._services={}},{getService:function(x){var _=this._services[x];if(!_)throw new Error("Service is not being managed with name: "+x);return _},setService:function(x,_){if(this._services[x])throw new Error("Service is already managed with name: "+x);_&&(this._services[x]=_)}}),te=new B([new T("background",!0,"white"),new T("backgroundAlpha",!0,1,O.abs),new T("element"),new T("foreground",!0,"black"),new T("foregroundAlpha",!0,1,O.abs),new T("level",!0,"L",O.toUpperCase),new T("mime",!0,"image/png"),new T("padding",!0,null,O.abs),new T("size",!0,100,O.abs),new T("value",!0,"")]),le=new J,ve=S.extend(function(x){te.init(x,this,this.update.bind(this));var _=te.get("element",this),w=le.getService("element"),y=_&&w.isCanvas(_)?_:w.createCanvas(),M=_&&w.isImage(_)?_:w.createImage();this._canvasRenderer=new m(this,y,!0),this._imageRenderer=new H(this,M,M===_),this.update()},{get:function(){return te.getAll(this)},set:function(x){te.setAll(x,this)&&this.update()},toDataURL:function(x){return this.canvas.toDataURL(x||this.mime)},update:function(){var x=new Y({level:this.level,value:this.value});this._canvasRenderer.render(x),this._imageRenderer.render(x)}},{use:function(x){le.setService(x.getName(),x)}});Object.defineProperties(ve.prototype,{canvas:{get:function(){return this._canvasRenderer.getElement()}},image:{get:function(){return this._imageRenderer.getElement()}}});var Me=ve,K=S.extend({getName:function(){}}).extend({createCanvas:function(){},createImage:function(){},getName:function(){return"element"},isCanvas:function(x){},isImage:function(x){}}).extend({createCanvas:function(){return document.createElement("canvas")},createImage:function(){return document.createElement("img")},isCanvas:function(x){return x instanceof HTMLCanvasElement},isImage:function(x){return x instanceof HTMLImageElement}});return Me.use(new K),Me}))})),s_=Cu(i_()),o_=F("");function l_(t,n){xt(n,!1);let r=de(n,"errorCorrection",8,"L"),a=de(n,"background",8,"#fff"),o=de(n,"color",8,"#000"),f=de(n,"size",8,"200"),i=de(n,"value",8,""),d=de(n,"padding",8,0),b=de(n,"className",8,"qrcode"),p=W(""),S=W();function s(){e(S).set({background:a(),foreground:o(),level:r(),padding:d(),size:f(),value:i()}),E(p,e(S).toDataURL("image/jpeg"))}function m(){return e(p)}Ps(()=>{E(S,new s_.default),i()&&s()}),gr(()=>($(i()),e(S)),()=>{i()&&e(S)&&s()}),kr();var k={getImage:m};Mt();var g=o_();return j(()=>{Q(g,"src",e(p)),Q(g,"alt",i()),Zr(g,1,vn(b()))}),q(t,g),hf(n,"getImage",m),yt(k)}var Vi=F("",1),v_=F(" ",1),Fn=F(""),u_=F('
',1),c_=F('


👁️
',1),f_=F('







'),d_=F(""),__=F(""),p_=F('
'),h_=F('



',1),m_=F('
'),g_=F('
',1),b_=F('

'),x_=F('
',1),y_=F('




'),w_=F(' ',1),k_=F('




'),$_=F(''),S_=F(''),q_=F(''),M_=F('


👁️


dBm
',1),E_=F('
'),T_=F('


',1),A_=F('


'),P_=F(''),O_=F(' 🗑',1),C_=F(''),N_=F(' 🗑',1),L_=F(''),D_=F(' 🗑',1),R_=F(''),j_=F('
'),F_=F('



👁️




'),I_=F('


'),W_=F('



'),B_=F(''),U_=F(''),H_=F('
',1),z_=F('
'),Y_=F('
'),G_=F('
',1),K_=F('
'),V_=F('
',1),X_=F('
'),Q_=F(''),Z_=F('
'),J_=F('
'),ep=F('

'),tp=F('

'),rp=F('







',1),ap=F('
'),np=F('Power saving: ',1),ip=F('

'),sp=F('


',1),op=F('
'),lp=F('
'),vp=F('
',1),up=F('
'),cp=F('
',1),fp=F('
'),dp=F('
',1);function _p(t,n){xt(n,!1);let r="/",a=W({}),o=W();qr.subscribe(D=>E(a,D)),Os.subscribe(D=>E(o,D));let f=W(),i=W({});Xr.subscribe(D=>{E(i,D)});let d=[{name:"Import gauge",key:"i"},{name:"Export gauge",key:"e"},{name:"Voltage",key:"v"},{name:"Amperage",key:"a"},{name:"Per phase",key:"h"},{name:"Power factor",key:"f"},{name:"Reactive",key:"r"},{name:"Realtime",key:"c"},{name:"Peaks",key:"t"},{name:"Realtime plot",key:"l"},{name:"Price",key:"p"},{name:"Day plot",key:"d"},{name:"Month plot",key:"m"},{name:"Temperature plot",key:"s"},{name:"Dark mode",key:"k"}],b=W(!0),p=W(!1),S=W(!1),s=W(),m=W([]);gi.subscribe(D=>{D.version&&(E(S,D?.c?.e),E(s,D),E(b,!1),E(m,[{code:"en",name:"English"}]),e(s)?.u?.lang&&e(s).u.lang!="en"&&e(m).push({code:e(s).u.lang,name:e(i).language?.name??"Unknown"}),e(m).push({code:"hub",name:"Load from server"}))}),Yd();let k=W(!0),g=W({});Qo.subscribe(D=>{E(k,!0);for(let V=0;V(ce.hostname=V.get("gh"),ce.usrcfg=Ee.success,ce.booting=Ee.reboot,V.get("nm")=="static"&&(ce.net.ip=V.get("ni"),ce.net.mask=V.get("nu"),ce.net.gw=V.get("ng"),ce.net.dns1=V.get("nd")),ce.ui=e(s).u,ce)),E(p,!1),Za(r)}async function H(){await(await fetch("reboot",{method:"POST"})).json()}const T=function(){confirm("Reboot?")&&(qr.update(D=>(D.booting=!0,D)),H())};async function O(){confirm("Are you sure you want to delete CA?")&&(await(await fetch("mqtt-ca",{method:"POST"})).text(),gi.update(D=>(D.q.s.c=!1,D)))}async function C(){confirm("Are you sure you want to delete cert?")&&(await(await fetch("mqtt-cert",{method:"POST"})).text(),gi.update(D=>(D.q.s.r=!1,D)))}async function B(){confirm("Are you sure you want to delete key?")&&(await(await fetch("mqtt-key",{method:"POST"})).text(),gi.update(D=>(D.q.s.k=!1,D)))}const J=function(){e(s).q.s.e?e(s).q.p==1883&&(ee(s,e(s).q.p=8883),G(()=>{e(i),e(a),e(g),e(m)})):e(s).q.p==8883&&(ee(s,e(s).q.p=1883),G(()=>{e(i),e(a),e(g),e(m)}))};async function te(){if(e(s).u.lang=="hub"){const D=await la("http://hub.amsleser.no/hub/language/list.json");E(m,await D.json()),ee(s,e(s).u.lang=e(i).language.code),G(()=>{e(i),e(a),e(g),e(m)})}}async function le(){ee(s,e(s).p.e=!0),G(()=>{e(i),e(a),e(g),e(m)})}let ve=W(44);async function Me(){const D=await la("cloudkey.json");if(D.status==200){let V=await D.json();window.open("https://www.amsleser.cloud/device/"+V.seed)}else alert("Not able to bind to cloud")}const K=window||global;K.bindToCloud=function(){console.log("BIND CALLED")};async function x(){const D=e(f).querySelector('input[name="wp"]');y.call(this,D)}async function _(){const D=e(f).querySelector('input[name="qa"]');y.call(this,D)}async function w(){const D=e(f).querySelector('input[name="gp"]');y.call(this,D)}async function y(D){D.type==="password"?(D.type="text",this.textContent="🙈"):(D.type="password",this.textContent="👁️")}gr(()=>e(a),()=>{E(ve,e(a).chip=="esp8266"?16:e(a).chip=="esp32s2"?44:39)}),kr(),Mt();var M=dp(),N=fe(M),z=c(N),Z=c(z),ge=D=>{var V=f_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe),Ne=c(Te,!0),Ie=l(Ne,3);oe(Ie),u(Te);var ae=l(Te,2),pe=c(ae,!0),me=l(pe,3);_n(me,()=>{var qt=c(me),Or=Vi();t_(fe(Or),{}),q(qt,Or)}),u(ae),u(Pe),u(we);var he=l(we,2),se=l(he,2),Ae=c(se),re=c(Ae),ie=c(re,!0),Se=l(ie,3),Fe=c(Se),De=c(Fe),gt=qt=>{var Or=v_(),yr=fe(Or);yr.value=yr.__value="NO1S";var va=l(yr,2);va.value=va.__value="NO2S";var na=l(va,2);na.value=na.__value="NO3S";var Dn=l(na,2);Dn.value=Dn.__value="NO4S";var ii=l(Dn,2);ii.value=ii.__value="NO5S",q(qt,Or)};I(De,qt=>{e(s),v(()=>!e(s).p.t)&&qt(gt)});var dt=l(De,2);dt.value=dt.__value="10YNO-1--------2";var at=l(dt,2);at.value=at.__value="10YNO-2--------T";var nt=l(at,2);nt.value=nt.__value="10YNO-3--------J";var Xe=l(nt,2);Xe.value=Xe.__value="10YNO-4--------9";var bt=l(Xe,2);bt.value=bt.__value="10Y1001A1001A48H",u(Fe);var wt=l(Fe),Yt=c(wt);Yt.value=Yt.__value="10Y1001A1001A44P";var tr=l(Yt,2);tr.value=tr.__value="10Y1001A1001A45N";var nr=l(tr,2);nr.value=nr.__value="10Y1001A1001A46L";var vt=l(nr,2);vt.value=vt.__value="10Y1001A1001A47J",u(wt);var ir=l(wt),Pt=c(ir);Pt.value=Pt.__value="10YDK-1--------W";var sr=l(Pt,2);sr.value=sr.__value="10YDK-2--------M",u(ir);var ur=l(ir),jr=c(ur);jr.value=jr.__value="10Y1001A1001A73I";var cr=l(jr,2);cr.value=cr.__value="10Y1001A1001A70O";var Gr=l(cr,2);Gr.value=Gr.__value="10Y1001A1001A71M";var hr=l(Gr,2);hr.value=hr.__value="10Y1001A1001A788";var Ue=l(hr,2);Ue.value=Ue.__value="10Y1001C--00096J";var Je=l(Ue,2);Je.value=Je.__value="10Y1001A1001A75E";var Tt=l(Je,2);Tt.value=Tt.__value="10Y1001A1001A74G",u(ur);var Gt=l(ur);Gt.value=Gt.__value="10YAL-KESH-----5";var Nt=l(Gt);Nt.value=Nt.__value="10YAT-APG------L";var Zt=l(Nt);Zt.value=Zt.__value="10YBE----------2";var or=l(Zt);or.value=or.__value="10YCA-BULGARIA-R";var Ot=l(or);Ot.value=Ot.__value="10YHR-HEP------M";var lr=l(Ot);lr.value=lr.__value="10YCZ-CEPS-----N";var it=l(lr);it.value=it.__value="10Y1001A1001A39I";var st=l(it);st.value=st.__value="10YFI-1--------U";var St=l(st);St.value=St.__value="10YFR-RTE------C";var Kt=l(St);Kt.value=Kt.__value="10Y1001A1001A82H";var Rt=l(Kt);Rt.value=Rt.__value="10YGR-HTSO-----Y";var rr=l(Rt);rr.value=rr.__value="10YHU-MAVIR----U";var Ct=l(rr);Ct.value=Ct.__value="10Y1001A1001A59C";var jt=l(Ct);jt.value=jt.__value="10Y1001C--00100H";var Er=l(jt);Er.value=Er.__value="10YLV-1001A00074";var mr=l(Er);mr.value=mr.__value="10YLT-1001A0008Q";var Ft=l(mr);Ft.value=Ft.__value="10YCS-CG-TSO---S";var vr=l(Ft);vr.value=vr.__value="10YNL----------L";var Lt=l(vr);Lt.value=Lt.__value="10YMK-MEPSO----8";var We=l(Lt);We.value=We.__value="10YPL-AREA-----S";var It=l(We);It.value=It.__value="10YPT-REN------W";var Lr=l(It);Lr.value=Lr.__value="10YRO-TEL------P";var Pr=l(Lr);Pr.value=Pr.__value="10YCS-SERBIATSOV";var Hr=l(Pr);Hr.value=Hr.__value="10YSK-SEPS-----K";var ra=l(Hr);ra.value=ra.__value="10YSI-ELES-----O";var zr=l(ra);zr.value=zr.__value="10YES-REE------0";var tn=l(zr);tn.value=tn.__value="10YCH-SWISSGRIDZ",u(Se),u(re);var et=l(re,2),ar=c(et,!0),aa=l(ar,3);Xt(aa,4,()=>[15,60],Vt,(qt,Or)=>{var yr=Fn(),va=c(yr);u(yr);var na={};j(()=>{h(va,`${Or??""}M`),na!==(na=Or)&&(yr.value=(yr.__value=Or)??"")}),q(qt,yr)}),u(aa),u(et);var Nn=l(et,2),Ni=c(Nn,!0),ri=l(Ni,3);Xt(ri,4,()=>["NOK","SEK","DKK","EUR","CHF"],Vt,(qt,Or)=>{var yr=Fn(),va=c(yr,!0);u(yr);var na={};j(()=>{h(va,Or),na!==(na=Or)&&(yr.value=(yr.__value=Or)??"")}),q(qt,yr)}),u(ri),u(Nn),u(Ae),u(se);var rn=l(se,2),Li=c(rn),Cs=c(Li,!0);u(Li),u(rn);var ai=l(rn,2),Ln=c(ai),an=c(Ln);oe(an),an.value=an.__value="true";var Ns=l(an);u(Ln);var Ls=l(Ln,2),xr=qt=>{var Or=u_(),yr=fe(Or);oe(yr),Ir(3),qe(yr,()=>e(s).p.t,va=>(ee(s,e(s).p.t=va),G(()=>{e(i),e(a),e(g),e(m)}))),q(qt,Or)};I(Ls,qt=>{e(s),e(a),v(()=>e(s).p.e&&e(a).chip!="esp8266"&&e(s).p.t)&&qt(xr)}),u(ai);var fr=l(ai,2),Tr=c(fr,!0),Dr=l(Tr,3),Fr=c(Dr),Ea=c(Fr,!0);u(Fr),Fr.value=Fr.__value=0;var ni=l(Fr),wu=c(ni,!0);u(ni),ni.value=ni.__value=1;var Di=l(ni),ku=c(Di,!0);u(Di),Di.value=Di.__value=2,u(Dr),u(fr);var el=l(fr,2),$u=qt=>{var Or=c_(),yr=fe(Or),va=c(yr,!0),na=l(va,3);oe(na),u(yr);var Dn=l(yr,2),ii=c(Dn,!0),al=l(ii,3),ji=c(al);oe(ji);var Su=l(ji,2);u(al),u(Dn),j(()=>{h(va,(e(i),v(()=>e(i).conf?.general?.security?.username??"Username"))),Q(na,"pattern",ja),h(ii,(e(i),v(()=>e(i).conf?.general?.security?.password??"Password"))),Q(ji,"pattern",ja)}),qe(na,()=>e(s).g.u,Ds=>(ee(s,e(s).g.u=Ds),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ji,()=>e(s).g.p,Ds=>(ee(s,e(s).g.p=Ds),G(()=>{e(i),e(a),e(g),e(m)}))),He("click",Su,w),q(qt,Or)};I(el,qt=>{e(s),v(()=>e(s).g.s>0)&&qt($u)});var tl=l(el,2),rl=c(tl,!0),Ri=l(rl,3);oe(Ri),u(tl),u(V),j(qt=>{h(Ee,(e(i),v(()=>e(i).conf?.general?.title??"General"))),Q(ce,"href",qt),h(Ne,(e(i),v(()=>e(i).conf?.general?.hostname??"Hostname"))),Q(Ie,"pattern",ts),h(pe,(e(i),v(()=>e(i).conf?.general?.timezone??"Time zone"))),h(ie,(e(i),v(()=>e(i).conf?.price?.region??"Price region"))),h(ar,(e(i),v(()=>e(i).conf?.price?.resolution??"Resolution"))),h(Ni,(e(i),v(()=>e(i).conf?.price?.currency??"Currency"))),h(Cs,(e(i),v(()=>e(i).conf?.price?.conf??"Configure"))),h(Ns,` ${e(i),v(()=>e(i).conf?.price?.enabled??"Enabled")??""}`),h(Tr,(e(i),v(()=>e(i).conf?.general?.security?.title??"Security"))),h(Ea,(e(i),v(()=>e(i).conf?.general?.security?.none??"None"))),h(wu,(e(i),v(()=>e(i).conf?.general?.security?.conf??"Conf"))),h(ku,(e(i),v(()=>e(i).conf?.general?.security?.all??"All"))),h(rl,(e(i),v(()=>e(i).conf?.general?.context??"Context"))),Q(Ri,"pattern",ts),Q(Ri,"placeholder",(e(i),v(()=>e(i).conf?.general?.context_placeholder??"/")))},[()=>($(Jt),v(()=>Jt("general")))]),qe(Ie,()=>e(s).g.h,qt=>(ee(s,e(s).g.h=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(me,()=>e(s).g.t,qt=>(ee(s,e(s).g.t=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Se,()=>e(s).p.r,qt=>(ee(s,e(s).p.r=qt),G(()=>{e(i),e(a),e(g),e(m)}))),He("change",Se,le),At(aa,()=>e(s).p.m,qt=>(ee(s,e(s).p.m=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(ri,()=>e(s).p.c,qt=>(ee(s,e(s).p.c=qt),G(()=>{e(i),e(a),e(g),e(m)}))),_r(an,()=>e(s).p.e,qt=>(ee(s,e(s).p.e=qt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Dr,()=>e(s).g.s,qt=>(ee(s,e(s).g.s=qt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Ri,()=>e(s).g.c,qt=>(ee(s,e(s).g.c=qt),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Z,D=>{e(s),v(()=>e(s)?.g)&&D(ge)});var Be=l(Z,2),Oe=D=>{var V=k_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=l(we,2),Te=c(Pe,!0),Ne=l(Te,3),Ie=c(Ne),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=0;var pe=l(Ie),me=c(pe,!0);u(pe),pe.value=pe.__value=2;var he=l(pe),se=Ue=>{var Je=d_();Je.value=Je.__value=9,q(Ue,Je)},Ae=er(()=>(e(a),v(()=>e(a)?.features?.includes("kmp"))));I(he,Ue=>{e(Ae)&&Ue(se)});var re=l(he),ie=Ue=>{var Je=__();Je.value=Je.__value=18,q(Ue,Je)};I(re,Ue=>{e(a),v(()=>e(a)?.chip!="esp8266")&&Ue(ie)}),u(Ne),u(Pe);var Se=l(Pe,2),Fe=Ue=>{var Je=p_(),Tt=c(Je),Gt=c(Tt,!0);u(Tt);var Nt=l(Tt,2);oe(Nt),Q(Nt,"min",1),Q(Nt,"max",3600),u(Je),j(()=>h(Gt,(e(i),v(()=>e(i).conf?.meter?.pulses??"Pulses per kWh")))),qe(Nt,()=>e(s).m.b,Zt=>(ee(s,e(s).m.b=Zt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)},De=Ue=>{var Je=h_(),Tt=fe(Je),Gt=l(Tt,2),Nt=l(Gt,2),Zt=l(Nt,2),or=c(Zt),Ot=c(or,!0),lr=l(Ot,3);oe(lr),u(or);var it=l(or,2),st=c(it,!0),St=l(st,3);oe(St),u(it),u(Zt);var Kt=l(Zt,2),Rt=c(Kt,!0),rr=l(Rt,3);oe(rr),u(Kt);var Ct=l(Kt,2),jt=c(Ct);oe(jt),jt.value=jt.__value="true";var Er=l(jt);u(Ct);var mr=l(Ct,2),Ft=c(mr);oe(Ft),Ft.value=Ft.__value="true";var vr=l(Ft);u(mr);var Lt=l(mr,2),We=c(Lt),It=c(We,!0),Lr=l(It);oe(Lr),u(We);var Pr=l(We,2),Hr=c(Pr,!0),ra=l(Hr);oe(ra),u(Pr),u(Lt);var zr=l(Lt,2),tn=c(zr,!0),et=l(tn);oe(et),u(zr),j(()=>{h(Ot,(e(i),v(()=>e(i).conf?.meter?.c1218?.userid??"User ID"))),h(st,(e(i),v(()=>e(i).conf?.meter?.c1218?.username??"Username"))),h(Rt,(e(i),v(()=>e(i).conf?.meter?.c1218?.password??"Password"))),h(Er,` ${e(i),v(()=>e(i).conf?.meter?.c1218?.extended??"Read extended table 28")??""}`),h(vr,` ${e(i),v(()=>e(i).conf?.meter?.c1218?.terminate??"Terminate session after each read")??""}`),h(It,(e(i),v(()=>e(i).conf?.meter?.c1218?.logoff??"Logoff interval (s)"))),h(Hr,(e(i),v(()=>e(i).conf?.meter?.c1218?.idle_start??"Daily idle start"))),h(tn,(e(i),v(()=>e(i).conf?.meter?.c1218?.idle??"Daily idle time (s, 0 disables)")))}),qe(lr,()=>e(s).m.c.u,ar=>(ee(s,e(s).m.c.u=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(St,()=>e(s).m.c.n,ar=>(ee(s,e(s).m.c.n=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(rr,()=>e(s).m.c.p,ar=>(ee(s,e(s).m.c.p=ar),G(()=>{e(i),e(a),e(g),e(m)}))),_r(jt,()=>e(s).m.c.x,ar=>(ee(s,e(s).m.c.x=ar),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Ft,()=>e(s).m.c.t,ar=>(ee(s,e(s).m.c.t=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Lr,()=>e(s).m.c.l,ar=>(ee(s,e(s).m.c.l=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ra,()=>e(s).m.c.i,ar=>(ee(s,e(s).m.c.i=ar),G(()=>{e(i),e(a),e(g),e(m)}))),qe(et,()=>e(s).m.c.d,ar=>(ee(s,e(s).m.c.d=ar),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)},gt=Ue=>{var Je=m_(),Tt=c(Je),Gt=c(Tt,!0);u(Tt);var Nt=l(Tt,2),Zt=c(Nt,!0);u(Nt);var or=l(Nt,2),Ot=c(or);oe(Ot),Ot.value=Ot.__value="true";var lr=l(Ot);u(or);var it=l(or,2),st=c(it),St=c(st);St.value=St.__value=0;var Kt=l(St);Xt(Kt,0,()=>[3,12,24,48,96,192,384,576,1152],Vt,(Lt,We)=>{var It=Fn(),Lr=c(It,!0);u(It);var Pr={};j(()=>{h(Lr,We*100),Pr!==(Pr=We*100)&&(It.value=It.__value=We*100)}),q(Lt,It)}),u(st);var Rt=l(st,2),rr=c(Rt);rr.value=rr.__value=0;var Ct=l(rr);Ct.value=Ct.__value=2;var jt=l(Ct);jt.value=jt.__value=3;var Er=l(jt);Er.value=Er.__value=7;var mr=l(Er);mr.value=mr.__value=10;var Ft=l(mr);Ft.value=Ft.__value=11,u(Rt);var vr=l(Rt,2);oe(vr),Q(vr,"min",64),Q(vr,"step",64),u(it),u(Je),j(()=>{h(Gt,(e(i),v(()=>e(i).conf?.meter?.buffer??"Buffer size"))),h(Zt,(e(i),v(()=>e(i).conf?.meter?.serial??"Serial conf."))),h(lr,` ${e(i),v(()=>e(i).conf?.meter?.inverted??"inverted")??""}`),St.disabled=(e(s),v(()=>e(s).m.b!=0)),Rt.disabled=(e(s),v(()=>e(s).m.b==0)),rr.disabled=(e(s),v(()=>e(s).m.b!=0)),Q(vr,"max",(e(a),e(s),v(()=>e(a).chip=="esp8266"?e(s).i.h.p==3||e(s).i.h.p==113?512:256:4096)))}),_r(Ot,()=>e(s).m.i,Lt=>(ee(s,e(s).m.i=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),At(st,()=>e(s).m.b,Lt=>(ee(s,e(s).m.b=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),At(Rt,()=>e(s).m.p,Lt=>(ee(s,e(s).m.p=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(vr,()=>e(s).m.s,Lt=>(ee(s,e(s).m.s=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)};I(Se,Ue=>{e(s),v(()=>e(s).m.a===2)?Ue(Fe):(e(s),v(()=>e(s).m.a===18)?Ue(De,1):Ue(gt,-1))});var dt=l(Se,2),at=c(dt,!0),nt=l(at,3),Xe=c(nt);Xe.value=Xe.__value=2;var bt=l(Xe);bt.value=bt.__value=1,u(nt),u(dt);var wt=l(dt,2),Yt=c(wt),tr=c(Yt,!0),nr=l(tr,3),vt=c(nr);oe(vt),Ir(2),u(nr),u(Yt);var ir=l(Yt,2),Pt=c(ir,!0),sr=l(Pt,3),ur=c(sr);oe(ur),Ir(2),u(sr),u(ir),u(wt);var jr=l(wt,4),cr=Ue=>{var Je=x_(),Tt=fe(Je),Gt=c(Tt),Nt=c(Gt);oe(Nt),Nt.value=Nt.__value="true";var Zt=l(Nt);u(Gt);var or=l(Gt,2),Ot=st=>{var St=g_(),Kt=l(fe(St));oe(Kt),j(()=>Q(Kt,"pattern",Fl)),qe(Kt,()=>e(s).m.e.k,Rt=>(ee(s,e(s).m.e.k=Rt),G(()=>{e(i),e(a),e(g),e(m)}))),q(st,St)};I(or,st=>{e(s),v(()=>e(s).m.e.e)&&st(Ot)}),u(Tt);var lr=l(Tt,2),it=st=>{var St=b_(),Kt=c(St,!0),Rt=l(Kt,3);oe(Rt),u(St),j(()=>{h(Kt,(e(i),v(()=>e(i).conf?.meter?.authkey??"Authentication key"))),Q(Rt,"pattern",Fl)}),qe(Rt,()=>e(s).m.e.a,rr=>(ee(s,e(s).m.e.a=rr),G(()=>{e(i),e(a),e(g),e(m)}))),q(st,St)};I(lr,st=>{e(s),v(()=>e(s).m.e.e)&&st(it)}),j(()=>h(Zt,` ${e(i),v(()=>e(i).conf?.meter?.encrypted??"Encrypted")??""}`)),_r(Nt,()=>e(s).m.e.e,st=>(ee(s,e(s).m.e.e=st),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)};I(jr,Ue=>{e(s),v(()=>e(s).m.a!==18)&&Ue(cr)});var Gr=l(jr,2),hr=Ue=>{var Je=w_(),Tt=fe(Je),Gt=c(Tt);oe(Gt),Gt.value=Gt.__value="true";var Nt=l(Gt);u(Tt);var Zt=l(Tt,2),or=Ot=>{var lr=y_(),it=c(lr),st=c(it,!0),St=l(st,3);oe(St),u(it);var Kt=l(it,2),Rt=c(Kt,!0),rr=l(Rt,3);oe(rr),u(Kt);var Ct=l(Kt,2),jt=c(Ct,!0),Er=l(jt,3);oe(Er),u(Ct);var mr=l(Ct,2),Ft=c(mr,!0),vr=l(Ft,3);oe(vr),u(mr),u(lr),j(()=>{h(st,(e(i),v(()=>e(i).conf?.meter?.multipliers?.watt??"Watt"))),h(Rt,(e(i),v(()=>e(i).conf?.meter?.multipliers?.volt??"Volt"))),h(jt,(e(i),v(()=>e(i).conf?.meter?.multipliers?.amp??"Amp"))),h(Ft,(e(i),v(()=>e(i).conf?.meter?.multipliers?.kwh??"kWh")))}),qe(St,()=>e(s).m.m.w,Lt=>(ee(s,e(s).m.m.w=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(rr,()=>e(s).m.m.v,Lt=>(ee(s,e(s).m.m.v=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Er,()=>e(s).m.m.a,Lt=>(ee(s,e(s).m.m.a=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(vr,()=>e(s).m.m.c,Lt=>(ee(s,e(s).m.m.c=Lt),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ot,lr)};I(Zt,Ot=>{e(s),v(()=>e(s).m.m.e)&&Ot(or)}),j(()=>h(Nt,` ${e(i),v(()=>e(i).conf?.meter?.multipliers?.title??"Multipliers")??""}`)),_r(Gt,()=>e(s).m.m.e,Ot=>(ee(s,e(s).m.m.e=Ot),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ue,Je)};I(Gr,Ue=>{e(s),v(()=>e(s).m.a!==18)&&Ue(hr)}),u(V),j(Ue=>{h(Ee,(e(i),v(()=>e(i).conf?.meter?.title??"Meter"))),Q(ce,"href",Ue),h(Te,(e(i),v(()=>e(i).conf?.meter?.comm?.title??"Communication"))),h(ae,(e(i),v(()=>e(i).conf?.meter?.comm?.passive??"Passive"))),h(me,(e(i),v(()=>e(i).conf?.meter?.comm?.pulse??"Pulse"))),h(at,(e(i),v(()=>e(i).common?.voltage??"Voltage"))),h(tr,(e(i),v(()=>e(i).conf?.meter?.fuse??"Main fuse"))),h(Pt,(e(i),v(()=>e(i).conf?.meter?.prod??"Production")))},[()=>($(Jt),v(()=>Jt("meter")))]),At(Ne,()=>e(s).m.a,Ue=>(ee(s,e(s).m.a=Ue),G(()=>{e(i),e(a),e(g),e(m)}))),At(nt,()=>e(s).m.d,Ue=>(ee(s,e(s).m.d=Ue),G(()=>{e(i),e(a),e(g),e(m)}))),qe(vt,()=>e(s).m.f,Ue=>(ee(s,e(s).m.f=Ue),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ur,()=>e(s).m.r,Ue=>(ee(s,e(s).m.r=Ue),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Be,D=>{e(s),v(()=>e(s)?.m)&&D(Oe)});var ze=l(Be,2),pt=D=>{var V=E_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe),Ne=c(Te,!0);u(Te),Te.value=Te.__value=1;var Ie=l(Te),ae=c(Ie,!0);u(Ie),Ie.value=Ie.__value=2;var pe=l(Ie),me=Ae=>{var re=Fn(),ie=c(re,!0);u(re),re.value=re.__value=3,j(()=>h(ie,(e(i),v(()=>e(i).conf?.connection?.eth??"Ethernet")))),q(Ae,re)};I(pe,Ae=>{e(a),v(()=>e(a).if&&e(a).if.eth)&&Ae(me)}),u(Pe),u(we);var he=l(we,2),se=Ae=>{var re=M_(),ie=fe(re),Se=c(ie),Fe=l(Se),De=c(Fe);oe(De),De.value=De.__value="true",Ir(),u(Fe);var gt=l(Fe,4),dt=it=>{var st=$_();oe(st),j(()=>{Q(st,"pattern",Gn),st.required=(e(s),v(()=>e(s).n.c==1||e(s).n.c==2))}),qe(st,()=>e(s).w.s,St=>(ee(s,e(s).w.s=St),G(()=>{e(i),e(a),e(g),e(m)}))),q(it,st)},at=it=>{var st=q_(),St=c(st),Kt=Ct=>{var jt=S_();jt.value=jt.__value="",q(Ct,jt)};I(St,Ct=>{e(g),v(()=>e(g)?.c==-1)&&Ct(Kt)});var Rt=l(St),rr=Ct=>{var jt=Mr(),Er=fe(jt);Xt(Er,1,()=>(e(g),v(()=>e(g)?.n)),Vt,(mr,Ft)=>{var vr=Fn(),Lt=c(vr);u(vr);var We={};j(()=>{h(Lt,`${e(Ft),v(()=>e(Ft).s)??""} (${e(Ft),v(()=>e(Ft).e)??""}, RSSI: ${e(Ft),v(()=>e(Ft).r)??""})`),We!==(We=(e(Ft),v(()=>e(Ft).s)))&&(vr.value=(vr.__value=(e(Ft),v(()=>e(Ft).s)))??"")}),q(mr,vr)}),q(Ct,jt)};I(Rt,Ct=>{e(g),v(()=>e(g)?.n)&&Ct(rr)}),u(st),j(()=>st.required=(e(s),v(()=>e(s).n.c==1||e(s).n.c==2))),At(st,()=>e(s).w.s,Ct=>(ee(s,e(s).w.s=Ct),G(()=>{e(i),e(a),e(g),e(m)}))),q(it,st)};I(gt,it=>{e(k)?it(dt):it(at,-1)}),u(ie);var nt=l(ie,2),Xe=c(nt,!0),bt=l(Xe,3),wt=c(bt);oe(wt);var Yt=l(wt,2);u(bt),u(nt);var tr=l(nt,2),nr=c(tr),vt=c(nr,!0),ir=l(vt,3),Pt=c(ir),sr=c(Pt,!0);u(Pt),Pt.value=Pt.__value=255;var ur=l(Pt),jr=c(ur,!0);u(ur),ur.value=ur.__value=0;var cr=l(ur),Gr=c(cr,!0);u(cr),cr.value=cr.__value=1;var hr=l(cr),Ue=c(hr,!0);u(hr),hr.value=hr.__value=2,u(ir),u(nr);var Je=l(nr,2),Tt=c(Je,!0),Gt=l(Tt,3),Nt=c(Gt);oe(Nt),Ir(2),u(Gt),u(Je),u(tr);var Zt=l(tr,2),or=c(Zt),Ot=c(or);oe(Ot),Ot.value=Ot.__value="true";var lr=l(Ot);u(or),u(Zt),j(()=>{h(Se,`${e(i),v(()=>e(i).conf?.connection?.ssid??"SSID")??""} `),h(Xe,(e(i),v(()=>e(i).conf?.connection?.psk??"Password"))),Q(wt,"pattern",Gn),h(vt,(e(i),v(()=>e(i).conf?.connection?.ps?.title??"Power saving"))),h(sr,(e(i),v(()=>e(i).conf?.connection?.ps?.default??"Default"))),h(jr,(e(i),v(()=>e(i).conf?.connection?.ps?.off??"Off"))),h(Gr,(e(i),v(()=>e(i).conf?.connection?.ps?.min??"Min"))),h(Ue,(e(i),v(()=>e(i).conf?.connection?.ps?.max??"Max"))),h(Tt,(e(i),v(()=>e(i).conf?.connection?.pwr??"Power"))),h(lr,` ${e(i),v(()=>e(i).conf?.connection?.tick_11b??"802.11b")??""}`)}),_r(De,()=>e(k),it=>E(k,it)),qe(wt,()=>e(s).w.p,it=>(ee(s,e(s).w.p=it),G(()=>{e(i),e(a),e(g),e(m)}))),He("click",Yt,x),At(ir,()=>e(s).w.z,it=>(ee(s,e(s).w.z=it),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Nt,()=>e(s).w.w,it=>(ee(s,e(s).w.w=it),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Ot,()=>e(s).w.b,it=>(ee(s,e(s).w.b=it),G(()=>{e(i),e(a),e(g),e(m)}))),q(Ae,re)};I(he,Ae=>{e(s),v(()=>e(s).n.c==1||e(s).n.c==2)&&Ae(se)}),u(V),j(Ae=>{h(Ee,(e(i),v(()=>e(i).conf?.connection?.title??"Connection"))),Q(ce,"href",Ae),h(Ne,(e(i),v(()=>e(i).conf?.connection?.wifi??"WiFi"))),h(ae,(e(i),v(()=>e(i).conf?.connection?.ap??"AP")))},[()=>($(Jt),v(()=>Jt("connection")))]),At(Pe,()=>e(s).n.c,Ae=>(ee(s,e(s).n.c=Ae),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(ze,D=>{e(s),v(()=>e(s)?.w)&&D(pt)});var Ze=l(ze,2),Et=D=>{var V=A_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=c(ye,!0),Pe=l(we,3),Te=c(Pe),Ne=c(Te),Ie=c(Ne,!0);u(Ne),Ne.value=Ne.__value="dhcp";var ae=l(Ne),pe=c(ae,!0);u(ae),ae.value=ae.__value="static",u(Te);var me=l(Te,2);oe(me);var he=l(me,2);_n(he,()=>{var vt=c(he),ir=Vi();xu(fe(ir),{}),q(vt,ir)}),u(Pe),u(ye);var se=l(ye,2),Ae=vt=>{var ir=T_(),Pt=fe(ir),sr=c(Pt,!0),ur=l(sr,3);oe(ur),u(Pt);var jr=l(Pt,2),cr=c(jr,!0),Gr=l(cr,3),hr=c(Gr);oe(hr);var Ue=l(hr,2);oe(Ue),u(Gr),u(jr),j(()=>{h(sr,(e(i),v(()=>e(i).conf?.network?.gw??"Gateway"))),Q(ur,"pattern",pn),h(cr,(e(i),v(()=>e(i).conf?.network?.dns??"DNS"))),Q(hr,"pattern",pn),Q(Ue,"pattern",pn)}),qe(ur,()=>e(s).n.g,Je=>(ee(s,e(s).n.g=Je),G(()=>{e(i),e(a),e(g),e(m)}))),qe(hr,()=>e(s).n.d1,Je=>(ee(s,e(s).n.d1=Je),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Ue,()=>e(s).n.d2,Je=>(ee(s,e(s).n.d2=Je),G(()=>{e(i),e(a),e(g),e(m)}))),q(vt,ir)};I(se,vt=>{e(s),v(()=>e(s).n.m=="static")&&vt(Ae)});var re=l(se,2),ie=c(re),Se=c(ie);oe(Se),Se.value=Se.__value="true",Ir(),u(ie),u(re);var Fe=l(re,2),De=c(Fe),gt=c(De);oe(gt),gt.value=gt.__value="true";var dt=l(gt);u(De),u(Fe);var at=l(Fe,2),nt=l(at,2),Xe=c(nt),bt=l(Xe),wt=c(bt);oe(wt),wt.value=wt.__value="true";var Yt=l(wt);u(bt);var tr=l(bt,3),nr=c(tr);oe(nr),u(tr),u(nt),u(V),j(vt=>{h(Ee,(e(i),v(()=>e(i).conf?.network?.title??"Network"))),Q(ce,"href",vt),h(we,(e(i),v(()=>e(i).conf?.network?.ip??"IP"))),h(Ie,(e(i),v(()=>e(i).conf?.network?.dhcp??"DHCP"))),h(pe,(e(i),v(()=>e(i).conf?.network?.static??"Static"))),me.disabled=(e(s),v(()=>e(s).n.m=="dhcp")),me.required=(e(s),v(()=>e(s).n.m=="static")),Q(me,"pattern",pn),he.disabled=(e(s),v(()=>e(s).n.m=="dhcp")),he.required=(e(s),v(()=>e(s).n.m=="static")),h(dt,` ${e(i),v(()=>e(i).conf?.network?.tick_mdns??"mDNS")??""}`),h(Xe,`${e(i),v(()=>e(i).conf?.network?.ntp??"NTP")??""} `),h(Yt,` ${e(i),v(()=>e(i).conf?.network?.tick_ntp_dhcp??"from DHCP")??""}`),Q(nr,"pattern",ja)},[()=>($(Jt),v(()=>Jt("network")))]),At(Te,()=>e(s).n.m,vt=>(ee(s,e(s).n.m=vt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(me,()=>e(s).n.i,vt=>(ee(s,e(s).n.i=vt),G(()=>{e(i),e(a),e(g),e(m)}))),At(he,()=>e(s).n.s,vt=>(ee(s,e(s).n.s=vt),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Se,()=>e(s).n.x,vt=>(ee(s,e(s).n.x=vt),G(()=>{e(i),e(a),e(g),e(m)}))),_r(gt,()=>e(s).n.d,vt=>(ee(s,e(s).n.d=vt),G(()=>{e(i),e(a),e(g),e(m)}))),_r(wt,()=>e(s).n.h,vt=>(ee(s,e(s).n.h=vt),G(()=>{e(i),e(a),e(g),e(m)}))),qe(nr,()=>e(s).n.n1,vt=>(ee(s,e(s).n.n1=vt),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ze,D=>{e(s),v(()=>e(s)?.n)&&D(Et)});var be=l(Ze,2),Le=D=>{var V=F_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=l(Pe),Ne=et=>{var ar=P_(),aa=c(ar);oe(aa),aa.value=aa.__value="true",Ir(),u(ar),_r(aa,()=>e(s).q.s.e,Nn=>(ee(s,e(s).q.s.e=Nn),G(()=>{e(i),e(a),e(g),e(m)}))),He("change",aa,J),q(et,ar)};I(Te,et=>{e(a),v(()=>e(a).chip!="esp8266")&&et(Ne)});var Ie=l(Te,4),ae=c(Ie);oe(ae);var pe=l(ae,2);oe(pe),u(Ie),u(we);var me=l(we,2),he=et=>{var ar=j_(),aa=c(ar),Nn=c(aa),Ni=xr=>{var fr=O_(),Tr=fe(fr),Dr=c(Tr),Fr=c(Dr,!0);u(Dr),u(Tr);var Ea=l(Tr,2);j(()=>h(Fr,(e(i),v(()=>e(i).conf?.mqtt?.ca_ok??"CA OK")))),He("click",Ea,O),He("keypress",Ea,O),q(xr,fr)},ri=xr=>{var fr=C_(),Tr=c(fr);{let Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_ca_upload??"Upload CA"))),Fr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_ca??"")));mn(Tr,{color:"blue",get text(){return e(Dr)},get title(){return e(Fr)}})}u(fr),q(xr,fr)};I(Nn,xr=>{e(s),v(()=>e(s).q.s.c)?xr(Ni):xr(ri,-1)}),u(aa);var rn=l(aa,2),Li=c(rn),Cs=xr=>{var fr=N_(),Tr=fe(fr),Dr=c(Tr),Fr=c(Dr,!0);u(Dr),u(Tr);var Ea=l(Tr,2);j(()=>h(Fr,(e(i),v(()=>e(i).conf?.mqtt?.crt_ok??"Cert OK")))),He("click",Ea,C),He("keypress",Ea,C),q(xr,fr)},ai=xr=>{var fr=L_(),Tr=c(fr);{let Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_crt_upload??"Upload cert"))),Fr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_crt??"")));mn(Tr,{color:"blue",get text(){return e(Dr)},get title(){return e(Fr)}})}u(fr),q(xr,fr)};I(Li,xr=>{e(s),v(()=>e(s).q.s.r)?xr(Cs):xr(ai,-1)}),u(rn);var Ln=l(rn,2),an=c(Ln),Ns=xr=>{var fr=D_(),Tr=fe(fr),Dr=c(Tr),Fr=c(Dr,!0);u(Dr),u(Tr);var Ea=l(Tr,2);j(()=>h(Fr,(e(i),v(()=>e(i).conf?.mqtt?.key_ok??"Key OK")))),He("click",Ea,B),He("keypress",Ea,B),q(xr,fr)},Ls=xr=>{var fr=R_(),Tr=c(fr);{let Dr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.btn_key_upload??"Upload key"))),Fr=Ce(()=>(e(i),v(()=>e(i).conf?.mqtt?.title_key??"")));mn(Tr,{color:"blue",get text(){return e(Dr)},get title(){return e(Fr)}})}u(fr),q(xr,fr)};I(an,xr=>{e(s),v(()=>e(s).q.s.k)?xr(Ns):xr(Ls,-1)}),u(Ln),u(ar),q(et,ar)};I(me,et=>{e(s),v(()=>e(s).q.s.e)&&et(he)});var se=l(me,2),Ae=c(se,!0),re=l(Ae,3);oe(re),u(se);var ie=l(se,2),Se=c(ie,!0),Fe=l(Se,3),De=c(Fe);oe(De);var gt=l(De,2);u(Fe),u(ie);var dt=l(ie,2),at=c(dt),nt=c(at,!0),Xe=l(nt,3);oe(Xe),u(at);var bt=l(at,2),wt=c(bt,!0),Yt=l(wt,3),tr=c(Yt);tr.value=tr.__value=1;var nr=l(tr);nr.value=nr.__value=2;var vt=l(nr);vt.value=vt.__value=3;var ir=l(vt);ir.value=ir.__value=4;var Pt=l(ir);Pt.value=Pt.__value=0;var sr=l(Pt);sr.value=sr.__value=5;var ur=l(sr);ur.value=ur.__value=6;var jr=l(ur);jr.value=jr.__value=255,u(Yt),u(bt),u(dt);var cr=l(dt,2),Gr=c(cr,!0),hr=l(Gr,3);oe(hr),u(cr);var Ue=l(cr,2),Je=c(Ue,!0),Tt=l(Je,3);oe(Tt),u(Ue);var Gt=l(Ue,2),Nt=c(Gt),Zt=l(Nt),or=c(Zt,!0);u(Zt);var Ot=l(Zt,2),lr=c(Ot),it=c(lr),st=c(it,!0);u(it),it.value=it.__value=0;var St=l(it),Kt=c(St,!0);u(St),St.value=St.__value=1,u(lr);var Rt=l(lr,2);oe(Rt),u(Ot),u(Gt);var rr=l(Gt,2),Ct=c(rr),jt=c(Ct),Er=c(jt,!0);u(jt);var mr=l(jt,2),Ft=c(mr,!0);u(mr);var vr=l(mr,2),Lt=c(vr,!0);u(vr),u(Ct);var We=l(Ct,2),It=c(We);oe(It);var Lr=l(It,2);oe(Lr);var Pr=l(Lr,2);oe(Pr),u(We),u(rr);var Hr=l(rr,2),ra=c(Hr),zr=c(ra);oe(zr),zr.value=zr.__value="true";var tn=l(zr);u(ra),u(Hr),u(V),j(et=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.title??"MQTT"))),Q(ce,"href",et),h(Pe,`${e(i),v(()=>e(i).conf?.mqtt?.server??"Server")??""} `),Q(ae,"pattern",ja),h(Ae,(e(i),v(()=>e(i).conf?.mqtt?.user??"Username"))),Q(re,"pattern",Gn),h(Se,(e(i),v(()=>e(i).conf?.mqtt?.pass??"Password"))),Q(De,"pattern",Gn),h(nt,(e(i),v(()=>e(i).conf?.mqtt?.id??"Client ID"))),Xe.required=(e(s),v(()=>e(s).q.h)),Q(Xe,"pattern",ts),h(wt,(e(i),v(()=>e(i).conf?.mqtt?.payload??"Payload"))),h(Gr,(e(i),v(()=>e(i).conf?.mqtt?.publish??"Publish topic"))),Q(hr,"pattern",ja),h(Je,(e(i),v(()=>e(i).conf?.mqtt?.subscribe??"Subscribe topic"))),Q(Tt,"pattern",ja),Q(Tt,"placeholder",`${e(s),v(()=>e(s).q.b)??""}/command`),h(Nt,`${e(i),v(()=>e(i).conf?.mqtt?.update??"Update method")??""} `),h(or,(e(i),v(()=>e(i).conf?.mqtt?.interval??"Interval"))),h(st,(e(i),v(()=>e(i).conf?.mqtt?.realtime??"Real time"))),h(Kt,(e(i),v(()=>e(i).conf?.mqtt?.interval??"Interval"))),Rt.disabled=(e(s),v(()=>e(s)?.q?.t!=1)),h(Er,(e(i),v(()=>e(i).conf?.mqtt?.timeout??"Timeout"))),h(Ft,(e(i),v(()=>e(i).conf?.mqtt?.keepalive??"Keep-alive"))),h(Lt,(e(i),v(()=>e(i).conf?.mqtt?.autoreboot??"Auto-reboot"))),h(tn,` ${e(i),v(()=>e(i).conf?.mqtt?.allowdestructive??"Allow destructive commands")??""}`)},[()=>($(Jt),v(()=>Jt("mqtt")))]),qe(ae,()=>e(s).q.h,et=>(ee(s,e(s).q.h=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(pe,()=>e(s).q.p,et=>(ee(s,e(s).q.p=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(re,()=>e(s).q.u,et=>(ee(s,e(s).q.u=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(De,()=>e(s).q.a,et=>(ee(s,e(s).q.a=et),G(()=>{e(i),e(a),e(g),e(m)}))),He("click",gt,_),qe(Xe,()=>e(s).q.c,et=>(ee(s,e(s).q.c=et),G(()=>{e(i),e(a),e(g),e(m)}))),At(Yt,()=>e(s).q.m,et=>(ee(s,e(s).q.m=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(hr,()=>e(s).q.b,et=>(ee(s,e(s).q.b=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Tt,()=>e(s).q.r,et=>(ee(s,e(s).q.r=et),G(()=>{e(i),e(a),e(g),e(m)}))),At(lr,()=>e(s).q.t,et=>(ee(s,e(s).q.t=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Rt,()=>e(s).q.d,et=>(ee(s,e(s).q.d=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(It,()=>e(s).q.i,et=>(ee(s,e(s).q.i=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Lr,()=>e(s).q.k,et=>(ee(s,e(s).q.k=et),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Pr,()=>e(s).q.e,et=>(ee(s,e(s).q.e=et),G(()=>{e(i),e(a),e(g),e(m)}))),_r(zr,()=>e(s).q.dc,et=>(ee(s,e(s).q.dc=et),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(be,D=>{e(s),v(()=>e(s)?.q)&&D(Le)});var Ve=l(be,2),ct=D=>{var V=I_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we),Te=c(Pe,!0),Ne=l(Te,3);oe(Ne),u(Pe);var Ie=l(Pe,2),ae=c(Ie,!0),pe=l(ae,3);oe(pe),u(Ie),u(we);var me=l(we,2),he=c(me),se=l(he),Ae=c(se);oe(Ae);var re=l(Ae,2);oe(re);var ie=l(re,2);oe(ie),u(se),u(me),u(V),j(Se=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.title??"Domoticz"))),Q(ce,"href",Se),h(Te,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.eidx??"Electricity IDX"))),Q(Ne,"pattern",ci),h(ae,(e(i),v(()=>e(i).conf?.mqtt?.domoticz?.cidx??"Current IDX"))),Q(pe,"pattern",ci),h(he,`${e(i),v(()=>e(i).conf?.mqtt?.domoticz?.vidx??"Voltage IDX")??""}: L1, L2 & L3 `),Q(Ae,"pattern",ci),Q(re,"pattern",ci),Q(ie,"pattern",ci)},[()=>($(Jt),v(()=>Jt("MQTT-configuration#domoticz")))]),qe(Ne,()=>e(s).o.e,Se=>(ee(s,e(s).o.e=Se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(pe,()=>e(s).o.c,Se=>(ee(s,e(s).o.c=Se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Ae,()=>e(s).o.u1,Se=>(ee(s,e(s).o.u1=Se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(re,()=>e(s).o.u2,Se=>(ee(s,e(s).o.u2=Se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ie,()=>e(s).o.u3,Se=>(ee(s,e(s).o.u3=Se),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ve,D=>{e(s),v(()=>e(s)?.q?.m==3)&&D(ct)});var Ge=l(Ve,2),ht=D=>{var V=W_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we,!0),Te=l(Pe,3);oe(Te),u(we);var Ne=l(we,2),Ie=c(Ne,!0),ae=l(Ie,3);oe(ae),u(Ne);var pe=l(Ne,2),me=c(pe,!0),he=l(me,3);oe(he),u(pe),u(V),j(se=>{h(Ee,(e(i),v(()=>e(i).conf?.mqtt?.ha?.title??"Home-Assistant"))),Q(ce,"href",se),h(Pe,(e(i),v(()=>e(i).conf?.mqtt?.ha?.discovery??"Discovery topic prefix"))),Q(Te,"pattern",ja),h(Ie,(e(i),v(()=>e(i).conf?.mqtt?.ha?.hostname??"Hostname for URL"))),Q(ae,"placeholder",`${e(s),v(()=>e(s).g.h)??""}.local`),Q(ae,"pattern",ja),h(me,(e(i),v(()=>e(i).conf?.mqtt?.ha?.tag??"Name tag"))),Q(he,"pattern",ja)},[()=>($(Jt),v(()=>Jt("MQTT-configuration#home-assistant")))]),qe(Te,()=>e(s).h.t,se=>(ee(s,e(s).h.t=se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ae,()=>e(s).h.h,se=>(ee(s,e(s).h.h=se),G(()=>{e(i),e(a),e(g),e(m)}))),qe(he,()=>e(s).h.n,se=>(ee(s,e(s).h.n=se),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(Ge,D=>{e(s),v(()=>e(s)?.q?.m==4)&&D(ht)});var ut=l(Ge,2),mt=D=>{var V=X_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=re=>{var ie=z_(),Se=c(ie),Fe=c(Se);oe(Fe),Fe.value=Fe.__value="true";var De=l(Fe);u(Se);var gt=l(Se,2),dt=at=>{var nt=H_(),Xe=fe(nt),bt=l(c(Xe),2),wt=c(bt),Yt=Pt=>{var sr=B_();sr.value=sr.__value=0,q(Pt,sr)};I(wt,Pt=>{e(s),v(()=>e(s).c.p==0)&&Pt(Yt)});var tr=l(wt);tr.value=tr.__value=1;var nr=l(tr);nr.value=nr.__value=2,u(bt),u(Xe);var vt=l(Xe,2),ir=Pt=>{var sr=U_();He("click",sr,Me),q(Pt,sr)};I(vt,Pt=>{e(S)&&Pt(ir)}),At(bt,()=>e(s).c.p,Pt=>(ee(s,e(s).c.p=Pt),G(()=>{e(i),e(a),e(g),e(m)}))),q(at,nt)};I(gt,at=>{e(s),v(()=>e(s).c.e)&&at(dt)}),u(ie),j(()=>h(De,` ${e(i),v(()=>e(i).conf?.cloud?.ams??"AMS reader cloud")??""}`)),_r(Fe,()=>e(s).c.e,at=>(ee(s,e(s).c.e=at),G(()=>{e(i),e(a),e(g),e(m)}))),q(re,ie)},Te=er(()=>(e(a),v(()=>e(a)?.features?.includes("cloud"))));I(we,re=>{e(Te)&&re(Pe)});var Ne=l(we,2),Ie=c(Ne),ae=c(Ie);oe(ae),ae.value=ae.__value="true";var pe=l(ae,2),me=re=>{var ie=G_(),Se=fe(ie),Fe=c(Se);u(Se);var De=l(Se,2),gt=c(De);u(De);var dt=l(De,2),at=nt=>{var Xe=Y_(),bt=c(Xe);{let wt=Ce(()=>(e(a),v(()=>e(a).mac))),Yt=Ce(()=>(e(a),v(()=>e(a).meter.id)));l_(bt,{get value(){return`{"mac":"${e(wt)??""}","meter":"${e(Yt)??""}"}`}})}u(Xe),q(nt,Xe)};I(dt,nt=>{e(a),v(()=>e(a).mac&&e(a).meter.id)&&nt(at)}),j(()=>{h(Fe,`MAC: ${e(a),v(()=>e(a).mac)??""}`),h(gt,`Meter ID: ${e(a),v(()=>e(a).meter.id?e(a).meter.id:"missing, required")??""}`)}),q(re,ie)};I(pe,re=>{e(s),v(()=>e(s)?.c?.es)&&re(me)}),u(Ie),u(Ne);var he=l(Ne,2),se=re=>{var ie=V_(),Se=fe(ie),Fe=c(Se),De=c(Fe);oe(De),De.value=De.__value="true",Ir(),u(Fe),u(Se);var gt=l(Se,2),dt=at=>{var nt=K_(),Xe=c(nt);oe(Xe),u(nt),qe(Xe,()=>e(s).c.zt,bt=>(ee(s,e(s).c.zt=bt),G(()=>{e(i),e(a),e(g),e(m)}))),q(at,nt)};I(gt,at=>{e(s),v(()=>e(s).c.ze)&&at(dt)}),_r(De,()=>e(s).c.ze,at=>(ee(s,e(s).c.ze=at),G(()=>{e(i),e(a),e(g),e(m)}))),q(re,ie)},Ae=er(()=>(e(a),v(()=>e(a)?.features?.includes("zc"))));I(he,re=>{e(Ae)&&re(se)}),u(V),j(re=>{h(Ee,(e(i),v(()=>e(i).conf?.cloud?.title??"Cloud connections"))),Q(ce,"href",re)},[()=>($(Jt),v(()=>Jt("cloud-connections")))]),_r(ae,()=>e(s).c.es,re=>(ee(s,e(s).c.es=re),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)};I(ut,D=>{e(s),v(()=>e(s)?.c)&&D(mt)});var $r=l(ut,2),Ur=D=>{var V=Z_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2);Xt(we,4,()=>({length:9}),Vt,(me,he,se)=>{var Ae=Q_(),re=c(Ae);re.textContent=se+1;var ie=l(re,2);oe(ie),Q(ie,"name",`t${se}`),Ir(2),u(Ae),qe(ie,()=>e(s).t.t[se],Se=>(ee(s,e(s).t.t[se]=Se),G(()=>{e(i),e(a),e(g),e(m)}))),q(me,Ae)}),u(we);var Pe=l(we,2),Te=c(Pe),Ne=c(Te,!0);u(Te);var Ie=l(Te,2);oe(Ie);var ae=l(Ie,2),pe=c(ae,!0);u(ae),u(Pe),u(V),j(me=>{h(Ee,(e(i),v(()=>e(i).conf?.thresholds?.title??"Thresholds"))),Q(ce,"href",me),h(Ne,(e(i),v(()=>e(i).conf?.thresholds?.avg??"Average of"))),h(pe,(e(i),v(()=>e(i).common?.hours??"hours")))},[()=>($(Jt),v(()=>Jt("tariff-thresholds")))]),qe(Ie,()=>e(s).t.h,me=>(ee(s,e(s).t.h=me),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)},Ar=er(()=>(e(s),v(()=>e(s)?.p?.r?.startsWith("NO")||e(s)?.p?.r?.startsWith("10YNO")||e(s)?.p?.r?.startsWith("10Y1001A1001A4"))));I($r,D=>{e(Ar)&&D(Ur)});var ke=l($r,2),je=D=>{var V=J_(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=l(ye,2),Pe=c(we);Xt(Pe,1,()=>d,Vt,(ae,pe)=>{n_(ae,{get cfg(){return e(s),v(()=>e(s).u)},get item(){return e(pe)},get translations(){return e(i)}})});var Te=l(Pe,2),Ne=c(Te),Ie=l(Ne);Xt(Ie,5,()=>e(m),Vt,(ae,pe)=>{var me=Fn(),he=c(me,!0);u(me);var se={};j(()=>{h(he,(e(pe),v(()=>e(pe).name))),se!==(se=(e(pe),v(()=>e(pe).code)))&&(me.value=(me.__value=(e(pe),v(()=>e(pe).code)))??"")}),q(ae,me)}),u(Ie),u(Te),u(we),u(V),j(ae=>{h(Ee,(e(i),v(()=>e(i).conf?.ui?.title??"User interface"))),Q(ce,"href",ae),h(Ne,`${e(i),v(()=>e(i).conf?.ui?.lang??"Language")??""} `)},[()=>($(Jt),v(()=>Jt("user-interface")))]),At(Ie,()=>e(s).u.lang,ae=>(ee(s,e(s).u.lang=ae),G(()=>{e(i),e(a),e(g),e(m)}))),He("change",Ie,te),q(D,V)};I(ke,D=>{e(s),v(()=>e(s)?.u)&&D(je)});var Ye=l(ke,2),rt=D=>{var V=op(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,2),ye=l(ce,2),we=he=>{var se=rp(),Ae=fe(se),re=l(Ae,2),ie=c(re),Se=c(ie,!0),Fe=l(Se,3);_n(Fe,()=>{var We=c(Fe),It=Vi();Mo(fe(It),{get chip(){return e(a),v(()=>e(a).chip)}}),q(We,It)}),u(ie);var De=l(ie,2),gt=c(De,!0),dt=l(gt,3);_n(dt,()=>{var We=c(dt),It=Vi();Mo(fe(It),{get chip(){return e(a),v(()=>e(a).chip)}}),q(We,It)}),u(De);var at=l(De,2),nt=c(at),Xe=c(nt);oe(Xe),Xe.value=Xe.__value="true";var bt=l(Xe);u(nt),u(at),u(re);var wt=l(re,2),Yt=c(wt),tr=c(Yt,!0),nr=l(tr,3);oe(nr),u(Yt);var vt=l(Yt,2),ir=c(vt,!0),Pt=l(ir,3),sr=c(Pt);oe(sr),u(Pt),u(vt);var ur=l(vt,2),jr=c(ur),cr=c(jr);oe(cr),cr.value=cr.__value="true";var Gr=l(cr);u(jr),u(ur);var hr=l(ur,2),Ue=c(hr,!0),Je=l(Ue),Tt=c(Je);oe(Tt),Tt.value=Tt.__value="true";var Gt=l(Tt);u(Je);var Nt=l(Je,3),Zt=c(Nt);oe(Zt);var or=l(Zt,2);oe(or);var Ot=l(or,2);oe(Ot),u(Nt),u(hr);var lr=l(hr,2),it=c(lr),st=c(it),St=l(st);oe(St),u(it),u(lr);var Kt=l(lr,2),Rt=c(Kt,!0),rr=l(Rt,3);oe(rr),u(Kt);var Ct=l(Kt,2),jt=c(Ct,!0),Er=l(jt,3);oe(Er),u(Ct);var mr=l(Ct,2),Ft=We=>{var It=ep(),Lr=c(It,!0),Pr=l(Lr,3);oe(Pr),u(It),j(()=>{h(Lr,(e(i),v(()=>e(i).conf?.hw?.vcc?.title??"Vcc"))),Q(Pr,"max",e(ve))}),qe(Pr,()=>e(s).i.v.p,Hr=>(ee(s,e(s).i.v.p=Hr),G(()=>{e(i),e(a),e(g),e(m)}))),q(We,It)};I(mr,We=>{e(a),v(()=>e(a).chip!="esp8266")&&We(Ft)});var vr=l(mr,2),Lt=We=>{var It=tp(),Lr=c(It,!0),Pr=l(Lr,3),Hr=c(Pr);oe(Hr);var ra=l(Hr,2);oe(ra),u(Pr),u(It),j(()=>{h(Lr,(e(i),v(()=>e(i).conf?.hw?.vcc?.divider??"Voltage divider"))),Q(Hr,"placeholder",(e(i),v(()=>e(i).conf?.hw?.vcc?.div_vcc??"VCC"))),Q(ra,"placeholder",(e(i),v(()=>e(i).conf?.hw?.vcc?.div_gnd??"GND")))}),qe(Hr,()=>e(s).i.v.d.v,zr=>(ee(s,e(s).i.v.d.v=zr),G(()=>{e(i),e(a),e(g),e(m)}))),qe(ra,()=>e(s).i.v.d.g,zr=>(ee(s,e(s).i.v.d.g=zr),G(()=>{e(i),e(a),e(g),e(m)}))),q(We,It)};I(vr,We=>{e(s),v(()=>e(s)?.i?.v?.p>0)&&We(Lt)}),u(wt),j(()=>{h(Se,(e(i),v(()=>e(i).conf?.hw?.han?.rx??"HAN RX"))),h(gt,(e(i),v(()=>e(i).conf?.hw?.han?.tx??"HAN TX"))),h(bt,` ${e(i),v(()=>e(i).conf?.hw?.han?.pullup??"pullup")??""}`),h(tr,(e(i),v(()=>e(i).conf?.hw?.ap_btn??"AP button"))),Q(nr,"max",e(ve)),h(ir,(e(i),v(()=>e(i).conf?.hw?.led?.title??"LED"))),Q(sr,"max",e(ve)),h(Gr,` ${e(i),v(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),h(Ue,(e(i),v(()=>e(i).conf?.hw?.led?.rgb??"RGB"))),h(Gt,` ${e(i),v(()=>e(i).conf?.hw?.led?.inverted??"inverted")??""}`),Q(Zt,"max",e(ve)),Q(or,"max",e(ve)),Q(Ot,"max",e(ve)),h(st,`${e(i),v(()=>e(i).conf?.hw?.led?.disable??"LED dis. GPIO")??""} `),Q(St,"max",e(ve)),h(Rt,(e(i),v(()=>e(i).conf?.hw?.temp??"Temperature"))),Q(rr,"max",e(ve)),h(jt,(e(i),v(()=>e(i).conf?.hw?.temp_analog??"Analog temp"))),Q(Er,"max",e(ve))}),At(Fe,()=>e(s).i.h.p,We=>(ee(s,e(s).i.h.p=We),G(()=>{e(i),e(a),e(g),e(m)}))),At(dt,()=>e(s).i.h.t,We=>(ee(s,e(s).i.h.t=We),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Xe,()=>e(s).i.h.u,We=>(ee(s,e(s).i.h.u=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(nr,()=>e(s).i.a,We=>(ee(s,e(s).i.a=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(sr,()=>e(s).i.l.p,We=>(ee(s,e(s).i.l.p=We),G(()=>{e(i),e(a),e(g),e(m)}))),_r(cr,()=>e(s).i.l.i,We=>(ee(s,e(s).i.l.i=We),G(()=>{e(i),e(a),e(g),e(m)}))),_r(Tt,()=>e(s).i.r.i,We=>(ee(s,e(s).i.r.i=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Zt,()=>e(s).i.r.r,We=>(ee(s,e(s).i.r.r=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(or,()=>e(s).i.r.g,We=>(ee(s,e(s).i.r.g=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Ot,()=>e(s).i.r.b,We=>(ee(s,e(s).i.r.b=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(St,()=>e(s).i.d.d,We=>(ee(s,e(s).i.d.d=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(rr,()=>e(s).i.t.d,We=>(ee(s,e(s).i.t.d=We),G(()=>{e(i),e(a),e(g),e(m)}))),qe(Er,()=>e(s).i.t.a,We=>(ee(s,e(s).i.t.a=We),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,se)};I(ye,he=>{e(a),v(()=>e(a).board>20)&&he(we)});var Pe=l(ye,2),Te=he=>{var se=ap(),Ae=c(se),re=l(Ae),ie=c(re),Se=c(ie,!0);u(ie),ie.value=ie.__value=0;var Fe=l(ie),De=c(Fe,!0);u(Fe),Fe.value=Fe.__value=1,u(re),u(se),j(()=>{h(Ae,`${e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.title??"LED behaviour")??""} `),h(Se,(e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.enabled??"Enabled"))),h(De,(e(i),v(()=>e(i).conf?.hw?.led?.behaviour?.disabled??"Disabled")))}),At(re,()=>e(s).i.d.b,gt=>(ee(s,e(s).i.d.b=gt),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,se)};I(Pe,he=>{e(s),v(()=>e(s)?.i?.d?.d>0)&&he(Te)});var Ne=l(Pe,2),Ie=he=>{var se=np(),Ae=l(fe(se)),re=c(Ae),ie=c(re,!0);u(re),re.value=re.__value=0;var Se=l(re),Fe=c(Se,!0);u(Se),Se.value=Se.__value=3,u(Ae),j(()=>{h(ie,(e(i),v(()=>e(i).conf?.hw?.powersaving?.[0]??"Normal"))),h(Fe,(e(i),v(()=>e(i).conf?.hw?.powersaving?.[3]??"Extreme (Experimental)")))}),At(Ae,()=>e(s).i.p,De=>(ee(s,e(s).i.p=De),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,se)},ae=er(()=>($(Sn),e(a),v(()=>Sn(e(a).board))));I(Ne,he=>{e(ae)&&he(Ie)});var pe=l(Ne,2),me=he=>{var se=sp(),Ae=fe(se),re=l(Ae,2),ie=c(re),Se=c(ie,!0),Fe=l(Se,3);oe(Fe),u(ie);var De=l(ie,2),gt=c(De,!0),dt=l(gt,3);oe(dt),u(De);var at=l(De,2),nt=Xe=>{var bt=ip(),wt=c(bt,!0),Yt=l(wt,3);oe(Yt),u(bt),j(()=>h(wt,(e(i),v(()=>e(i).conf?.hw?.vcc?.boot??"Boot limit")))),qe(Yt,()=>e(s).i.v.b,tr=>(ee(s,e(s).i.v.b=tr),G(()=>{e(i),e(a),e(g),e(m)}))),q(Xe,bt)};I(at,Xe=>{e(a),v(()=>e(a).board==2||e(a).board==100)&&Xe(nt)}),u(re),j(()=>{h(Se,(e(i),v(()=>e(i).conf?.hw?.vcc?.offset??"Vcc offset"))),h(gt,(e(i),v(()=>e(i).conf?.hw?.vcc?.multiplier??"Multiplier")))}),qe(Fe,()=>e(s).i.v.o,Xe=>(ee(s,e(s).i.v.o=Xe),G(()=>{e(i),e(a),e(g),e(m)}))),qe(dt,()=>e(s).i.v.m,Xe=>(ee(s,e(s).i.v.m=Xe),G(()=>{e(i),e(a),e(g),e(m)}))),q(he,se)};I(pe,he=>{e(a),v(()=>e(a).chip=="esp8266")&&he(me)}),u(V),j(he=>{h(Ee,(e(i),v(()=>e(i).conf?.hw?.title??"Hardware"))),Q(ce,"href",he)},[()=>($(Jt),v(()=>Jt("hardware")))]),q(D,V)};I(Ye,D=>{e(s),e(a),v(()=>e(s)?.i?.h&&(e(a)?.board>20||e(a)?.chip=="esp8266"||e(s)?.i?.d?.d>0))&&D(rt)});var zt=l(Ye,2),ft=D=>{var V=up(),ne=c(V),Ee=c(ne,!0);u(ne);var ce=l(ne,4),ye=l(ce,2),we=c(ye),Pe=c(we);oe(Pe),Pe.value=Pe.__value="true";var Te=l(Pe);u(we),u(ye);var Ne=l(ye,2),Ie=ae=>{var pe=vp(),me=fe(pe),he=c(me,!0);u(me);var se=l(me,2),Ae=c(se),re=c(Ae);oe(re),re.value=re.__value="true";var ie=l(re);u(Ae),u(se);var Se=l(se,2),Fe=bt=>{var wt=lp(),Yt=c(wt,!0);u(wt),j(()=>h(Yt,(e(i),v(()=>e(i).conf?.debug?.telnet_danger??"Disable when done")))),q(bt,wt)};I(Se,bt=>{e(s),v(()=>e(s).d.t)&&bt(Fe)});var De=l(Se,2),gt=c(De),dt=c(gt);dt.value=dt.__value=1;var at=l(dt);at.value=at.__value=2;var nt=l(at);nt.value=nt.__value=3;var Xe=l(nt);Xe.value=Xe.__value=4,u(gt),u(De),j(()=>{h(he,(e(i),v(()=>e(i).conf?.debug?.danger??"Disable when done"))),h(ie,` ${e(i),v(()=>e(i).conf?.debug?.telnet??"Enable telnet")??""}`)}),_r(re,()=>e(s).d.t,bt=>(ee(s,e(s).d.t=bt),G(()=>{e(i),e(a),e(g),e(m)}))),At(gt,()=>e(s).d.l,bt=>(ee(s,e(s).d.l=bt),G(()=>{e(i),e(a),e(g),e(m)}))),q(ae,pe)};I(Ne,ae=>{e(s),v(()=>e(s)?.d?.s)&&ae(Ie)}),u(V),j(()=>{h(Ee,(e(i),v(()=>e(i).conf?.debug?.title??"Debugging"))),h(Te,` ${e(i),v(()=>e(i).conf?.debug?.enable??"Enable debugging")??""}`)}),_r(Pe,()=>e(s).d.s,ae=>(ee(s,e(s).d.s=ae),G(()=>{e(i),e(a),e(g),e(m)}))),q(D,V)},Bt=er(()=>(e(s),e(a),v(()=>e(s)?.d&&e(a)?.features?.includes("rdebug"))));I(zt,D=>{e(Bt)&&D(ft)}),u(z);var Qt=l(z,2),Rr=c(Qt),br=D=>{var V=cp(),ne=fe(V),Ee=c(ne),ce=c(Ee,!0);u(Ee),u(ne);var ye=l(ne,2),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>{h(ce,(e(i),v(()=>e(i).conf?.btn_reset??"Factory reset"))),h(Pe,(e(i),v(()=>e(i).btn?.reboot??"Reboot")))}),He("click",Ee,R),He("click",we,T),q(D,V)};I(Rr,D=>{e(o),v(()=>e(o)?.a)&&D(br)});var _e=l(Rr,2),U=D=>{var V=fp(),ne=c(V),Ee=c(ne,!0);u(ne),u(V),j(()=>h(Ee,(e(i),v(()=>e(i).btn?.save??"Save")))),q(D,V)};I(_e,D=>{e(s)&&D(U)}),u(Qt),u(N),ms(N,D=>E(f,D),()=>e(f));var X=l(N,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.loading??"Loading")));Wr(X,{get active(){return e(b)},get message(){return e(D)}})}var xe=l(X,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.saving??"Saving")));Wr(xe,{get active(){return e(p)},get message(){return e(D)}})}var ue=l(xe,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.reset??"Factory reset")));Wr(ue,{get active(){return e(A)},get message(){return e(D)}})}var $e=l(ue,2);{let D=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.reset_done??"Done")));Wr($e,{get active(){return e(P)},get message(){return e(D)}})}He("submit",N,On(Y)),q(t,M),yt()}var pp=F('
'),hp=F(' '),mp=F(' '),gp=F('
 
'),bp=F('
');function xp(t,n){xt(n,!1);let r=de(n,"services",24,()=>[]),a=de(n,"translations",24,()=>({}));const o={mqtt:"MQTT",mqtt_c:"MQTT (custom)",mqtt_es:"Flexpartner.Energy",price:"Price service",ntp:"NTP",cloud:"Cloud",zc:"ZmartCharge"};function f(A){return A.n??a().status?.services?.[A.k]??a().header?.[A.k]??o[A.k]??A.k}function i(A){return a().status?.services?.state?.[A]??{0:"Disabled",1:"OK",2:"Connecting",3:"Error"}[A]??A}const d={mqtt:"mqtt",mqtt_c:"mqtt",mqtt_es:"mqtt",price:"price",cloud:"http",zc:"http"};function b(A){if(!A.e)return"";const P=d[A.k];return a().errors?.[P]?.[A.e]??A.e}Mt();var p=bp(),S=c(p),s=c(S,!0);u(S);var m=l(S,2),k=A=>{var P=pp(),R=c(P,!0);u(P),j(()=>h(R,($(a()),v(()=>a().status?.services?.none??"No services configured")))),q(A,P)},g=A=>{var P=Mr(),R=fe(P);Xt(R,1,r,Vt,(Y,H)=>{var T=gp(),O=c(T),C=l(O,2),B=c(C),J=c(B,!0);u(B);var te=l(B,2),le=_=>{var w=hp(),y=c(w,!0);u(w),j(()=>{Q(w,"title",(e(H),v(()=>e(H).d))),h(y,(e(H),v(()=>e(H).d)))}),q(_,w)};I(te,_=>{e(H),v(()=>e(H).d)&&_(le)}),u(C);var ve=l(C,2),Me=c(ve,!0);u(ve);var K=l(ve,2),x=_=>{var w=mp(),y=c(w,!0);u(w),j(M=>{Q(w,"title",(e(H),v(()=>e(H).e))),h(y,M)},[()=>(e(H),v(()=>b(e(H))))]),q(_,w)};I(K,_=>{e(H),v(()=>e(H).e)&&_(x)}),u(T),j((_,w,y)=>{Zr(O,1,`bd-${_??""} mr-2 flex-none`),h(J,w),h(Me,y)},[()=>($(Aa),e(H),v(()=>Aa(e(H).s))),()=>(e(H),v(()=>f(e(H)))),()=>(e(H),v(()=>i(e(H).s)))]),q(Y,T)}),q(A,P)};I(m,A=>{$(r()),v(()=>!r()||r().length===0)?A(k):A(g,-1)}),u(p),j(()=>h(s,($(a()),v(()=>a().status?.services?.title??"Services")))),q(t,p),yt()}var yp=F('
',1),wp=F(''),kp=F('
'),Xl=F('DNSv6: ',1),$p=F('
IPv6:
',1),Sp=F('
'),qp=F('
Channel:
'),Ql=F('
'),Mp=F('
'),Ep=F(' ',1),Tp=F('
'),Ap=F(''),Pp=F(' ',1),Op=F('
'),Cp=F(''),Np=F(''),Lp=F(''),Dp=F(' ',1),Rp=F('
'),jp=F(' ',1);function Fp(t,n){xt(n,!1);let r=W(),a=W();Os.subscribe(_e=>E(r,_e)),qr.subscribe(_e=>E(a,_e));const o=_e=>{if(!_e)return _e;const U=_e.toLowerCase().split(":").map(D=>D.replace(/^0+/,"")||"0");let X=-1,xe=0,ue=-1,$e=0;for(let D=0;Dxe&&(X=ue,xe=$e),ue=-1,$e=0);if($e>xe&&(X=ue,xe=$e),xe>1){const D=U.slice(0,X),V=U.slice(X+xe);return D.length===0&&V.length===0?"::":D.length===0?"::"+V.join(":"):V.length===0?D.join(":")+"::":D.join(":")+"::"+V.join(":")}return U.join(":")};let f=[{name:"WiFi",key:"iw"},{name:"MQTT",key:"im"},{name:"Web",key:"ie"},{name:"Meter",key:"it"},{name:"Thresholds",key:"ih"},{name:"GPIO",key:"ig"},{name:"NTP",key:"in"},{name:"Price",key:"is"}],i=W({});Xr.subscribe(_e=>{E(i,_e)});let d;Ps(()=>{d=setInterval(hn,1e4)}),su(()=>{d&&clearInterval(d)});let b=W();function p(){confirm((e(i).header?.upgrade??"Upgrade to {0}?").replace("{0}",e(a).upgrade.n))&&(hu(e(a).upgrade.n),qr.update(_e=>(_e.upgrade.t=e(a).upgrade.n,_e.upgrade.p=0,_e.upgrading=!0,_e)))}async function S(){await(await fetch("reboot",{method:"POST"})).json()}const s=function(){confirm(e(i).device?.reboot_confirm??"Reboot?")&&(qr.update(_e=>(_e.booting=!0,_e)),S())};let m=W(),k=W(null),g=W(!1),A=W(),P=W(null),R=W(!1);hn();let Y=W({hostname:"",ip:""});function H(_e){E(R,!0);const U=new FormData;U.append("file",e(P)[0]),fetch("configfile",{method:"POST",body:U}).then(X=>X.json()).then(X=>{qr.update(xe=>(e(Y)&&e(Y).hostname&&(xe.hostname=e(Y).hostname),xe.booting=X.reboot,e(Y)&&e(Y).ip&&(xe.net.ip=e(Y).ip),setTimeout(Ti,5e3,e(a)),xe))}).catch(X=>{console.error("Error:",X),setTimeout(Ti,5e3,e(a))})}function T(){const _e=new FormData;_e.append("channel",e(a).upgrade.c),fetch("fwchannel",{method:"POST",body:_e})}gr(()=>(e(r),e(b),hn),()=>{e(r)&&e(r).sa!==void 0&&e(r).sa!==e(b)&&(e(b)!==void 0&&hn(),E(b,e(r).sa))}),gr(()=>e(P),()=>{if(e(P)&&e(P).length==1){let _e=e(P)[0],U=new FileReader,X=xe=>{let ue=xe.target.result.split(` -`);for(let $e in ue){let D=ue[$e];D.startsWith("hostname ")?ee(Y,e(Y).hostname=D.split(" ")[1]):D.startsWith("ip ")&&ee(Y,e(Y).ip=D.split(" ")[1])}};U.onload=X,U.readAsText(_e)}}),kr(),Mt();var O=jp(),C=fe(O),B=c(C),J=c(B),te=c(J,!0);u(J);var le=l(J,2),ve=c(le),Me=l(ve),K=_e=>{var U=da();j(()=>h(U,`(${e(a),v(()=>e(a).cpu)??""}MHz)`)),q(_e,U)};I(Me,_e=>{e(a),v(()=>e(a).cpu)&&_e(K)}),u(le);var x=l(le,2),_=c(x),w=l(_),y=c(w,!0);u(w),u(x);var M=l(x,2),N=c(M);u(M);var z=l(M,2),Z=_e=>{var U=yp(),X=fe(U),xe=c(X);u(X);var ue=l(X,2),$e=c(ue),D=l($e),V=ye=>{{let we=Ce(()=>(e(r),v(()=>new Date(new Date().getTime()-e(r).u*1e3))));mu(ye,{get timestamp(){return e(we)},fullTimeColor:"",get offset(){return e(a),v(()=>e(a).clock_offset)}})}},ne=ye=>{var we=da("-");q(ye,we)};I(D,ye=>{e(r),v(()=>e(r).u>0)?ye(V):ye(ne,-1)}),u(ue);var Ee=l(ue,2),ce=c(Ee);u(Ee),j(ye=>{h(xe,`${e(i),v(()=>e(i).status?.device?.apmac??"AP MAC")??""}: ${e(a),v(()=>e(a).apmac)??""}`),h($e,`${e(i),v(()=>e(i).status?.device?.last_boot??"Last boot")??""}: `),h(ce,`${e(i),v(()=>e(i).status?.device?.reason??"Reason")??""}: ${ye??""} (${e(a),v(()=>e(a).boot_reason)??""}/${e(a),v(()=>e(a).ex_cause)??""})`)},[()=>(e(i),$(jl),e(a),v(()=>e(i)[jl(e(a).chip)]?.reason?.[e(a).boot_reason]??e(a).boot_reason))]),q(_e,U)};I(z,_e=>{e(a),v(()=>e(a).apmac&&e(a).apmac!=e(a).mac)&&_e(Z)});var ge=l(z,2),Be=_e=>{var U=wp(),X=c(U),xe=c(X),ue=c(xe,!0);u(xe),u(X);var $e=l(X,2),D=c($e,!0);u($e),u(U),j(()=>{h(ue,(e(i),v(()=>e(i).status?.device?.btn_consents??"Consents"))),h(D,(e(i),v(()=>e(i).btn?.reboot??"Reboot")))}),He("click",$e,s),q(_e,U)};I(ge,_e=>{e(r),v(()=>e(r)?.a)&&_e(Be)}),u(B);var Oe=l(B,2),ze=_e=>{var U=kp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne),u(U),j(ce=>{h(xe,(e(i),v(()=>e(i).status?.meter?.title??"Meter"))),h($e,`${e(i),v(()=>e(i).status?.meter?.manufacturer??"Manufacturer")??""}: ${ce??""}`),h(V,`${e(i),v(()=>e(i).status?.meter?.model??"Model")??""}: ${e(a),v(()=>e(a).meter.model?e(a).meter.model:"unknown")??""}`),h(Ee,`${e(i),v(()=>e(i).status?.meter?.id??"ID")??""}: ${e(a),v(()=>e(a).meter.id?e(a).meter.id:"unknown")??""}`)},[()=>($(gs),e(a),v(()=>gs(e(a).meter.mfg)))]),q(_e,U)};I(Oe,_e=>{e(a),v(()=>e(a).meter)&&_e(ze)});var pt=l(Oe,2);xp(pt,{get services(){return e(a),v(()=>e(a).services)},get translations(){return e(i)}});var Ze=l(pt,2),Et=_e=>{var U=Sp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne);var ce=l(ne,2),ye=c(ce),we=ae=>{var pe=da();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns1)??""}`)),q(ae,pe)};I(ye,ae=>{e(a),v(()=>e(a).net.dns1)&&ae(we)});var Pe=l(ye,2),Te=ae=>{var pe=da();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns2)??""}`)),q(ae,pe)};I(Pe,ae=>{e(a),v(()=>e(a).net.dns2)&&ae(Te)}),u(ce);var Ne=l(ce,2),Ie=ae=>{var pe=$p(),me=fe(pe),he=l(c(me)),se=c(he,!0);u(he),u(me);var Ae=l(me,2),re=c(Ae),ie=De=>{var gt=Xl(),dt=l(fe(gt)),at=c(dt,!0);u(dt),j(nt=>h(at,nt),[()=>(e(a),v(()=>o(e(a).net.dns1v6)))]),q(De,gt)};I(re,De=>{e(a),v(()=>e(a).net.dns1v6)&&De(ie)});var Se=l(re,2),Fe=De=>{var gt=Xl(),dt=l(fe(gt)),at=c(dt,!0);u(dt),j(nt=>h(at,nt),[()=>(e(a),v(()=>o(e(a).net.dns2v6)))]),q(De,gt)};I(Se,De=>{e(a),v(()=>e(a).net.dns2v6)&&De(Fe)}),u(Ae),j(De=>h(se,De),[()=>(e(a),v(()=>o(e(a).net.ipv6)))]),q(ae,pe)};I(Ne,ae=>{e(a),v(()=>e(a).net.ipv6)&&ae(Ie)}),u(U),j(()=>{h(xe,(e(i),v(()=>e(i).status?.network?.title??"Network"))),h($e,`${e(i),v(()=>e(i).conf?.network?.ip??"IP")??""}: ${e(a),v(()=>e(a).net.ip)??""}`),h(V,`${e(i),v(()=>e(i).conf?.network?.mask??"Mask")??""}: ${e(a),v(()=>e(a).net.mask)??""}`),h(Ee,`${e(i),v(()=>e(i).conf?.network?.gw??"Gateway")??""}: ${e(a),v(()=>e(a).net.gw)??""}`)}),q(_e,U)};I(Ze,_e=>{e(a),v(()=>e(a).net)&&_e(Et)});var be=l(Ze,2),Le=c(be),Ve=c(Le,!0);u(Le);var ct=l(Le,2),Ge=l(ct,2),ht=_e=>{var U=qp(),X=l(c(U)),xe=c(X);xe.value=xe.__value=0;var ue=l(xe);ue.value=ue.__value=1;var $e=l(ue);$e.value=$e.__value=2;var D=l($e);D.value=D.__value=3,u(X),u(U),At(X,()=>e(a).upgrade.c,V=>(ee(a,e(a).upgrade.c=V),G(()=>{}))),He("change",X,T),q(_e,U)};I(Ge,_e=>{e(a),v(()=>e(a).fwconsent===1)&&_e(ht)});var ut=l(Ge,2),mt=c(ut);u(ut);var $r=l(ut,2),Ur=_e=>{var U=Ql(),X=c(U),xe=c(X);u(X),u(U),j(ue=>h(xe,`${ue??""} +`);for(let $e in ue){let D=ue[$e];D.startsWith("hostname ")?ee(Y,e(Y).hostname=D.split(" ")[1]):D.startsWith("ip ")&&ee(Y,e(Y).ip=D.split(" ")[1])}};U.onload=X,U.readAsText(_e)}}),kr(),Mt();var O=jp(),C=fe(O),B=c(C),J=c(B),te=c(J,!0);u(J);var le=l(J,2),ve=c(le),Me=l(ve),K=_e=>{var U=da();j(()=>h(U,`(${e(a),v(()=>e(a).cpu)??""}MHz)`)),q(_e,U)};I(Me,_e=>{e(a),v(()=>e(a).cpu)&&_e(K)}),u(le);var x=l(le,2),_=c(x),w=l(_),y=c(w,!0);u(w),u(x);var M=l(x,2),N=c(M);u(M);var z=l(M,2),Z=_e=>{var U=yp(),X=fe(U),xe=c(X);u(X);var ue=l(X,2),$e=c(ue),D=l($e),V=ye=>{{let we=Ce(()=>(e(r),v(()=>new Date(new Date().getTime()-e(r).u*1e3))));mu(ye,{get timestamp(){return e(we)},fullTimeColor:"",get offset(){return e(a),v(()=>e(a).clock_offset)}})}},ne=ye=>{var we=da("-");q(ye,we)};I(D,ye=>{e(r),v(()=>e(r).u>0)?ye(V):ye(ne,-1)}),u(ue);var Ee=l(ue,2),ce=c(Ee);u(Ee),j(ye=>{h(xe,`${e(i),v(()=>e(i).status?.device?.apmac??"AP MAC")??""}: ${e(a),v(()=>e(a).apmac)??""}`),h($e,`${e(i),v(()=>e(i).status?.device?.last_boot??"Last boot")??""}: `),h(ce,`${e(i),v(()=>e(i).status?.device?.reason??"Reason")??""}: ${ye??""} (${e(a),v(()=>e(a).boot_reason)??""}/${e(a),v(()=>e(a).ex_cause)??""})`)},[()=>(e(i),$(jl),e(a),v(()=>e(i)[jl(e(a).chip)]?.reason?.[e(a).boot_reason]??e(a).boot_reason))]),q(_e,U)};I(z,_e=>{e(a),v(()=>e(a).apmac&&e(a).apmac!=e(a).mac)&&_e(Z)});var ge=l(z,2),Be=_e=>{var U=wp(),X=c(U),xe=c(X),ue=c(xe,!0);u(xe),u(X);var $e=l(X,2),D=c($e,!0);u($e),u(U),j(()=>{h(ue,(e(i),v(()=>e(i).status?.device?.btn_consents??"Consents"))),h(D,(e(i),v(()=>e(i).btn?.reboot??"Reboot")))}),He("click",$e,s),q(_e,U)};I(ge,_e=>{e(r),v(()=>e(r)?.a)&&_e(Be)}),u(B);var Oe=l(B,2),ze=_e=>{var U=kp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne),u(U),j(ce=>{h(xe,(e(i),v(()=>e(i).status?.meter?.title??"Meter"))),h($e,`${e(i),v(()=>e(i).status?.meter?.manufacturer??"Manufacturer")??""}: ${ce??""}`),h(V,`${e(i),v(()=>e(i).status?.meter?.model??"Model")??""}: ${e(a),v(()=>e(a).meter.model?e(a).meter.model:"unknown")??""}`),h(Ee,`${e(i),v(()=>e(i).status?.meter?.id??"ID")??""}: ${e(a),v(()=>e(a).meter.id?e(a).meter.id:"unknown")??""}`)},[()=>(e(a),$(gs),v(()=>e(a).meter.manufacturer||gs(e(a).meter.mfg)))]),q(_e,U)};I(Oe,_e=>{e(a),v(()=>e(a).meter)&&_e(ze)});var pt=l(Oe,2);xp(pt,{get services(){return e(a),v(()=>e(a).services)},get translations(){return e(i)}});var Ze=l(pt,2),Et=_e=>{var U=Sp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue);u(ue);var D=l(ue,2),V=c(D);u(D);var ne=l(D,2),Ee=c(ne);u(ne);var ce=l(ne,2),ye=c(ce),we=ae=>{var pe=da();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns1)??""}`)),q(ae,pe)};I(ye,ae=>{e(a),v(()=>e(a).net.dns1)&&ae(we)});var Pe=l(ye,2),Te=ae=>{var pe=da();j(()=>h(pe,`${e(i),v(()=>e(i).conf?.network?.dns??"DNS")??""}: ${e(a),v(()=>e(a).net.dns2)??""}`)),q(ae,pe)};I(Pe,ae=>{e(a),v(()=>e(a).net.dns2)&&ae(Te)}),u(ce);var Ne=l(ce,2),Ie=ae=>{var pe=$p(),me=fe(pe),he=l(c(me)),se=c(he,!0);u(he),u(me);var Ae=l(me,2),re=c(Ae),ie=De=>{var gt=Xl(),dt=l(fe(gt)),at=c(dt,!0);u(dt),j(nt=>h(at,nt),[()=>(e(a),v(()=>o(e(a).net.dns1v6)))]),q(De,gt)};I(re,De=>{e(a),v(()=>e(a).net.dns1v6)&&De(ie)});var Se=l(re,2),Fe=De=>{var gt=Xl(),dt=l(fe(gt)),at=c(dt,!0);u(dt),j(nt=>h(at,nt),[()=>(e(a),v(()=>o(e(a).net.dns2v6)))]),q(De,gt)};I(Se,De=>{e(a),v(()=>e(a).net.dns2v6)&&De(Fe)}),u(Ae),j(De=>h(se,De),[()=>(e(a),v(()=>o(e(a).net.ipv6)))]),q(ae,pe)};I(Ne,ae=>{e(a),v(()=>e(a).net.ipv6)&&ae(Ie)}),u(U),j(()=>{h(xe,(e(i),v(()=>e(i).status?.network?.title??"Network"))),h($e,`${e(i),v(()=>e(i).conf?.network?.ip??"IP")??""}: ${e(a),v(()=>e(a).net.ip)??""}`),h(V,`${e(i),v(()=>e(i).conf?.network?.mask??"Mask")??""}: ${e(a),v(()=>e(a).net.mask)??""}`),h(Ee,`${e(i),v(()=>e(i).conf?.network?.gw??"Gateway")??""}: ${e(a),v(()=>e(a).net.gw)??""}`)}),q(_e,U)};I(Ze,_e=>{e(a),v(()=>e(a).net)&&_e(Et)});var be=l(Ze,2),Le=c(be),Ve=c(Le,!0);u(Le);var ct=l(Le,2),Ge=l(ct,2),ht=_e=>{var U=qp(),X=l(c(U)),xe=c(X);xe.value=xe.__value=0;var ue=l(xe);ue.value=ue.__value=1;var $e=l(ue);$e.value=$e.__value=2;var D=l($e);D.value=D.__value=3,u(X),u(U),At(X,()=>e(a).upgrade.c,V=>(ee(a,e(a).upgrade.c=V),G(()=>{}))),He("change",X,T),q(_e,U)};I(Ge,_e=>{e(a),v(()=>e(a).fwconsent===1)&&_e(ht)});var ut=l(Ge,2),mt=c(ut);u(ut);var $r=l(ut,2),Ur=_e=>{var U=Ql(),X=c(U),xe=c(X);u(X),u(U),j(ue=>h(xe,`${ue??""} ${e(i),e(a),v(()=>e(i).errors?.upgrade?.[e(a).upgrade.e]??e(a).upgrade.e)??""}`),[()=>(e(i),e(a),v(()=>(e(i).status?.firmware?.failed??"Upgrade from {0} to {1} failed").replace("{0}",e(a).upgrade.f).replace("{1}",e(a).upgrade.t)))]),q(_e,U)};I($r,_e=>{e(a),v(()=>e(a).upgrade.t&&e(a).upgrade.t!=e(a).version&&e(a).upgrade.e!=0&&e(a).upgrade.e!=123)&&_e(Ur)});var Ar=l($r,2),ke=_e=>{var U=Ep(),X=fe(U),xe=c(X),ue=l(xe),$e=c(ue,!0);u(ue);var D=l(ue,2),V=ce=>{var ye=Mp(),we=c(ye);u(ye),j(()=>Q(ye,"title",(e(i),v(()=>e(i).status?.firmware?.install??"Install")))),He("click",we,p),q(ce,ye)};I(D,ce=>{e(a),e(r),v(()=>(e(a).security==0||e(r).a)&&e(a).fwconsent===1&&e(a).upgrade.n&&e(a).upgrade.n!=e(a).version)&&ce(V)}),u(X);var ne=l(X,2),Ee=ce=>{var ye=Ql(),we=c(ye),Pe=c(we,!0);u(we),u(ye),j(()=>h(Pe,(e(i),v(()=>e(i).status?.firmware?.no_one_click??"One-click upgrade disabled")))),q(ce,ye)};I(ne,ce=>{e(a),v(()=>e(a).fwconsent===2)&&ce(Ee)}),j(()=>{h(xe,`${e(i),v(()=>e(i).status?.firmware?.latest??"Latest")??""}: `),Q(ue,"href",(e(a),v(()=>"https://github.com/UtilitechAS/amsreader-firmware/releases/tag/"+e(a).upgrade.n))),h($e,(e(a),v(()=>e(a).upgrade.n)))}),q(_e,U)};I(Ar,_e=>{e(a),v(()=>e(a).upgrade.n)&&_e(ke)});var je=l(Ar,2),Ye=_e=>{var U=Tp(),X=c(U,!0);u(U),j(xe=>h(X,xe),[()=>($(Bl),$(Re),e(a),v(()=>Bl(Re(e(a).chip,e(a).board))))]),q(_e,U)},rt=er(()=>(e(a),e(r),$(Sn),v(()=>(e(a).security==0||e(r).a)&&Sn(e(a).board))));I(je,_e=>{e(rt)&&_e(Ye)});var zt=l(je,2),ft=_e=>{var U=Op(),X=c(U),xe=c(X);ms(xe,V=>E(m,V),()=>e(m));var ue=l(xe,2),$e=V=>{var ne=Ap(),Ee=c(ne,!0);u(ne),j(()=>h(Ee,(e(i),v(()=>e(i).status?.firmware?.btn_select_file??"Select file")))),He("click",ne,()=>{e(m).click()}),q(V,ne)},D=V=>{var ne=Pp(),Ee=fe(ne),ce=l(Ee),ye=c(ce,!0);u(ce),j(()=>{h(Ee,`${e(k),v(()=>e(k)[0].name)??""} `),h(ye,(e(i),v(()=>e(i).btn?.upload??"Upload")))}),q(V,ne)};I(ue,V=>{e(k),v(()=>!e(k)||e(k).length==0)?V($e):V(D,-1)}),u(X),u(U),El(xe,()=>e(k),V=>E(k,V)),He("submit",X,()=>E(g,!0)),q(_e,U)};I(zt,_e=>{e(a),e(r),v(()=>e(a).security==0||e(r).a)&&_e(ft)}),u(be);var Bt=l(be,2),Qt=_e=>{var U=Rp(),X=c(U),xe=c(X,!0);u(X);var ue=l(X,2),$e=c(ue),D=c($e);Xt(D,1,()=>f,Vt,(me,he)=>{var se=Cp(),Ae=c(se);oe(Ae);var re=l(Ae);u(se),j(()=>{Q(Ae,"name",(e(he),v(()=>e(he).key))),h(re,` ${e(i),e(he),v(()=>e(i).status?.backup?.[e(he).key]??e(he).name)??""}`)}),q(me,se)});var V=l(D,2),ne=c(V),Ee=l(ne),ce=l(Ee,2),ye=c(ce,!0);u(ce),u(V),u($e);var we=l($e,2),Pe=me=>{var he=Np(),se=c(he,!0);u(he),j(()=>h(se,(e(i),v(()=>e(i).status?.backup?.btn_download??"Download")))),q(me,he)};I(we,me=>{e(P),v(()=>!e(P)||e(P).length==0)&&me(Pe)}),u(ue);var Te=l(ue,2),Ne=c(Te);ms(Ne,me=>E(A,me),()=>e(A));var Ie=l(Ne,2),ae=me=>{var he=Lp(),se=c(he,!0);u(he),j(()=>h(se,(e(i),v(()=>e(i).status?.backup?.btn_select_file??"Select file")))),He("click",he,()=>{e(A).click()}),q(me,he)},pe=me=>{var he=Dp(),se=fe(he),Ae=l(se),re=c(Ae,!0);u(Ae),j(()=>{h(se,`${e(P),v(()=>e(P)[0].name)??""} `),h(re,(e(i),v(()=>e(i).btn?.upload??"Upload")))}),q(me,he)};I(Ie,me=>{e(P),v(()=>!e(P)||e(P).length==0)?me(ae):me(pe,-1)}),u(Te),u(U),j(()=>{h(xe,(e(i),v(()=>e(i).status?.backup?.title??"Backup"))),h(Ee,` ${e(i),v(()=>e(i).status?.backup?.secrets??"Include secrets")??""}`),h(ye,(e(i),v(()=>e(i).status?.backup?.secrets_desc??"")))}),El(Ne,()=>e(P),me=>E(P,me)),He("submit",Te,On(H)),q(_e,U)};I(Bt,_e=>{e(a),e(r),v(()=>e(a).security==0||e(r).a)&&_e(Qt)}),u(C);var Rr=l(C,2);{let _e=Ce(()=>(e(i),v(()=>e(i).status?.mask?.firmware??"Uploading")));Wr(Rr,{get active(){return e(g)},get message(){return e(_e)}})}var br=l(Rr,2);{let _e=Ce(()=>(e(i),v(()=>e(i).status?.mask?.config??"Uploading")));Wr(br,{get active(){return e(R)},get message(){return e(_e)}})}j((_e,U)=>{h(te,(e(i),v(()=>e(i).status?.device.title??"Device"))),h(ve,`${e(i),v(()=>e(i).status?.device?.chip??"Chip")??""}: ${e(a),v(()=>e(a).chip)??""} `),h(_,`${e(i),v(()=>e(i).status?.device?.device??"Device")??""}: `),h(y,_e),h(N,`${e(i),v(()=>e(i).status?.device?.mac??"MAC")??""}: ${e(a),v(()=>e(a).mac)??""}`),h(Ve,(e(i),v(()=>e(i).status?.firmware?.title??"Firmware"))),Q(ct,"href",U),h(mt,`${e(i),v(()=>e(i).status?.firmware?.installed??"Installed")??""}: ${e(a),v(()=>e(a).version)??""}`)},[()=>($(Re),e(a),v(()=>Re(e(a).chip,e(a).board))),()=>($(Jt),v(()=>Jt("statusinformation-screen")))]),q(t,O),yt()}var Xi=F(" "),Zl=F(""),Jl=F(""),Ip=F('
🗑

',1),Wp=F('

',1);function Bp(t,n){xt(n,!1);let r=W({});Xr.subscribe(y=>{E(r,y)});let a=["mo","tu","we","th","fr","sa","su"],o=W({}),f=W(!0),i=W(!1);bu.subscribe(y=>{y.o&&(E(o,y),E(f,!1))}),Gd();async function d(y){E(i,!0);const M=new URLSearchParams;M.append("r","true"),M.append("rc",e(o).o.length),e(o).o.forEach(function(N,z){M.append("rt"+z,N.t),M.append("rn"+z,N.n),M.append("rd"+z,N.d),M.append("ra"+z,N.a),M.append("rh"+z,N.h),M.append("rv"+z,N.v),M.append("rsm"+z,N.s.m),M.append("rsd"+z,N.s.d),M.append("rem"+z,N.e.m),M.append("red"+z,N.e.d)}),await(await fetch("save",{method:"POST",body:M})).json(),E(i,!1),Za("/configuration")}let b=function(y,M){return y.includes(M)?y=y.filter(function(N){return N!==M}):y.push(M),y},p=function(){let y=e(o).o;y.push({t:1,n:"",d:3,a:[0,1,2,3,4,5,6,7],h:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],v:.001,s:{m:0,d:0},e:{m:0,d:0}}),ee(o,e(o).o=y)},S=function(y){let M=e(o).o;M.splice(y,1),ee(o,e(o).o=M)},s=function(y){if(y<=0)return;let M=e(o).o;var N=M[y];M[y]=M[y-1],M[y-1]=N,ee(o,e(o).o=M)};function m(y){return y===0?31:new Date(2024,y,0).getDate()}function k(y,M){const N=m(M);y.d>N&&(y.d=N)}let g=function(y){let M=e(o).o;if(!(y>=M.length-1)){var N=M[y];M[y]=M[y+1],M[y+1]=N,ee(o,e(o).o=M)}};Mt();var A=Wp(),P=fe(A),R=c(P),Y=c(R,!0);u(R);var H=l(R,2),T=l(H,4),O=c(T),C=l(O,2),B=y=>{var M=Mr(),N=fe(M);Xt(N,1,()=>e(o).o,Vt,(z,Z,ge)=>{var Be=Ip(),Oe=fe(Be),ze=c(Oe),pt=c(ze);oe(pt),u(ze);var Ze=l(ze,2),Et=c(Ze),be=c(Et),Le=c(be,!0);u(be),be.value=be.__value=1;var Ve=l(be),ct=c(Ve,!0);u(Ve),Ve.value=Ve.__value=2;var Ge=l(Ve),ht=c(Ge,!0);u(Ge),Ge.value=Ge.__value=3,u(Et);var ut=l(Et,2),mt=c(ut),$r=c(mt,!0);u(mt),mt.value=mt.__value=0;var Ur=l(mt);Ur.value=Ur.__value=1;var Ar=l(Ur);Ar.value=Ar.__value=3;var ke=l(Ar);ke.value=ke.__value=2,u(ut);var je=l(ut,2);oe(je),u(Ze);var Ye=l(Ze,2),rt=c(Ye),zt=c(rt);u(rt);var ft=l(rt,2);Xt(ft,4,()=>({length:7}),Vt,(se,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j(Fe=>{Zr(ie,1,Fe),h(Se,a[re])},[()=>vn(e(Z).a.includes(re)?"bd-on":"bd-off")]),He("click",ie,()=>(e(Z).a=b(e(Z).a,re),G(()=>e(o)),G(()=>{e(r)}))),q(se,ie)}),u(ft),u(Ye);var Bt=l(Ye,2),Qt=c(Bt),Rr=c(Qt);u(Qt);var br=l(Qt,2),_e=c(br);Xt(_e,4,()=>({length:8}),Vt,(se,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Zr(ie,1,Fe),h(Se,De)},[()=>vn(e(Z).h.includes(re)?"bd-on":"bd-off"),()=>re.toString().padStart(2,"0")]),He("click",ie,()=>(e(Z).h=b(e(Z).h,re),G(()=>e(o)),G(()=>{e(r)}))),q(se,ie)}),u(_e);var U=l(_e,2);Xt(U,4,()=>({length:8}),Vt,(se,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Zr(ie,1,Fe),h(Se,De)},[()=>vn(e(Z).h.includes(re+8)?"bd-on":"bd-off"),()=>(re+8).toString().padStart(2,"0")]),He("click",ie,()=>(e(Z).h=b(e(Z).h,re+8),G(()=>e(o)),G(()=>{e(r)}))),q(se,ie)}),u(U);var X=l(U,2);Xt(X,4,()=>({length:8}),Vt,(se,Ae,re)=>{var ie=Xi(),Se=c(ie,!0);u(ie),j((Fe,De)=>{Zr(ie,1,Fe),h(Se,De)},[()=>vn(e(Z).h.includes(re+16)?"bd-on":"bd-off"),()=>(re+16).toString().padStart(2,"0")]),He("click",ie,()=>(e(Z).h=b(e(Z).h,re+16),G(()=>e(o)),G(()=>{e(r)}))),q(se,ie)}),u(X),u(br),u(Bt);var xe=l(Bt,2),ue=c(xe),$e=c(ue);$e.value=$e.__value=0;var D=l($e);Xt(D,1,()=>({length:m(e(Z).s.m)}),Vt,(se,Ae,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(se,ie)}),u(ue);var V=l(ue,2),ne=c(V);ne.value=ne.__value=0;var Ee=l(ne);Xt(Ee,0,()=>({length:12}),Vt,(se,Ae,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Fe=>h(Se,Fe),[()=>e(r).months?e(r).months?.[re]:Ht(re+1)]),q(se,ie)}),u(V);var ce=l(V,2),ye=l(ce,2),we=c(ye);we.value=we.__value=0;var Pe=l(we);Xt(Pe,1,()=>({length:m(e(Z).e.m)}),Vt,(se,Ae,re)=>{var ie=Zl();ie.textContent=re+1,ie.value=ie.__value=re+1,q(se,ie)}),u(ye);var Te=l(ye,2),Ne=c(Te);Ne.value=Ne.__value=0;var Ie=l(Ne);Xt(Ie,0,()=>({length:12}),Vt,(se,Ae,re)=>{var ie=Jl(),Se=c(ie,!0);u(ie),ie.value=ie.__value=re+1,j(Fe=>h(Se,Fe),[()=>e(r).months?e(r).months?.[re]:Ht(re+1)]),q(se,ie)}),u(Te),u(xe);var ae=l(xe,2),pe=c(ae);Zr(pe,1,vn(ge>0?"text-green-600":"text-gray-300"));var me=l(pe,2),he=l(me,2);u(ae),u(Oe),Ir(2),j(()=>{h(Le,e(r).conf?.common?.import??"Import"),h(ct,e(r).conf?.common?.export??"Export"),h(ht,e(r).conf?.price?.both??"Both"),h($r,e(r).conf?.price?.fixed??"Fixed"),h(zt,`${e(r).common?.days??"Days"??""}:`),h(Rr,`${e(r).common?.hours??"Hours"??""}:`),Zr(me,1,vn(gee(Z).n,se=>(e(Z).n=se,G(()=>e(o)),G(()=>{e(r)}))),At(Et,()=>e(Z).d,se=>(e(Z).d=se,G(()=>e(o)),G(()=>{e(r)}))),At(ut,()=>e(Z).t,se=>(e(Z).t=se,G(()=>e(o)),G(()=>{e(r)}))),qe(je,()=>e(Z).v,se=>(e(Z).v=se,G(()=>e(o)),G(()=>{e(r)}))),At(ue,()=>e(Z).s.d,se=>(e(Z).s.d=se,G(()=>e(o)),G(()=>{e(r)}))),At(V,()=>e(Z).s.m,se=>(e(Z).s.m=se,G(()=>e(o)),G(()=>{e(r)}))),He("change",V,()=>k(e(Z).s,e(Z).s.m)),At(ye,()=>e(Z).e.d,se=>(e(Z).e.d=se,G(()=>e(o)),G(()=>{e(r)}))),At(Te,()=>e(Z).e.m,se=>(e(Z).e.m=se,G(()=>e(o)),G(()=>{e(r)}))),He("change",Te,()=>k(e(Z).e,e(Z).e.m)),He("click",pe,()=>s(ge)),He("keypress",pe,()=>s(ge)),He("click",me,()=>g(ge)),He("keypress",me,()=>g(ge)),He("click",he,()=>S(ge)),He("keypress",he,()=>S(ge)),q(z,Be)}),q(y,M)};I(C,y=>{e(o).o&&y(B)});var J=l(C,2),te=c(J),le=c(te),ve=c(le,!0);u(le),u(te);var Me=l(te,4),K=c(Me),x=c(K,!0);u(K),u(Me),u(J),u(T),u(P);var _=l(P,2);{let y=Ce(()=>e(r).conf?.price?.mask_loading??"Loading");Wr(_,{get active(){return e(f)},get message(){return e(y)}})}var w=l(_,2);{let y=Ce(()=>e(r).conf?.price?.mask_saving??"Saving");Wr(w,{get active(){return e(i)},get message(){return e(y)}})}j(y=>{h(Y,e(r).conf?.price?.title??"Price"),Q(H,"href",y),h(ve,e(r).conf?.price?.btn_add??"Add"),h(x,e(r).btn?.save??"Save")},[()=>Jt("configure-price-price-modifiers")]),He("click",le,p),He("submit",T,On(d)),q(t,A),yt()}var Up=F('

',1);function Hp(t,n){xt(n,!1);let r=W({});Xr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var o=Up(),f=fe(o),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var s=l(p,2),m=l(c(s),2),k=c(m),g=c(k,!0);u(k),u(m),u(s),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");Wr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} CA`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),He("submit",s,()=>E(a,!0)),q(t,o),yt()}var zp=F('

',1);function Yp(t,n){xt(n,!1);let r=W({});Xr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var o=zp(),f=fe(o),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var s=l(p,2),m=l(c(s),2),k=c(m),g=c(k,!0);u(k),u(m),u(s),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");Wr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} certificate`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),He("submit",s,()=>E(a,!0)),q(t,o),yt()}var Gp=F('

',1);function Kp(t,n){xt(n,!1);let r=W({});Xr.subscribe(P=>{E(r,P)});let a=W(!1);Mt();var o=Gp(),f=fe(o),i=c(f),d=c(i),b=c(d);u(d);var p=l(d,2),S=c(p,!0);u(p);var s=l(p,2),m=l(c(s),2),k=c(m),g=c(k,!0);u(k),u(m),u(s),u(i),u(f);var A=l(f,2);{let P=Ce(()=>e(r).upload?.mask??"Uploading");Wr(A,{get active(){return e(a)},get message(){return e(P)}})}j(()=>{h(b,`${e(r).upload?.title??"Upload"??""} private key`),h(S,e(r).upload?.desc??""),h(g,e(r).btn?.upload??"Upload")}),He("submit",s,()=>E(a,!0)),q(t,o),yt()}var Vp=F(' ',1);function Xp(t,n){xt(n,!1);let r="/",a=W({}),o=W({});Xr.subscribe(ve=>{E(o,ve)}),qr.subscribe(ve=>E(a,ve));let f=W(!1);async function i(ve){E(f,!0);const Me=new FormData(ve.target),K=new URLSearchParams;for(let _ of Me){const[w,y]=_;K.append(w,y)}let x=await(await fetch("save",{method:"POST",body:K})).json();E(f,!1),qr.update(_=>(_.fwconsent=Me.sf===!0?1:Me.sf===!1?2:0,_.booting=x.reboot,_)),Za(r)}Mt();var d=Vp(),b=fe(d),p=c(b),S=c(p),s=c(S),m=c(s,!0);u(s);var k=l(s,4),g=c(k,!0),A=l(g,3),P=c(A,!0);u(A);var R=l(A,3),Y=c(R);oe(Y),Sl(Y,1);var H=l(Y);u(R);var T=l(R,2),O=c(T);oe(O),Sl(O,2);var C=l(O);u(T),Ir(),u(k);var B=l(k,2),J=c(B),te=c(J,!0);u(J),u(B),u(S),u(p),u(b);var le=l(b,2);{let ve=Ce(()=>e(o).consent?.mask_saving??"Saving");Wr(le,{get active(){return e(f)},get message(){return e(ve)}})}j(()=>{h(m,e(o).consent?.title??"Consents"),h(g,e(o).consent?.one_click??"One-click"),h(P,e(o).consent?.read_more??"Read more"),ql(Y,e(a).fwconsent===1),h(H,` ${e(o).consent?.yes??"Yes"??""}`),ql(O,e(a).fwconsent===2),h(C,` ${e(o).consent?.no??"No"??""}`),h(te,e(o).btn?.save??"Save")}),He("submit",S,On(i)),q(t,d),yt()}var ev=F(""),Qp=F(''),Zp=F(''),Jp=F(''),e1=F('


👁️
',1),t1=F("",1),r1=F('
',1),a1=F('


'),n1=F(''),i1=F('
',1),s1=F('
'),o1=F('
',1),l1=F(''),v1=F('

',1);function u1(t,n){xt(n,!1);let r=W({});Xr.subscribe(ke=>{E(r,ke)});let a=W(),o=W(""),f=W(""),i=W(!1),d=W({});Qo.subscribe(ke=>{E(d,ke),E(i,ke?.c==0),E(o,ke?.n[0]?.s??"")});let b=W({});qr.subscribe(ke=>E(b,ke));let p=W(!1),S=W(1),s=W(!1),m=W(!1),k=W(!1),g=W(0);function A(ke){qr.update(je=>(je.trying=ke,je))}async function P(){E(s,!0);const ke=new FormData(e(a)),je=new URLSearchParams;for(let rt of ke){const[zt,ft]=rt;je.append(zt,ft)}let Ye=await(await fetch("save",{method:"POST",body:je})).json();E(s,!1),qr.update(rt=>(rt.hostname=ke.get("sh"),rt.usrcfg=Ye.success,rt.booting=Ye.reboot,e(p)&&(rt.net.ip=ke.get("si"),rt.net.mask=ke.get("su"),rt.net.gw=ke.get("sg"),rt.net.dns1=ke.get("sd")),Ye.reboot&&setTimeout(Ti,5e3,e(b),A),rt))}async function R(){let ke;if(e(m))ke=await fetch("wifitest.json");else{E(m,!0),E(k,!1);const Ye=new URLSearchParams;Ye.append("ssid",e(o)),Ye.append("psk",e(f)),ke=await fetch("wifitest.json",{method:"POST",body:Ye})}const je=await ke.json();je?.time==0?(E(m,!1),E(k,je.status==3),E(g,je.status),e(k)&&(qr.update(Ye=>(Ye.net.ip=je.ip,Ye)),setTimeout(P,1e3))):e(m)&&(je.time>3e4?(E(g,4),E(m,!1)):setTimeout(R,2e3))}async function Y(){E(m,!1),E(k,!1),E(g,0)}async function H(){const ke=e(a).querySelector('input[name="sp"]');ke.type==="password"?(ke.type="text",this.textContent="🙈"):(ke.type="password",this.textContent="👁️")}Mt();var T=v1(),O=fe(T),C=c(O),B=c(C),J=c(B),te=l(J,2),le=c(te,!0);u(te);var ve=l(te,2),Me=c(ve,!0),K=l(Me,3),x=c(K),_=c(x,!0);u(x),x.value=x.__value=1;var w=l(x),y=c(w,!0);u(w),w.value=w.__value=2;var M=l(w),N=ke=>{var je=ev(),Ye=c(je,!0);u(je),je.value=je.__value=3,j(()=>h(Ye,e(r).conf?.connection?.eth??"Ethernet")),q(ke,je)};I(M,ke=>{e(b).if&&e(b).if.eth&&ke(N)}),u(K),u(ve);var z=l(ve,2),Z=ke=>{var je=e1(),Ye=fe(je),rt=c(Ye),zt=l(rt),ft=c(zt);oe(ft),ft.value=ft.__value="true",Ir(),u(zt);var Bt=l(zt,4),Qt=ue=>{var $e=Qp();oe($e),j(()=>{Q($e,"pattern",Gn),$e.required=e(S)==1||e(S)==2}),qe($e,()=>e(o),D=>E(o,D)),He("input",$e,Y),q(ue,$e)},Rr=ue=>{var $e=Jp(),D=c($e),V=ce=>{var ye=Zp();ye.value=ye.__value="",q(ce,ye)};I(D,ce=>{e(d)?.c==-1&&ce(V)});var ne=l(D),Ee=ce=>{var ye=Mr(),we=fe(ye);Xt(we,1,()=>e(d)?.n,Vt,(Pe,Te)=>{var Ne=ev(),Ie=c(Ne);u(Ne);var ae={};j(()=>{h(Ie,`${e(Te).s??""} (${e(Te).e??""}, RSSI: ${e(Te).r??""})`),ae!==(ae=e(Te).s)&&(Ne.value=(Ne.__value=e(Te).s)??"")}),q(Pe,Ne)}),q(ce,ye)};I(ne,ce=>{e(d)?.n&&ce(Ee)}),u($e),j(()=>$e.required=e(S)==1||e(S)==2),At($e,()=>e(o),ce=>E(o,ce)),He("change",$e,Y),q(ue,$e)};I(Bt,ue=>{e(i)?ue(Qt):ue(Rr,-1)}),u(Ye);var br=l(Ye,2),_e=c(br,!0),U=l(_e,3),X=c(U);oe(X);var xe=l(X,2);u(U),u(br),j(()=>{h(rt,`${e(r).conf?.connection?.ssid??"SSID"??""} `),h(_e,e(r).conf?.connection?.psk??"Password"),Q(X,"pattern",Gn),X.required=e(S)==2}),_r(ft,()=>e(i),ue=>E(i,ue)),qe(X,()=>e(f),ue=>E(f,ue)),He("input",X,Y),He("click",xe,H),q(ke,je)};I(z,ke=>{(e(S)==1||e(S)==2)&&ke(Z)});var ge=l(z,2),Be=c(ge),Oe=l(Be);oe(Oe),u(ge);var ze=l(ge,2),pt=c(ze),Ze=c(pt);oe(Ze),Ze.value=Ze.__value="static";var Et=l(Ze);u(pt);var be=l(pt,2),Le=ke=>{var je=r1(),Ye=l(fe(je),2),rt=c(Ye),zt=l(rt,2);_n(zt,()=>{var ft=c(zt),Bt=t1();xu(fe(Bt),{}),q(ft,Bt)}),u(Ye),j(()=>{rt.required=e(p),Q(rt,"pattern",pn),zt.required=e(p)}),q(ke,je)};I(be,ke=>{e(p)&&ke(Le)}),u(ze);var Ve=l(ze,2),ct=ke=>{var je=a1(),Ye=c(je),rt=c(Ye,!0),zt=l(rt,3);u(Ye);var ft=l(Ye,2),Bt=c(ft,!0),Qt=l(Bt,3);u(ft),u(je),j(()=>{h(rt,e(r).conf?.network?.gw??"Gateway"),Q(zt,"pattern",pn),h(Bt,e(r).conf?.network?.dns??"DNS"),Q(Qt,"pattern",pn)}),q(ke,je)};I(Ve,ke=>{e(p)&&ke(ct)});var Ge=l(Ve,2),ht=c(Ge),ut=ke=>{var je=n1(),Ye=c(je,!0);u(je),j(()=>h(Ye,e(r).btn?.save??"Save")),q(ke,je)},mt=ke=>{var je=i1(),Ye=fe(je),rt=c(Ye,!0);u(Ye);var zt=l(Ye,2),ft=c(zt,!0);u(zt),j(()=>{h(rt,e(r).setup?.testok??"Connection successful ("+e(b).net.ip+")"),h(ft,e(r).btn?.save??"Save")}),q(ke,je)},$r=ke=>{var je=s1(),Ye=c(je,!0);u(je),j(()=>h(Ye,e(r).setup?.testconn??"Testing connection")),q(ke,je)},Ur=ke=>{var je=Mr(),Ye=fe(je),rt=ft=>{var Bt=o1(),Qt=fe(Bt),Rr=c(Qt,!0);u(Qt);var br=l(Qt,2),_e=c(br,!0);u(br),j(()=>{h(Rr,(e(r).setup?.testfail??"Connection failed")+": "+(e(r).errors?.wifi?.[e(g)]??e(g))),h(_e,e(r).btn?.forcesave??"Force save")}),q(ft,Bt)},zt=ft=>{var Bt=l1(),Qt=c(Bt,!0);u(Bt),j(()=>h(Qt,e(r).btn?.save??"Save")),He("click",Bt,R),q(ft,Bt)};I(Ye,ft=>{e(g)?ft(rt):ft(zt,-1)}),q(ke,je)};I(ht,ke=>{e(S)!=1?ke(ut):e(k)?ke(mt,1):e(m)?ke($r,2):ke(Ur,-1)}),u(Ge),u(B),ms(B,ke=>E(a,ke),()=>e(a)),u(C),u(O);var Ar=l(O,2);{let ke=Ce(()=>e(r).setup?.mask??"Saving");Wr(Ar,{get active(){return e(s)},get message(){return e(ke)}})}j(()=>{h(le,e(r).setup?.title??"Setup"),h(Me,e(r).conf?.connection?.title??"Connection"),h(_,e(r).conf?.connection?.wifi??"Connect to WiFi"),h(y,e(r).conf?.connection?.ap??"Standalone access point"),h(Be,`${e(r).conf?.general?.hostname??"Hostname"??""} `),Q(Oe,"pattern",ts),h(Et,` ${e(r).setup?.static??"Static IP"??""}`)}),At(K,()=>e(S),ke=>E(S,ke)),He("input",K,Y),qe(Oe,()=>e(b).hostname,ke=>ee(b,e(b).hostname=ke)),_r(Ze,()=>e(p),ke=>E(p,ke)),He("submit",B,On(P)),q(t,T),yt()}var c1=F(' ',1),f1=F(' '),d1=F(' ',1),_1=F(' ',1),tv=F(''),p1=F(" ",1);function h1(t,n){xt(n,!1);let r=de(n,"chip",8);Mt();var a=p1(),o=fe(a);o.value=o.__value=-1;var f=l(o,2),i=R=>{var Y=c1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=l(T,2),B=c(C,!0);u(C),C.value=C.__value=5;var J=l(C,2),te=c(J,!0);u(J),J.value=J.__value=4;var le=l(J,2),ve=c(le,!0);u(le),le.value=le.__value=3,u(H);var Me=l(H,2),K=c(Me),x=c(K,!0);u(K),K.value=K.__value=2;var _=l(K,2),w=c(_,!0);u(_),_.value=_.__value=1;var y=l(_,2),M=c(y,!0);u(y),y.value=y.__value=0,u(Me);var N=l(Me,2),z=c(N),Z=c(z,!0);u(z),z.value=z.__value=101;var ge=l(z,2),Be=c(ge,!0);u(ge),ge.value=ge.__value=100,u(N),j((Oe,ze,pt,Ze,Et,be,Le,Ve,ct)=>{h(O,Oe),h(B,ze),h(te,pt),h(ve,Ze),h(x,Et),h(w,be),h(M,Le),h(Z,Ve),h(Be,ct)},[()=>($(Re),$(r()),v(()=>Re(r(),7))),()=>($(Re),$(r()),v(()=>Re(r(),5))),()=>($(Re),$(r()),v(()=>Re(r(),4))),()=>($(Re),$(r()),v(()=>Re(r(),3))),()=>($(Re),$(r()),v(()=>Re(r(),2))),()=>($(Re),$(r()),v(()=>Re(r(),1))),()=>($(Re),$(r()),v(()=>Re(r(),0))),()=>($(Re),$(r()),v(()=>Re(r(),101))),()=>($(Re),$(r()),v(()=>Re(r(),100)))]),q(R,Y)};I(f,R=>{r()=="esp8266"&&R(i)});var d=l(f,2),b=R=>{var Y=f1(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=201;var O=l(H,2),C=c(O,!0);u(O),O.value=O.__value=202;var B=l(O,2),J=c(B,!0);u(B),B.value=B.__value=203;var te=l(B,2),le=c(te,!0);u(te),te.value=te.__value=241;var ve=l(te,2),Me=c(ve,!0);u(ve),ve.value=ve.__value=242;var K=l(ve,2),x=c(K,!0);u(K),K.value=K.__value=243;var _=l(K,2),w=c(_,!0);u(_),_.value=_.__value=245;var y=l(_,2),M=c(y,!0);u(y),y.value=y.__value=200,u(Y),j((N,z,Z,ge,Be,Oe,ze,pt)=>{h(T,N),h(C,z),h(J,Z),h(le,ge),h(Me,Be),h(x,Oe),h(w,ze),h(M,pt)},[()=>($(Re),$(r()),v(()=>Re(r(),201))),()=>($(Re),$(r()),v(()=>Re(r(),202))),()=>($(Re),$(r()),v(()=>Re(r(),203))),()=>($(Re),$(r()),v(()=>Re(r(),241))),()=>($(Re),$(r()),v(()=>Re(r(),242))),()=>($(Re),$(r()),v(()=>Re(r(),243))),()=>($(Re),$(r()),v(()=>Re(r(),245))),()=>($(Re),$(r()),v(()=>Re(r(),200)))]),q(R,Y)};I(d,R=>{r()=="esp32"&&R(b)});var p=l(d,2),S=R=>{var Y=d1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=7;var C=l(T,2),B=c(C,!0);u(C),C.value=C.__value=6;var J=l(C,2),te=c(J,!0);u(J),J.value=J.__value=5,u(H);var le=l(H,2),ve=c(le),Me=c(ve,!0);u(ve),ve.value=ve.__value=51;var K=l(ve,2),x=c(K,!0);u(K),K.value=K.__value=50,u(le),j((_,w,y,M,N)=>{h(O,_),h(B,w),h(te,y),h(Me,M),h(x,N)},[()=>($(Re),$(r()),v(()=>Re(r(),7))),()=>($(Re),$(r()),v(()=>Re(r(),6))),()=>($(Re),$(r()),v(()=>Re(r(),5))),()=>($(Re),$(r()),v(()=>Re(r(),51))),()=>($(Re),$(r()),v(()=>Re(r(),50)))]),q(R,Y)};I(p,R=>{r()=="esp32s2"&&R(S)});var s=l(p,2),m=R=>{var Y=_1(),H=fe(Y),T=c(H),O=c(T,!0);u(T),T.value=T.__value=8,u(H);var C=l(H,2),B=c(C),J=c(B,!0);u(B),B.value=B.__value=71;var te=l(B,2),le=c(te,!0);u(te),te.value=te.__value=70,u(C),j((ve,Me,K)=>{h(O,ve),h(J,Me),h(le,K)},[()=>($(Re),$(r()),v(()=>Re(r(),8))),()=>($(Re),$(r()),v(()=>Re(r(),71))),()=>($(Re),$(r()),v(()=>Re(r(),70)))]),q(R,Y)};I(s,R=>{r()=="esp32c3"&&R(m)});var k=l(s,2),g=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=200,u(Y),j(O=>h(T,O),[()=>($(Re),$(r()),v(()=>Re(r(),200)))]),q(R,Y)};I(k,R=>{r()=="esp32solo"&&R(g)});var A=l(k,2),P=R=>{var Y=tv(),H=c(Y),T=c(H,!0);u(H),H.value=H.__value=80,u(Y),j(O=>h(T,O),[()=>($(Re),$(r()),v(()=>Re(r(),80)))]),q(R,Y)};I(A,R=>{r()=="esp32s3"&&R(P)}),q(t,a),yt()}var m1=F('
WARNING: Changing this configuration will affect basic configuration of your device. Only make changes here if instructed by vendor
'),rv=F("",1),g1=F('
HAN GPIO
'),b1=F('
Initial configuration
Board type
 
',1);function x1(t,n){xt(n,!1);let r=W({}),a=W(!1);async function o(T){E(a,!0);const O=new FormData(T.target),C=new URLSearchParams;for(let J of O){const[te,le]=J;C.append(te,le)}let B=await(await fetch("save",{method:"POST",body:C})).json();E(a,!1),qr.update(J=>(J.vndcfg=B.success,J.booting=B.reboot,J.if.eth=J.boardType>240&&J.boardType<250,J)),Za(e(r).usrcfg?"/":"/setup")}let f=W(!0);qr.subscribe(T=>{E(r,T),T.fwconsent===1&&E(f,!e(r).usrcfg)}),Mt();var i=b1(),d=fe(i),b=c(d),p=c(b),S=c(p),s=l(S,4),m=T=>{var O=m1();q(T,O)};I(s,T=>{e(r).usrcfg&&T(m)});var k=l(s,2),g=l(c(k),3);_n(g,()=>{var T=c(g),O=rv();h1(fe(O),{get chip(){return e(r).chip}}),q(T,O)}),u(k);var A=l(k,2),P=T=>{var O=g1(),C=l(c(O),3);_n(C,()=>{var B=c(C),J=rv();Mo(fe(J),{get chip(){return e(r).chip}}),q(B,J)}),u(O),q(T,O)};I(A,T=>{e(r).board&&e(r).board>20&&T(P)});var R=l(A,2),Y=c(R),H=c(Y);oe(H),H.value=H.__value="true",Ir(),u(Y),u(R),Ir(4),u(p),u(b),u(d),Wr(l(d,2),{get active(){return e(a)},message:"Saving"}),At(g,()=>e(r).board,T=>(ee(r,e(r).board=T),G(()=>{}))),_r(H,()=>e(f),T=>E(f,T)),He("submit",p,On(o)),q(t,i),yt()}var av=F(''),y1=F('
Import
',1),w1=F('
Export
',1),k1=F('
',1);function yu(t,n){xt(n,!1);let r=de(n,"prefix",8),a=de(n,"data",12),o=de(n,"url",8),f=de(n,"basepath",8,"/"),i=W({});Xr.subscribe(ve=>{E(i,ve)});let d=W(!1),b=W(),p=W();async function S(){if(confirm("Clear all data?"))for(let ve in a())(ve.startsWith("i")||ve.startsWith("e"))&&a(a()[ve]=0,!0)}let s=W(!1);async function m(ve){E(s,!0);const Me=new FormData(ve.target),K=new URLSearchParams;for(let x of Me){const[_,w]=x;K.append(_,w)}await(await fetch(o(),{method:"POST",body:K})).json(),E(s,!1),Za(f())}gr(()=>(e(b),e(p),$(a()),$(r())),()=>{E(b,[]),E(p,[]);for(let ve in a()){let Me=[];ve.startsWith("i")?Me=e(b):ve.startsWith("e")&&(Me=e(p),a()[ve]&&E(d,!0)),Me.push({key:ve,name:r()+" "+ve.substring(1),value:a()[ve]})}}),kr(),Mt();var k=k1(),g=fe(k),A=c(g),P=c(A),R=ve=>{var Me=y1(),K=l(fe(Me),2);Xt(K,5,()=>e(b),Vt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=l(y,2);oe(N),Ir(2),u(w),j(()=>{h(M,(e(_),v(()=>e(_).name))),Q(N,"name",(e(_),v(()=>e(_).key)))}),qe(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(K),q(ve,Me)};I(P,ve=>{e(b)&&ve(R)});var Y=l(P,2),H=ve=>{var Me=w1(),K=l(fe(Me),2);Xt(K,5,()=>e(p),Vt,(x,_)=>{var w=av(),y=c(w),M=c(y,!0);u(y);var N=l(y,2);oe(N),Ir(2),u(w),j(()=>{h(M,(e(_),v(()=>e(_).name))),Q(N,"name",(e(_),v(()=>e(_).key)))}),qe(N,()=>a()[e(_).key],z=>a(a()[e(_).key]=z,!0)),q(x,w)}),u(K),q(ve,Me)};I(Y,ve=>{e(p)&&e(d)&&ve(H)});var T=l(Y,2),O=c(T),C=c(O);u(O);var B=l(O,2),J=c(B),te=c(J,!0);u(J),u(B),u(T),u(A),u(g);var le=l(g,2);{let ve=Ce(()=>(e(i),v(()=>e(i).conf?.mask?.saving??"Saving")));Wr(le,{get active(){return e(s)},get message(){return e(ve)}})}j(()=>h(te,(e(i),v(()=>e(i).btn?.save??"Save")))),He("click",C,S),He("submit",g,On(m)),q(t,k),yt()}function $1(t,n){xt(n,!1);let r="/",a=W();Vo.subscribe(o=>E(a,o)),Mt(),yu(t,{prefix:"UTC Hour",get data(){return e(a)},url:"/dayplot",basepath:r}),yt()}function S1(t,n){xt(n,!1);let r="/",a=W();Xo.subscribe(o=>E(a,o)),Mt(),yu(t,{prefix:"Day",get data(){return e(a)},url:"/monthplot",basepath:r}),yt()}var q1=F('
');function M1(t,n){xt(n,!1);let r=W(document.getElementsByTagName("base")[0].getAttribute("href"));e(r)||E(r,"/");let a={};Xr.subscribe(k=>{a=k});let o,f=W({}),i=W({}),d;qr.subscribe(k=>{E(i,k),e(i).vndcfg===!1?Za("/vendor"):e(i).usrcfg===!1?Za("/setup"):e(i).fwconsent===0&&Za("/consent"),e(i).ui.k===1?document.documentElement.classList.add("dark"):e(i).ui.k===0?document.documentElement.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),e(i).ui.lang&&e(i).ui.lang!=a?.language?.code&&pu(e(i).ui.lang),e(i).version&&d&&e(i).version!=d&&window.location.reload(),d=e(i).version,o&&clearTimeout(o),o=setTimeout(hn,!e(f)||!e(f).u||e(f).u<30||e(i)?.upgrading?1e4:3e5)}),Os.subscribe(k=>{E(f,k),Cd(k)}),du(),Mt();var b=q1(),p=c(b);td(p,{get data(){return e(f)},get basepath(){return e(r)}});var S=l(p,2);{let k=Ce(()=>({"/":zd,"/configuration":_p,"/priceconfig":Bp,"/status":Fp,"/mqtt-ca":Hp,"/mqtt-cert":Yp,"/mqtt-key":Kp,"/consent":Xp,"/setup":u1,"/vendor":x1,"/edit-day":$1,"/edit-month":S1}));Tf(S,{get routes(){return e(k)}})}var s=l(S,2),m=k=>{var g=Mr(),A=fe(g),P=Y=>{Wr(Y,{active:"true",get message(){return`Device is booting, please wait. Trying to reach it on ${e(i).trying??""}`}})},R=Y=>{Wr(Y,{active:"true",message:"Device is booting, please wait"})};I(A,Y=>{e(i).trying?Y(P):Y(R,-1)}),q(k,g)};I(s,k=>{e(i).booting&&k(m)}),u(b),q(t,b),yt()}var D1=As(M1,{target:document.getElementById("app")}); diff --git a/ui/src/lib/Helpers.js b/ui/src/lib/Helpers.js index d689ca5c..30567eb3 100644 --- a/ui/src/lib/Helpers.js +++ b/ui/src/lib/Helpers.js @@ -270,4 +270,3 @@ export let asciiPatternExt = "[\\x20-\\xFF]+"; export let charAndNumPattern = "[A-Za-z0-9_\\-]+"; export let hexPattern = "[0-9A-Fa-f]+"; export let numPattern = "[0-9]+"; - diff --git a/ui/src/routes/StatusRoute.svelte b/ui/src/routes/StatusRoute.svelte index 2a7efa59..89c59cc0 100644 --- a/ui/src/routes/StatusRoute.svelte +++ b/ui/src/routes/StatusRoute.svelte @@ -250,7 +250,7 @@
{translations.status?.meter?.title ?? "Meter"}
- {translations.status?.meter?.manufacturer ?? "Manufacturer"}: {metertype(sysinfo.meter.mfg)} + {translations.status?.meter?.manufacturer ?? "Manufacturer"}: {sysinfo.meter.manufacturer || metertype(sysinfo.meter.mfg)}
{translations.status?.meter?.model ?? "Model"}: {sysinfo.meter.model ? sysinfo.meter.model : "unknown"}