From 1ba4c0751820f9fcb81c14cde075197cf317f1e9 Mon Sep 17 00:00:00 2001 From: Claus Hagen Date: Thu, 2 Jan 2025 10:55:13 +0100 Subject: [PATCH] Fix minor bug in pricechart display --- .../web_themes/colors/source/.eslintrc | 24 ------------------- .../priceChart/GlobalPriceChart.vue | 11 +++++---- .../src/components/priceChart/PriceChart.vue | 3 +-- .../colors/source/src/views/ThemeSettings.vue | 5 ++-- ...{index-CAyRdrFn.css => index-BPb-wTT5.css} | 2 +- .../{index-Bfmq2pf1.js => index-Bpw8XWwo.js} | 4 ++-- .../modules/web_themes/colors/web/index.html | 4 ++-- 7 files changed, 15 insertions(+), 38 deletions(-) delete mode 100755 packages/modules/web_themes/colors/source/.eslintrc rename packages/modules/web_themes/colors/web/assets/{index-CAyRdrFn.css => index-BPb-wTT5.css} (99%) rename packages/modules/web_themes/colors/web/assets/{index-Bfmq2pf1.js => index-Bpw8XWwo.js} (73%) diff --git a/packages/modules/web_themes/colors/source/.eslintrc b/packages/modules/web_themes/colors/source/.eslintrc deleted file mode 100755 index 6c4baf91b8..0000000000 --- a/packages/modules/web_themes/colors/source/.eslintrc +++ /dev/null @@ -1,24 +0,0 @@ -{ - "root": true, - "parser": "vue-eslint-parser", - "parserOptions": { - "parser": "@typescript-eslint/parser", - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint" - ], - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:vue/vue3-recommended", - "prettier" - ], - "rules": { - // override/add rules settings here, such as: - // 'vue/no-unused-vars': 'error' - "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": "error" - } -} \ No newline at end of file diff --git a/packages/modules/web_themes/colors/source/src/components/priceChart/GlobalPriceChart.vue b/packages/modules/web_themes/colors/source/src/components/priceChart/GlobalPriceChart.vue index 4d68fe791d..347f68018c 100755 --- a/packages/modules/web_themes/colors/source/src/components/priceChart/GlobalPriceChart.vue +++ b/packages/modules/web_themes/colors/source/src/components/priceChart/GlobalPriceChart.vue @@ -83,9 +83,12 @@ const xScale = computed(() => { .domain(xdomain) }) const yDomain = computed(() => { - let yd = extent(plotdata.value, (d) => d[1]) as [number, number] - yd[0] = Math.floor(yd[0]) - 1 - yd[1] = Math.floor(yd[1]) + 1 + let yd = [0, 0] + if (plotdata.value.length > 0) { + yd = extent(plotdata.value, (d) => d[1]) as [number, number] + yd[0] = Math.floor(yd[0]) - 1 + yd[1] = Math.floor(yd[1]) + 1 + } return yd }) const yScale = computed(() => { @@ -130,7 +133,7 @@ const yAxisGenerator = computed(() => { return ( axisLeft(yScale.value) //.ticks(yDomain.value[1] - yDomain.value[0]) - .ticks(15) + .ticks(yDomain.value[1] - yDomain.value[0]) .tickSize(0) .tickSizeInner(-(width - margin.right - margin.left)) .tickFormat((d) => d.toString()) diff --git a/packages/modules/web_themes/colors/source/src/components/priceChart/PriceChart.vue b/packages/modules/web_themes/colors/source/src/components/priceChart/PriceChart.vue index 9c111261b5..be844e3893 100755 --- a/packages/modules/web_themes/colors/source/src/components/priceChart/PriceChart.vue +++ b/packages/modules/web_themes/colors/source/src/components/priceChart/PriceChart.vue @@ -189,7 +189,7 @@ const xAxisGenerator = computed(() => { }) const yAxisGenerator = computed(() => { return axisLeft(yScale.value) - .ticks(6) + .ticks(yDomain.value[1] - yDomain.value[0]) .tickSizeInner(-(width - margin.right - margin.left)) .tickFormat((d) => d.toString()) }) @@ -197,7 +197,6 @@ const draw = computed(() => { if (needsUpdate.value == true) { dummy = !dummy } - const svg = select('g#' + chartId.value) svg.selectAll('*').remove() const bargroups = svg diff --git a/packages/modules/web_themes/colors/source/src/views/ThemeSettings.vue b/packages/modules/web_themes/colors/source/src/views/ThemeSettings.vue index 497c660e00..d2e653ccce 100755 --- a/packages/modules/web_themes/colors/source/src/views/ThemeSettings.vue +++ b/packages/modules/web_themes/colors/source/src/views/ThemeSettings.vue @@ -101,7 +101,6 @@ :options="shortListOptions" /> -
- - + .swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.modal-footer[data-v-eaefae30],.modal-header[data-v-eaefae30],.modal-body[data-v-eaefae30]{background:var(--color-bg)}.btn-close[data-v-eaefae30]{color:var(--color-fg)}.modal-footer[data-v-eaefae30]{text-align:right}.modal-header .btn-close[data-v-eaefae30]{color:var(--color-fg);background:var(--color-bg);border:0px}.modal.fade .modal-dialog[data-v-eaefae30]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-eaefae30]{transition:transform .3s ease-in;transform:none;scale:1}.tablerow[data-v-25e4aa5d]{margin:14px;border-top:.1px solid var(--color-scale)}.tablecell[data-v-25e4aa5d]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;padding-top:2px;padding-left:2px;padding-right:2px;vertical-align:baseline;line-height:1.4rem;font-size:var(--font-small)}.buttoncell[data-v-25e4aa5d]{background-color:var(--color-bg);padding:0;margin:0}.left[data-v-25e4aa5d]{text-align:left}.tablecell.right[data-v-25e4aa5d]{text-align:right}.tablecolum1[data-v-25e4aa5d]{color:var(--color-fg);text-align:left;margin:0;padding:0}.tableicon[data-v-25e4aa5d]{color:var(--color-menu)}.fa-star[data-v-25e4aa5d]{color:var(--color-evu)}.fa-clock[data-v-25e4aa5d]{color:var(--color-battery)}.socEditor[data-v-25e4aa5d]{border:1px solid var(--color-menu);background-color:var(--color-bg)}.socEditRow td[data-v-25e4aa5d]{background-color:var(--color-bg)}.fa-circle-check[data-v-25e4aa5d]{color:var(--color-menu)}.socEditTitle[data-v-25e4aa5d]{color:var(--color-fg)}.statusbadge[data-v-25e4aa5d]{background-color:var(--color-bg);font-weight:700;font-size:var(--font-verysmall)}.modebadge[data-v-25e4aa5d]{color:var(--color-bg)}.cpname[data-v-25e4aa5d]{font-size:var(--font-small)}.fa-edit[data-v-25e4aa5d]{color:var(--color-menu)}.infolist[data-v-25e4aa5d]{justify-content:center}.tableheader[data-v-b8c6b557]{margin:0;padding-left:0;background-color:var(--color-bg);color:var(--color-menu)}.alignleft[data-v-b8c6b557]{text-align:left}.aligncenter[data-v-b8c6b557]{text-align:center}.alignright[data-v-b8c6b557]{text-align:right}.table[data-v-b8c6b557]{border-spacing:1rem;background-color:var(--color-bg)}.priceWbBadge[data-v-b8c6b557]{background-color:var(--color-menu);font-weight:400}.fa-charging-station[data-v-b8c6b557]{color:var(--color-charging)}.plugIndicator[data-v-31df6764]{color:#fff;border:1px solid white}.chargeButton[data-v-31df6764]{color:#fff}.left[data-v-31df6764]{float:left}.right[data-v-31df6764]{float:right}.center[data-v-31df6764]{margin:auto}.time-display[data-v-791e4be0]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.battery-title[data-v-f7f825f7]{color:var(--color-battery);font-size:var(--font-medium)}.battery-color[data-v-cc4da23c]{color:var(--color-battery)}.fg-color[data-v-cc4da23c]{color:var(--color-fg)}.menu-color[data-v-cc4da23c],.todaystring[data-v-cc4da23c]{color:var(--color-menu)}.devicename[data-v-20651ac6]{font-size:var(--font-medium)}.statusbutton[data-v-20651ac6]{font-size:var(--font-extralarge)}.sh-title[data-v-5b5cf6b3]{color:var(--color-title)}.tableheader[data-v-5b5cf6b3]{background-color:var(--color-bg);color:var(--color-menu)}.fa-ellipsis-vertical[data-v-5b5cf6b3],.fa-circle-check[data-v-5b5cf6b3]{color:var(--color-menu)}.smarthome[data-v-5b5cf6b3]{color:var(--color-devices)}.idWbBadge[data-v-01dd8c4d]{background-color:var(--color-menu);font-weight:400}.countername[data-v-01dd8c4d]{font-size:var(--font-medium)}.statusbutton[data-v-5f059284]{font-size:var(--font-large)}.modebutton[data-v-5f059284]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-5f059284]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.idWbBadge[data-v-9e2cb63e]{background-color:var(--color-menu);font-weight:400}.status-string[data-v-9e2cb63e]{text-align:center}.vehiclename[data-v-9e2cb63e]{font-size:var(--font-medium)}.statusbutton[data-v-23b437ea]{font-size:var(--font-large)}.modebutton[data-v-23b437ea]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-23b437ea]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.priceWbBadge[data-v-2b0afbac]{background-color:var(--color-charging);font-weight:400}.providerWbBadge[data-v-2b0afbac]{background-color:var(--color-menu);font-weight:400}.grapharea[data-v-2b0afbac]{grid-column-start:1;grid-column-end:13;width:100%;object-fit:cover;max-height:100%;justify-items:stretch}.pricefigure[data-v-2b0afbac]{justify-self:stretch}.modeWbBadge[data-v-258d8f17]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.invertername[data-v-258d8f17]{font-size:var(--font-medium)}.powerWbBadge[data-v-b7a71f81]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.button[data-v-17424929]{color:var(--color-fg)}.name[data-v-df7e578a]{font-size:1rem;color:#000;border:1px solid white}.content[data-v-df7e578a]{grid-column:1 / -1;border:solid 1px black;border-radius:10px}.sublist[data-v-df7e578a]{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.mqviewer[data-v-a349646d]{background-color:#fff;color:#000}.topiclist[data-v-a349646d]{display:grid;grid-template-columns:repeat(40,1fr)}.topnode[data-v-a349646d]{grid-column-start:1;grid-column-end:-1}.mqtitle[data-v-a349646d]{color:#000}.form-select[data-v-5e33ce1f]{background-color:var(--color-input);color:#000;border:1px solid var(--color-bg);font-size:var(--font-settings)}.fa-circle-check[data-v-5cfb2916]{font-size:var(--font-large);background-color:var(--color-bg);color:var(--color-menu)}.closebutton[data-v-5cfb2916]{justify-self:end}.nav-tabs[data-v-668af4f2]{border-bottom:.5px solid var(--color-menu);background-color:var(--color-bg)}.nav-tabs .nav-link[data-v-668af4f2]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-668af4f2]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-668af4f2]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:.5px solid var(--color-menu);border-bottom:0px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026}.fa-circle-info[data-v-668af4f2]{color:var(--color-fg)}.fa-charging-station[data-v-668af4f2]{color:var(--color-charging)}.fa-car-battery[data-v-668af4f2]{color:var(--color-battery)}.fa-plug[data-v-668af4f2]{color:var(--color-devices)}.fa-bolt[data-v-668af4f2]{color:var(--color-evu)}.fa-car[data-v-668af4f2]{color:var(--color-charging)}.fa-coins[data-v-668af4f2]{color:var(--color-battery)}.fa-solar-panel[data-v-668af4f2]{color:var(--color-pv)}.navbar[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.dropdown-menu[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-ed619966]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-ed619966]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-ed619966]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-ed619966]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-ed619966]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! +@charset "UTF-8";.form-select[data-v-98690e5d]{background-color:var(--color-input);border:1;border-color:var(--color-bg);color:var(--color-bg);text-align:start;font-size:var(--font-small)}.commitbutton[data-v-98690e5d]{background-color:var(--color-bg);color:var(--color-input)}option[data-v-98690e5d]{color:green}.form-select[data-v-98690e5d]{font-size:var(--font-verysmall);background-color:var(--color-menu);color:var(--color-fg)}.optiontable[data-v-98690e5d]{background-color:var(--color-menu)}.optionbutton[data-v-98690e5d]{font-size:var(--font-small);color:#fff;background-color:var(--color-menu);font-size:var(--font-verysmall);text-align:center}.dropdown-menu[data-v-98690e5d]{background-color:var(--color-menu)}.dropdown-toggle[data-v-98690e5d]{background-color:var(--color-menu);color:#fff;border:1px solid var(--color-bg);font-size:var(--font-verysmall)}.radiobutton[data-v-82ab6829]{border:0px solid var(--color-menu);opacity:1}.btn-outline-secondary.active[data-v-82ab6829]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-82ab6829]{border:1px solid var(--color-menu)}.rounded-pill[data-v-d75ec1a4]{background-color:var(--color-menu)}.arrowButton[data-v-d75ec1a4]{border:0}.datebadge[data-v-d75ec1a4]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-d75ec1a4],.fa-magnifying-glass[data-v-62d106b6]{color:var(--color-menu)}.dateWbBadge[data-v-62d106b6]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.waitsign[data-v-62d106b6]{text-align:center;font-size:var(--font-medium);color:var(--color-fg);border:1px solid var(--color-bg);padding:2em;margin:4em 2em 2em;background-color:var(--color-bg)}.fa-magnifying-glass[data-v-32c82102],.fa-magnifying-glass[data-v-63a4748e]{color:var(--color-menu)}.heading[data-v-f6af00e8]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-f6af00e8]{color:var(--color-fg);font-weight:700}@supports (grid-template-columns: subgrid){.wb-subwidget[data-v-e989060d]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:subgrid;grid-column:1 / 13}}@supports not (grid-template-columns: subgrid){.wb-subwidget[data-v-e989060d]{border-top:.5px solid var(--color-scale);display:grid;grid-template-columns:repeat(12,auto);grid-column:1 / 13}}.titlerow[data-v-e989060d]{grid-column:1 / 13}@supports (grid-template-columns: subgrid){.contentrow[data-v-e989060d]{display:grid;grid-template-columns:subgrid;grid-column:1 / 13;align-items:top}}@supports not (grid-template-columns: subgrid){.contentrow[data-v-e989060d]{display:grid;align-items:top;grid-template-columns:repeat(12,auto)}}.widgetname[data-v-e989060d]{font-weight:700;font-size:var(--font-large)}.infotext[data-v-b935eb33]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-b935eb33]{color:var(--color-menu);font-size:var(--font-settings)}.titlecolumn[data-v-b935eb33]{color:var(--color-fg);font-size:var(--font-settings)}.selectors[data-v-b935eb33],.configitem[data-v-b935eb33]{font-size:var(--font-settings)}.minlabel[data-v-267ede95],.maxlabel[data-v-267ede95]{color:var(--color-menu)}.valuelabel[data-v-267ede95]{color:var(--color-fg)}.minusButton[data-v-267ede95],.plusButton[data-v-267ede95]{color:var(--color-menu)}.rangeIndicator[data-v-267ede95]{margin:0;padding:0;line-height:10px}.radiobutton[data-v-df222cbe]{border:.5px solid var(--color-input);opacity:.5;font-size:var(--font-settings)}.btn-outline-secondary.active[data-v-df222cbe]{background-color:var(--color-bg);border:1px solid var(--color-fg);box-shadow:0 .5rem 1rem #00000026;opacity:1}.chargeConfigSelect[data-v-0303d179]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-0303d179]{color:var(--color-charging)}.chargeConfigSelect[data-v-faa69015]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-faa69015]{color:var(--color-pv)}.tablecell[data-v-e8f5ad9d]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-medium)}.tableheader[data-v-e8f5ad9d]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-e8f5ad9d]{color:var(--color-battery)}.left[data-v-e8f5ad9d]{text-align:left}.tablecell[data-v-192e287b]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;font-size:var(--font-medium)}.tableheader[data-v-192e287b]{color:var(--color-menu);background-color:var(--color-bg);text-align:center;font-style:normal}.heading[data-v-192e287b]{color:var(--color-battery)}.left[data-v-192e287b]{text-align:left}.right[data-v-192e287b]{text-align:right}.status-string[data-v-fcb57a44]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-fcb57a44]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-fcb57a44]{background:green;color:#00f}.nav-tabs .nav-link[data-v-fcb57a44]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-fcb57a44]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-fcb57a44]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-fcb57a44]{color:var(--color-charging)}.status-string[data-v-e348a34c]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-e348a34c]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-e348a34c]{background:green;color:#00f}.nav-tabs .nav-link[data-v-e348a34c]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-e348a34c]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-e348a34c]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-e348a34c]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-e348a34c]{color:var(--color-menu)}.color-charging[data-v-8d837517]{color:var(--color-charging)}.fa-circle-check[data-v-8d837517]{color:var(--color-menu)}.settingsheader[data-v-8d837517]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-8d837517]{color:var(--color-axis);font-size:16px}.jumpbutton[data-v-8d837517]{background-color:var(--color-menu);color:var(--color-bg);border:0}.status-string[data-v-1164316d]{font-size:var(--font-settings);font-style:italic;color:var(--color-battery)}.nav-tabs .nav-link[data-v-1164316d]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-1164316d]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-1164316d]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.heading[data-v-1164316d]{color:var(--color-menu)}.item[data-v-1164316d]{grid-column:span 12}.tabarea[data-v-1164316d]{justify-self:stretch}.batIcon[data-v-a68c844a]{color:var(--color-menu)}.wb-widget[data-v-1d5bc1d9]{width:100%;height:100%;border-radius:30px}.widgetname[data-v-1d5bc1d9]{font-weight:700;color:var(--color-fg);font-size:var(--font-large)}.pillWbBadge[data-v-36112fa3]{font-size:(var--font-small);font-weight:regular;display:flex;justify-content:center;align-items:center}.fa-star[data-v-3a733de3]{color:var(--color-evu)}.fa-clock[data-v-3a733de3]{color:var(--color-charging)}.fa-car[data-v-3a733de3],.fa-ellipsis-vertical[data-v-3a733de3],.fa-circle-check[data-v-3a733de3]{color:var(--color-menu)}.fa-coins[data-v-3a733de3]{color:var(--color-battery)}.socEditor[data-v-3a733de3]{border:1px solid var(--color-menu);justify-self:stretch}.targetCurrent[data-v-3a733de3]{color:var(--color-menu)}.priceEditor[data-v-3a733de3]{border:1px solid var(--color-menu);justify-self:stretch}.chargemodes[data-v-3a733de3]{grid-column:1 / 13;justify-self:center}.chargeinfo[data-v-3a733de3]{display:grid;grid-template-columns:repeat(12,auto);justify-content:space-between}.errorWbBadge[data-v-3a733de3]{color:var(--color-bg);background-color:var(--color-evu);font-size:var(--font-small)}.divider[data-v-3a733de3]{color:var(--color-fg)}.blue[data-v-3a733de3]{color:var(--color-charging)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.modal-footer[data-v-eaefae30],.modal-header[data-v-eaefae30],.modal-body[data-v-eaefae30]{background:var(--color-bg)}.btn-close[data-v-eaefae30]{color:var(--color-fg)}.modal-footer[data-v-eaefae30]{text-align:right}.modal-header .btn-close[data-v-eaefae30]{color:var(--color-fg);background:var(--color-bg);border:0px}.modal.fade .modal-dialog[data-v-eaefae30]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-eaefae30]{transition:transform .3s ease-in;transform:none;scale:1}.tablerow[data-v-25e4aa5d]{margin:14px;border-top:.1px solid var(--color-scale)}.tablecell[data-v-25e4aa5d]{color:var(--color-fg);background-color:var(--color-bg);text-align:center;padding-top:2px;padding-left:2px;padding-right:2px;vertical-align:baseline;line-height:1.4rem;font-size:var(--font-small)}.buttoncell[data-v-25e4aa5d]{background-color:var(--color-bg);padding:0;margin:0}.left[data-v-25e4aa5d]{text-align:left}.tablecell.right[data-v-25e4aa5d]{text-align:right}.tablecolum1[data-v-25e4aa5d]{color:var(--color-fg);text-align:left;margin:0;padding:0}.tableicon[data-v-25e4aa5d]{color:var(--color-menu)}.fa-star[data-v-25e4aa5d]{color:var(--color-evu)}.fa-clock[data-v-25e4aa5d]{color:var(--color-battery)}.socEditor[data-v-25e4aa5d]{border:1px solid var(--color-menu);background-color:var(--color-bg)}.socEditRow td[data-v-25e4aa5d]{background-color:var(--color-bg)}.fa-circle-check[data-v-25e4aa5d]{color:var(--color-menu)}.socEditTitle[data-v-25e4aa5d]{color:var(--color-fg)}.statusbadge[data-v-25e4aa5d]{background-color:var(--color-bg);font-weight:700;font-size:var(--font-verysmall)}.modebadge[data-v-25e4aa5d]{color:var(--color-bg)}.cpname[data-v-25e4aa5d]{font-size:var(--font-small)}.fa-edit[data-v-25e4aa5d]{color:var(--color-menu)}.infolist[data-v-25e4aa5d]{justify-content:center}.tableheader[data-v-b8c6b557]{margin:0;padding-left:0;background-color:var(--color-bg);color:var(--color-menu)}.alignleft[data-v-b8c6b557]{text-align:left}.aligncenter[data-v-b8c6b557]{text-align:center}.alignright[data-v-b8c6b557]{text-align:right}.table[data-v-b8c6b557]{border-spacing:1rem;background-color:var(--color-bg)}.priceWbBadge[data-v-b8c6b557]{background-color:var(--color-menu);font-weight:400}.fa-charging-station[data-v-b8c6b557]{color:var(--color-charging)}.plugIndicator[data-v-31df6764]{color:#fff;border:1px solid white}.chargeButton[data-v-31df6764]{color:#fff}.left[data-v-31df6764]{float:left}.right[data-v-31df6764]{float:right}.center[data-v-31df6764]{margin:auto}.time-display[data-v-791e4be0]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.battery-title[data-v-f7f825f7]{color:var(--color-battery);font-size:var(--font-medium)}.battery-color[data-v-cc4da23c]{color:var(--color-battery)}.fg-color[data-v-cc4da23c]{color:var(--color-fg)}.menu-color[data-v-cc4da23c],.todaystring[data-v-cc4da23c]{color:var(--color-menu)}.devicename[data-v-20651ac6]{font-size:var(--font-medium)}.statusbutton[data-v-20651ac6]{font-size:var(--font-extralarge)}.sh-title[data-v-5b5cf6b3]{color:var(--color-title)}.tableheader[data-v-5b5cf6b3]{background-color:var(--color-bg);color:var(--color-menu)}.fa-ellipsis-vertical[data-v-5b5cf6b3],.fa-circle-check[data-v-5b5cf6b3]{color:var(--color-menu)}.smarthome[data-v-5b5cf6b3]{color:var(--color-devices)}.idWbBadge[data-v-01dd8c4d]{background-color:var(--color-menu);font-weight:400}.countername[data-v-01dd8c4d]{font-size:var(--font-medium)}.statusbutton[data-v-5f059284]{font-size:var(--font-large)}.modebutton[data-v-5f059284]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-5f059284]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.idWbBadge[data-v-9e2cb63e]{background-color:var(--color-menu);font-weight:400}.status-string[data-v-9e2cb63e]{text-align:center}.vehiclename[data-v-9e2cb63e]{font-size:var(--font-medium)}.statusbutton[data-v-23b437ea]{font-size:var(--font-large)}.modebutton[data-v-23b437ea]{background-color:var(--color-menu);font-size:var(--font-verysmall);font-weight:400}.tempWbBadge[data-v-23b437ea]{background-color:var(--color-battery);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.priceWbBadge[data-v-6000c955]{background-color:var(--color-charging);font-weight:400}.providerWbBadge[data-v-6000c955]{background-color:var(--color-menu);font-weight:400}.grapharea[data-v-6000c955]{grid-column-start:1;grid-column-end:13;width:100%;object-fit:cover;max-height:100%;justify-items:stretch}.pricefigure[data-v-6000c955]{justify-self:stretch}.modeWbBadge[data-v-258d8f17]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.invertername[data-v-258d8f17]{font-size:var(--font-medium)}.powerWbBadge[data-v-b7a71f81]{background-color:var(--color-pv);color:var(--color-bg);font-size:var(--font-verysmall);font-weight:400}.button[data-v-17424929]{color:var(--color-fg)}.name[data-v-df7e578a]{font-size:1rem;color:#000;border:1px solid white}.content[data-v-df7e578a]{grid-column:1 / -1;border:solid 1px black;border-radius:10px}.sublist[data-v-df7e578a]{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.mqviewer[data-v-a349646d]{background-color:#fff;color:#000}.topiclist[data-v-a349646d]{display:grid;grid-template-columns:repeat(40,1fr)}.topnode[data-v-a349646d]{grid-column-start:1;grid-column-end:-1}.mqtitle[data-v-a349646d]{color:#000}.form-select[data-v-5e33ce1f]{background-color:var(--color-input);color:#000;border:1px solid var(--color-bg);font-size:var(--font-settings)}.fa-circle-check[data-v-9ccd1aee]{font-size:var(--font-large);background-color:var(--color-bg);color:var(--color-menu)}.closebutton[data-v-9ccd1aee]{justify-self:end}.nav-tabs[data-v-668af4f2]{border-bottom:.5px solid var(--color-menu);background-color:var(--color-bg)}.nav-tabs .nav-link[data-v-668af4f2]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-668af4f2]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-668af4f2]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:.5px solid var(--color-menu);border-bottom:0px solid var(--color-menu);box-shadow:0 .5rem 1rem #00000026}.fa-circle-info[data-v-668af4f2]{color:var(--color-fg)}.fa-charging-station[data-v-668af4f2]{color:var(--color-charging)}.fa-car-battery[data-v-668af4f2]{color:var(--color-battery)}.fa-plug[data-v-668af4f2]{color:var(--color-devices)}.fa-bolt[data-v-668af4f2]{color:var(--color-evu)}.fa-car[data-v-668af4f2]{color:var(--color-charging)}.fa-coins[data-v-668af4f2]{color:var(--color-battery)}.fa-solar-panel[data-v-668af4f2]{color:var(--color-pv)}.navbar[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.dropdown-menu[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-ed619966]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-ed619966]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-ed619966]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-ed619966]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-ed619966]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-ed619966]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! * Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2022 Fonticons, Inc. diff --git a/packages/modules/web_themes/colors/web/assets/index-Bfmq2pf1.js b/packages/modules/web_themes/colors/web/assets/index-Bpw8XWwo.js similarity index 73% rename from packages/modules/web_themes/colors/web/assets/index-Bfmq2pf1.js rename to packages/modules/web_themes/colors/web/assets/index-Bpw8XWwo.js index 0744760381..e66ac45556 100644 --- a/packages/modules/web_themes/colors/web/assets/index-Bfmq2pf1.js +++ b/packages/modules/web_themes/colors/web/assets/index-Bpw8XWwo.js @@ -1,6 +1,6 @@ -var Ua=Object.defineProperty;var Fa=(a,e,t)=>e in a?Ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var b=(a,e,t)=>Fa(a,typeof e!="symbol"?e+"":e,t);import{r as le,m as Na,c as m,a as ee,i as Ha,e as Be,u as Nt,t as tt,b as xt,s as ue,d as L,p as wa,f as ka,w as Ra,o as l,g as v,h as S,j as r,n as q,k as P,l as w,q as pe,v as _,x as H,y as i,z as f,F as U,A as te,B as xa,C as Re,D as vt,E as nt,G as ot,H as dt,I as ht,J as it,K as Ja,L as He,M as K,N as Ya,O as Ve,P as ft,Q as qa,R as Qa,S as Sa,T as Za,U as Ma,V as Xa,W as Ka,X as er,Y as tr,Z as ar,_ as rr,$ as nr,a0 as or,a1 as sr,a2 as ir}from"./vendor-CyQtMzsz.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&n(h)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();var fe=(a=>(a.instant_charging="instant_charging",a.pv_charging="pv_charging",a.scheduled_charging="scheduled_charging",a.standby="standby",a.stop="stop",a))(fe||{});class $a{constructor(e){b(this,"id");b(this,"name","Wechselrichter");b(this,"color","var(--color-pv)");b(this,"power",0);b(this,"energy",0);b(this,"energy_month",0);b(this,"energy_year",0);b(this,"energy_total",0);this.id=e}}const lr=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]];class cr{constructor(e){b(this,"id");b(this,"name","Gerät");b(this,"power",0);b(this,"status","off");b(this,"energy",0);b(this,"runningTime",0);b(this,"configured",!1);b(this,"_showInGraph",!0);b(this,"color","white");b(this,"canSwitch",!1);b(this,"countAsHouse",!1);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"tempConfigured",0);b(this,"temp",[300,300,300]);b(this,"on",!1);b(this,"isAutomatic",!0);b(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,T.items["sh"+this.id].showInGraph=e,re()}setShowInGraph(e){this._showInGraph=e}}const ae=le(new Map);function qt(a){ae.has(a)?console.info("Duplicate sh device message: "+a):(ae.set(a,new cr(a)),ae.get(a).color="var(--color-sh"+ae.size+")")}const ur=0,Pa={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},St={topic:"",qos:ur};let Ie;const{host:dr,port:hr,endpoint:pr,...Ia}=Pa,ia=`${Ia.protocol}://${dr}:${hr}${pr}`;try{console.debug("connectURL",ia),Ie=Na.connect(ia,Ia),Ie.on("connect",()=>{console.info("MQTT connection successful")}),Ie.on("disconnect",()=>{console.info("MQTT disconnected")}),Ie.on("error",a=>{console.error("MQTT connection failed: ",a)})}catch(a){console.error("MQTT connect error: ",a)}function gr(a){Ie?Ie.on("message",a):console.error("MqttRegister: MQTT client not available")}function Ke(a){St.topic=a;const{topic:e,qos:t}=St;Ie.subscribe(e,{qos:t},n=>{if(n){console.error("MQTT Subscription error: "+n);return}})}function st(a){St.topic=a;const{topic:e}=St;Ie.unsubscribe(e,t=>{if(t){console.error("MQTT Unsubscribe from "+a+" failed: "+t);return}})}async function Ht(a,e){let n=Ie.connected,s=0;for(;!n&&s<20;)console.warn("MQTT publish: Not connected. Waiting 0.1 seconds"),await mr(100),n=Ie.connected,s+=1;if(s<20)try{Ie.publish(a,e,{qos:0},o=>{o&&console.warn("MQTT publish error: ",o),console.info("MQTT publish: Message sent: ["+a+"]("+e+")")})}catch(o){console.warn("MQTT publish: caught error: "+o)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function Qt(){return Pa.clientId}function mr(a){return new Promise(e=>setTimeout(e,a))}class vr{constructor(e){b(this,"id");b(this,"name","Ladepunkt");b(this,"icon","Ladepunkt");b(this,"type","");b(this,"ev",0);b(this,"template",0);b(this,"connectedPhases",0);b(this,"phase_1",0);b(this,"autoPhaseSwitchHw",!1);b(this,"controlPilotInterruptionHw",!1);b(this,"isEnabled",!0);b(this,"isPluggedIn",!1);b(this,"isCharging",!1);b(this,"_isLocked",!1);b(this,"_connectedVehicle",0);b(this,"chargeTemplate",0);b(this,"evTemplate",0);b(this,"_chargeMode",fe.pv_charging);b(this,"_hasPriority",!1);b(this,"currentPlan","");b(this,"averageConsumption",0);b(this,"vehicleName","");b(this,"rangeCharged",0);b(this,"rangeUnit","");b(this,"counter",0);b(this,"dailyYield",0);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"phasesInUse",0);b(this,"power",0);b(this,"chargedSincePlugged",0);b(this,"stateStr","");b(this,"current",0);b(this,"currents",[0,0,0]);b(this,"phasesToUse",0);b(this,"isSocConfigured",!0);b(this,"isSocManual",!1);b(this,"waitingForSoc",!1);b(this,"color","white");b(this,"_timedCharging",!1);b(this,"_instantChargeLimitMode","");b(this,"_instantTargetCurrent",0);b(this,"_instantTargetSoc",0);b(this,"_instantMaxEnergy",0);b(this,"_pvFeedInLimit",!1);b(this,"_pvMinCurrent",0);b(this,"_pvMaxSoc",0);b(this,"_pvMinSoc",0);b(this,"_pvMinSocCurrent",0);b(this,"_etActive",!1);b(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,oe("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,oe("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return Y[this.connectedVehicle]?Y[this.connectedVehicle].soc:0}set soc(e){Y[this.connectedVehicle]&&(Y[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,oe("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,oe("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return _e[this.chargeTemplate]?_e[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){_e[this.chargeTemplate].time_charging.active=e,oe("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,oe("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,oe("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,oe("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,oe("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,oe("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,oe("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,oe("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,oe("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,oe("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return Y[this.connectedVehicle]?Y[this.connectedVehicle].etActive:!1}set etActive(e){Y[this.connectedVehicle]&&(Y[this.connectedVehicle].etActive=e)}get etMaxPrice(){return Y[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){oe("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon,showInGraph:!0}}}class fr{constructor(e){b(this,"id");b(this,"name","__invalid");b(this,"tags",[]);b(this,"config",{});b(this,"soc",0);b(this,"range",0);b(this,"_chargeTemplateId",0);b(this,"_evTemplateId",0);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,oe("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,oe("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return _e[this.chargeTemplateId]?_e[this.chargeTemplateId].et.active:!1}set etActive(e){_e[this.chargeTemplateId]&&oe("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(_e[this.chargeTemplateId]&&_e[this.chargeTemplateId].et.active)return _e[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(O))if(e.connectedVehicle==this.id)return e}get visible(){return this.name!="__invalid"&&(this.id!=0||g.showStandardVehicle)}}const O=le({}),Y=le({}),_e=le({}),pt=le({}),gt=le({}),Rt=le({});function yr(a){if(!(a in O)){O[a]=new vr(a);const e="var(--color-cp"+(Object.values(O).length-1)+")";O[a].color=e;const t="cp"+a;ie[t]?ie["cp"+a].color=e:ie[t]={name:"Ladepunkt",color:e,icon:"Ladepunkt"}}}function br(){Object.keys(O).forEach(a=>{delete O[parseInt(a)]})}const me=m(()=>{const a=[],e=Object.values(O),t=Object.values(Y).filter(o=>o.visible);let n=-1;switch(e.length){case 0:n=t[0]?t[0].id:-1;break;default:n=e[0].connectedVehicle}let s=-1;switch(e.length){case 0:case 1:s=t[0]?t[0].id:-1;break;default:s=e[1].connectedVehicle}return n==s&&(s=t[1]?t[1].id:-1),n!=-1&&a.push(n),s!=-1&&a.push(s),a}),_r={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function oe(a,e,t=0){if(isNaN(t)){console.warn("Invalid index");return}let n=_r[a];if(!n){console.warn("No topic for update type "+a);return}switch(a){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":n=n.replace("%",O[t].chargeTemplate.toString());break;default:n=n.replace("%",String(t))}switch(typeof e){case"number":Ht(n,JSON.stringify(+e));break;default:Ht(n,JSON.stringify(e))}}function Zt(a){Ht("openWB/set/command/"+Qt()+"/todo",JSON.stringify(a))}const be=500,xe=500,G={top:15,right:20,bottom:10,left:25},Xt=["charging","house","batIn","devices"];class wr{constructor(){b(this,"data",[]);b(this,"_graphMode","");b(this,"waitForData",!0)}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const y=le(new wr),Ca=ee(Ha),qe=m(()=>[0,be-G.left-2*G.right].map(a=>Ca.value.applyX(a)));let mt=!0,lt=!0;function la(){mt=!1}function ca(){mt=!0}function ua(){lt=!1}function da(){lt=!0}function kr(a){lt=a}function yt(a){y.data=a,y.waitForData=!1}const ge=le({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(a){this.unsubscribeUpdates(),this.subscribeRefresh(),a&&(y.data=[]),y.waitForData=!0,Ke(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Pr(),ct.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),st(this.configTopic)},subscribeRefresh(){for(let a=1;a<17;a++)Ke(this.refreshTopicPrefix+a)},unsubscribeRefresh(){for(let a=1;a<17;a++)st(this.refreshTopicPrefix+a)},subscribeUpdates(){Ke(this.updateTopic)},unsubscribeUpdates(){st(this.updateTopic)}}),ce=le({topic:"openWB/log/daily/#",date:new Date,activate(a){if(y.graphMode=="day"||y.graphMode=="today"){y.graphMode=="today"&&(this.date=new Date);const e=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");this.topic="openWB/log/daily/"+e,Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Zt({command:"getDailyLog",data:{day:e}})}},deactivate(){st(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(a){this.date=a},getDate(){return this.date}}),Ee=le({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString()+this.month.toString().padStart(2,"0");y.data=[],Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Zt({command:"getMonthlyLog",data:{month:e}})},deactivate(){st(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const a=new Date;a.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Je=le({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString();Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Zt({command:"getYearlyLog",data:{year:e}})},deactivate(){st(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(T.items[a].energyPv+=1e3/12*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3/12*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function Mr(a,e){e[a]>0&&(T.items[a].energyPv+=1e3*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const $r=["evuIn","pv","batOut","evuOut"],Qe=ee(!1);function Kt(a,e){Object.entries(a).length>0?(Qe.value=!1,Object.entries(a.counter).forEach(([t,n])=>{(e.length==0||e.includes(t))&&(T.items.evuIn.energy+=n.energy_imported,T.items.evuOut.energy+=n.energy_exported)}),T.items.pv.energy=a.pv.all.energy_exported,a.bat.all&&(T.items.batIn.energy=a.bat.all.energy_imported,T.items.batOut.energy=a.bat.all.energy_exported),Object.entries(a.cp).forEach(([t,n])=>{t=="all"?(T.setEnergy("charging",n.energy_imported),n.energy_imported_pv!=null&&(T.setEnergyPv("charging",n.energy_imported_pv),T.setEnergyBat("charging",n.energy_imported_bat))):T.setEnergy(t,n.energy_imported)}),T.setEnergy("devices",0),Object.entries(a.sh).forEach(([t,n])=>{T.setEnergy(t,n.energy_imported);const s=t.substring(2);ae.get(+s).countAsHouse||(T.items.devices.energy+=n.energy_imported)}),a.hc&&a.hc.all?(T.setEnergy("house",a.hc.all.energy_imported),a.hc.all.energy_imported_pv!=null&&(T.setEnergyPv("house",a.hc.all.energy_imported_pv),T.setEnergyBat("house",a.hc.all.energy_imported_bat))):T.calculateHouseEnergy(),T.keys().forEach(t=>{$r.includes(t)||(T.setPvPercentage(t,Math.round((T.items[t].energyPv+T.items[t].energyBat)/T.items[t].energy*100)),Xt.includes(t)&&(j[t].energy=T.items[t].energy,j[t].energyPv=T.items[t].energyPv,j[t].energyBat=T.items[t].energyBat,j[t].pvPercentage=T.items[t].pvPercentage))}),y.graphMode=="today"&&(Object.values(O).forEach(t=>{const n=T.items["cp"+t.id];n&&(t.energyPv=n.energyPv,t.energyBat=n.energyBat,t.pvPercentage=n.pvPercentage)}),ae.forEach(t=>{const n=T.items["sh"+t.id];n&&(t.energy=n.energy,t.energyPv=n.energyPv,t.energyBat=n.energyBat,t.pvPercentage=n.pvPercentage)}))):Qe.value=!0,ct.value=!0}const Ce=m(()=>{const a=Be(y.data,e=>new Date(e.date));return a[0]&&a[1]?Nt().domain(a).range([0,be-G.left-2*G.right]):tt().range([0,0])});function Pr(){T.keys().forEach(a=>{Xt.includes(a)&&(j[a].energy=T.items[a].energy,j[a].energyPv=0,j[a].energyBat=0,j[a].pvPercentage=0)}),Object.values(O).forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0}),ae.forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0})}const Ye=m(()=>{const a=Be(y.data,e=>e.date);return a[1]?xt().domain(Array.from({length:a[1]},(e,t)=>t+1)).paddingInner(.4).range([0,be-G.left-2]):xt().range([0,0])});function It(){switch(y.graphMode){case"live":y.graphMode="today",g.showRightButton=!0,ve();break;case"today":y.graphMode="day",ce.deactivate(),ce.back(),ce.activate(),ve();break;case"day":ce.back(),ve();break;case"month":Ee.back();break;case"year":Je.back();break}}function ea(){const a=new Date;switch(y.graphMode){case"live":break;case"today":y.graphMode="live",g.showRightButton=!1,ve();break;case"day":ce.forward(),ce.date.getDate()==a.getDate()&&ce.date.getMonth()==a.getMonth()&&ce.date.getFullYear()==a.getFullYear()&&(y.graphMode="today"),ve();break;case"month":Ee.forward();break;case"year":Je.forward();break}}function ta(){switch(y.graphMode){case"live":It();break;case"day":case"today":y.graphMode="month",ve();break;case"month":y.graphMode="year",ve();break}}function aa(){switch(y.graphMode){case"year":y.graphMode="month",ve();break;case"month":y.graphMode="today",ve();break;case"today":case"day":y.graphMode="live",ve();break}}function ha(a){if(y.graphMode=="day"||y.graphMode=="today"){ce.setDate(a);const e=new Date;ce.date.getDate()==e.getDate()&&ce.date.getMonth()==e.getMonth()&&ce.date.getFullYear()==e.getFullYear()?y.graphMode="today":y.graphMode="day",ve()}}const Ne=ee(new Map);class Ir{constructor(){b(this,"_showRelativeArcs",!1);b(this,"showTodayGraph",!0);b(this,"_graphPreference","today");b(this,"_usageStackOrder",0);b(this,"_displayMode","dark");b(this,"_showGrid",!1);b(this,"_smartHomeColors","normal");b(this,"_decimalPlaces",1);b(this,"_showQuickAccess",!0);b(this,"_simpleCpList",!1);b(this,"_shortCpList","no");b(this,"_showAnimations",!0);b(this,"_preferWideBoxes",!1);b(this,"_maxPower",4e3);b(this,"_fluidDisplay",!1);b(this,"_showClock","no");b(this,"_showButtonBar",!0);b(this,"_showCounters",!1);b(this,"_showVehicles",!1);b(this,"_showStandardVehicle",!0);b(this,"_showPrices",!1);b(this,"_showInverters",!1);b(this,"_alternativeEnergy",!1);b(this,"_sslPrefs",!1);b(this,"_debug",!1);b(this,"_lowerPriceBound",0);b(this,"_upperPriceBound",0);b(this,"isEtEnabled",!1);b(this,"etPrice",20.5);b(this,"showRightButton",!0);b(this,"showLeftButton",!0);b(this,"animationDuration",300);b(this,"animationDelay",100);b(this,"zoomGraph",!1);b(this,"zoomedWidget",1)}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,re()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,re()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,re()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,Lr(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,re()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,re()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,pa(e),re()}setSmartHomeColors(e){this._smartHomeColors=e,pa(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,re()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,re()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,re()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,re()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,re()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,re()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,re()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,re()}setShowClock(e){this._showClock=e}get sslPrefs(){return this._sslPrefs}set sslPrefs(e){this._sslPrefs=e,re()}setSslPrefs(e){this.sslPrefs=e}get debug(){return this._debug}set debug(e){this._debug=e,re()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,re()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,re()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,re()}setShowVehicles(e){this._showVehicles=e}get showStandardVehicle(){return this._showStandardVehicle}set showStandardVehicle(e){this._showStandardVehicle=e,re()}setShowStandardVehicle(e){this._showStandardVehicle=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,re()}setShowPrices(e){this._showPrices=e}get showInverters(){return this._showInverters}set showInverters(e){this._showInverters=e,ca(),da(),re()}setShowInverters(e){this._showInverters=e}get alternativeEnergy(){return this._alternativeEnergy}set alternativeEnergy(e){this._alternativeEnergy=e,ca(),da(),re()}setAlternativeEnergy(e){this._alternativeEnergy=e}get lowerPriceBound(){return this._lowerPriceBound}set lowerPriceBound(e){this._lowerPriceBound=e,re()}setLowerPriceBound(e){this._lowerPriceBound=e}get upperPriceBound(){return this._upperPriceBound}set upperPriceBound(e){this._upperPriceBound=e,re()}setUpperPriceBound(e){this._upperPriceBound=e}}const g=le(new Ir);function Ba(){Tr();const a=ue("html");a.classed("theme-dark",g.displayMode=="dark"),a.classed("theme-light",g.displayMode=="light"),a.classed("theme-blue",g.displayMode=="blue"),a.classed("shcolors-standard",g.smartHomeColors=="standard"),a.classed("shcolors-advanced",g.smartHomeColors=="advanced"),a.classed("shcolors-normal",g.smartHomeColors=="normal")}const Cr=992,Mt=le({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Br(){Mt.x=document.documentElement.clientWidth,Mt.y=document.documentElement.clientHeight,Ba()}const De=m(()=>Mt.x>=Cr),ye={instant_charging:{mode:fe.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},pv_charging:{mode:fe.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},scheduled_charging:{mode:fe.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:fe.standby,name:"Standby",color:"var(--color-axis",icon:"fa-pause"},stop:{mode:fe.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};class Vr{constructor(){b(this,"batterySoc",0);b(this,"isBatteryConfigured",!0);b(this,"chargeMode","0");b(this,"_pvBatteryPriority","ev_mode");b(this,"displayLiveGraph",!0);b(this,"isEtEnabled",!0);b(this,"etMaxPrice",0);b(this,"etCurrentPrice",0);b(this,"cpDailyExported",0);b(this,"evuId",0);b(this,"etProvider","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,oe("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}function re(){Ar()}function Lr(a){const e=ue("html");e.classed("theme-dark",a=="dark"),e.classed("theme-light",a=="light"),e.classed("theme-blue",a=="blue"),re()}function Or(){g.maxPower=Q.evuIn.power+Q.pv.power+Q.batOut.power,re()}function pa(a){const e=ue("html");e.classed("shcolors-normal",a=="normal"),e.classed("shcolors-standard",a=="standard"),e.classed("shcolors-advanced",a=="advanced")}const Te={chargemode:"Der Lademodus für das Fahrzeug an diesem Ladepunkt",vehicle:"Das Fahrzeug, das an diesem Ladepounkt geladen wird",locked:"Für das Laden sperren",priority:"Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar",timeplan:"Das Laden nach Zeitplan für dieses Fahrzeug aktivieren",minsoc:"Immer mindestens bis zum eingestellten Ladestand laden. Wenn notwendig mit Netzstrom.",minpv:"Durchgehend mit mindestens dem eingestellten Strom laden. Wenn notwendig mit Netzstrom.",pricebased:"Laden bei dynamischem Stromtarif, wenn eingestellter Maximalpreis unterboten wird.",pvpriority:"Ladepriorität bei PV-Produktion. Bevorzung von Fahzeugen, Speicher, oder Fahrzeugen bis zum eingestellten Mindest-Ladestand. Die Einstellung ist für alle Ladepunkte gleich."};function Ar(){const a={};a.hideSH=[...ae.values()].filter(e=>!e.showInGraph).map(e=>e.id),a.showLG=g.graphPreference=="live",a.displayM=g.displayMode,a.stackO=g.usageStackOrder,a.showGr=g.showGrid,a.decimalP=g.decimalPlaces,a.smartHomeC=g.smartHomeColors,a.relPM=g.showRelativeArcs,a.maxPow=g.maxPower,a.showQA=g.showQuickAccess,a.simpleCP=g.simpleCpList,a.shortCP=g.shortCpList,a.animation=g.showAnimations,a.wideB=g.preferWideBoxes,a.fluidD=g.fluidDisplay,a.clock=g.showClock,a.showButtonBar=g.showButtonBar,a.showCounters=g.showCounters,a.showVehicles=g.showVehicles,a.showStandardV=g.showStandardVehicle,a.showPrices=g.showPrices,a.showInv=g.showInverters,a.altEngy=g.alternativeEnergy,a.lowerP=g.lowerPriceBound,a.upperP=g.upperPriceBound,a.sslPrefs=g.sslPrefs,a.debug=g.debug,document.cookie="openWBColorTheme="+JSON.stringify(a)+";max-age=16000000;"+(g.sslPrefs?"SameSite=None;Secure":"SameSite=Strict")}function Tr(){const e=document.cookie.split(";").filter(t=>t.split("=")[0]==="openWBColorTheme");if(e.length>0){const t=JSON.parse(e[0].split("=")[1]);t.decimalP!==void 0&&g.setDecimalPlaces(+t.decimalP),t.smartHomeC!==void 0&&g.setSmartHomeColors(t.smartHomeC),t.hideSH!==void 0&&t.hideSH.forEach(n=>{ae.get(n)==null&&qt(n),ae.get(n).setShowInGraph(!1)}),t.showLG!==void 0&&g.setGraphPreference(t.showLG?"live":"today"),t.maxPow!==void 0&&g.setMaxPower(+t.maxPow),t.relPM!==void 0&&g.setShowRelativeArcs(t.relPM),t.displayM!==void 0&&g.setDisplayMode(t.displayM),t.stackO!==void 0&&g.setUsageStackOrder(t.stackO),t.showGr!==void 0&&g.setShowGrid(t.showGr),t.showQA!==void 0&&g.setShowQuickAccess(t.showQA),t.simpleCP!==void 0&&g.setSimpleCpList(t.simpleCP),t.shortCP!==void 0&&g.setShortCpList(t.shortCP),t.animation!=null&&g.setShowAnimations(t.animation),t.wideB!=null&&g.setPreferWideBoxes(t.wideB),t.fluidD!=null&&g.setFluidDisplay(t.fluidD),t.clock!=null&&g.setShowClock(t.clock),t.showButtonBar!==void 0&&g.setShowButtonBar(t.showButtonBar),t.showCounters!==void 0&&g.setShowCounters(t.showCounters),t.showVehicles!==void 0&&g.setShowVehicles(t.showVehicles),t.showStandardV!==void 0&&g.setShowStandardVehicle(t.showStandardV),t.showPrices!==void 0&&g.setShowPrices(t.showPrices),t.showInv!==void 0&&g.setShowInverters(t.showInv),t.altEngy!==void 0&&g.setAlternativeEnergy(t.altEngy),t.lowerP!==void 0&&g.setLowerPriceBound(t.lowerP),t.upperP!==void 0&&g.setUpperPriceBound(t.upperP),t.sslPrefs!==void 0&&g.setSslPrefs(t.sslPrefs),t.debug!==void 0&&g.setDebug(t.debug)}}const ie=le({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"},pv1:{name:"PV",color:"var(--color-pv1)",icon:"Wechselrichter"},pv2:{name:"PV",color:"var(--color-pv2)",icon:"Wechselrichter"},pv3:{name:"PV",color:"var(--color-pv3)",icon:"Wechselrichter"},pv4:{name:"PV",color:"var(--color-pv4)",icon:"Wechselrichter"},pv5:{name:"PV",color:"var(--color-pv5)",icon:"Wechselrichter"},pv6:{name:"PV",color:"var(--color-pv6)",icon:"Wechselrichter"},pv7:{name:"PV",color:"var(--color-pv7)",icon:"Wechselrichter"},pv8:{name:"PV",color:"var(--color-pv8)",icon:"Wechselrichter"},pv9:{name:"PV",color:"var(--color-pv9)",icon:"Wechselrichter"},bat1:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat2:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat3:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat4:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat5:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat6:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat7:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat8:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat9:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"}});class Va{constructor(){b(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e,t){this._items[e]=t?ze(e,t):ze(e)}setEnergy(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energy=t}setEnergyPv(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=t}setEnergyBat(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=t}setPvPercentage(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=t<=100?t:100}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let T=le(new Va);function ra(){T=new Va}const Q=le({evuIn:ze("evuIn"),pv:ze("pv"),batOut:ze("batOut")}),j=le({evuOut:ze("evuOut"),charging:ze("charging"),devices:ze("devices"),batIn:ze("batIn"),house:ze("house")}),de=le(new Vr);ee("");const ct=ee(!1);function ze(a,e){return{name:ie[a]?ie[a].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:e||(ie[a]?ie[a].color:"var(--color-charging)"),icon:ie[a]?ie[a].icon:"",showInGraph:!0}}const Jt=ee(new Date),we=ee(new Map),Er=a=>{we.value.set(a,new $a(a)),we.value.get(a).color=ie["pv"+we.value.size].color},zr=["origin"],Wr=L({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0},s=Q;s["zz-empty"]=n;const o=Object.values(Q).length-1,h=wa().value(p=>p.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),u=ue("g#pmSourceArc");return u.selectAll("*").remove(),u.selectAll("sources").data(h(Object.values(s))).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmSourceArc.vue"});return Ra(()=>{let n=Q.pv.power+Q.evuIn.power+Q.batOut.power;n>g.maxPower&&(g.maxPower=n)}),(n,s)=>(l(),v("g",{id:"pmSourceArc",origin:t.value},null,8,zr))}}),Dr=["origin"],Gr=L({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0};const s=[j.evuOut,j.charging].concat([...ae.values()].filter(p=>p.configured&&!p.countAsHouse).sort((p,c)=>c.power-p.power)).concat([j.batIn,j.house]).concat(n),o=s.length-1,h=wa().value(p=>p.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),u=ue("g#pmUsageArc");return u.selectAll("*").remove(),u.selectAll("consumers").data(h(s)).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmUsageArc.vue"});return(n,s)=>(l(),v("g",{id:"pmUsageArc",origin:t.value},null,8,Dr))}});function Me(a,e=1){let t;if(a>=1e3&&e<4){switch(e){case 0:t=Math.round(a/1e3);break;case 1:t=Math.round(a/100)/10;break;case 2:t=Math.round(a/10)/100;break;case 3:t=Math.round(a)/1e3;break;default:t=Math.round(a/100)/10;break}return(t==null?void 0:t.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(a).toLocaleString()+" W"}function ut(a,e=1,t=!1){let n;if(a>1e6&&(t=!0,a=a/1e3),a>=1e3&&e<4){switch(e){case 0:n=Math.round(a/1e3);break;case 1:n=Math.round(a/100)/10;break;case 2:n=Math.round(a/10)/100;break;case 3:n=Math.round(a)/1e3;break;default:n=Math.round(a/100)/10;break}return n.toLocaleString(void 0,{minimumFractionDigits:e})+(t?" MWh":" kWh")}else return Math.round(a).toLocaleString()+(t?" kWh":" Wh")}function jr(a){const e=Math.floor(a/3600),t=(a%3600/60).toFixed(0);return e>0?e+"h "+t+" min":t+" min"}function La(a){return a.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Ur(a,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][a]+" "+e}function Fr(a){return a!=999?(Math.round(a*10)/10).toLocaleString(void 0,{minimumFractionDigits:1})+"°":"-"}const bt=L({__name:"FormatWatt",props:{watt:{}},setup(a){const e=a,t=m(()=>Me(e.watt,g.decimalPlaces));return(n,s)=>S(t.value)}}),Nr={key:0,id:"pmLabel"},Hr=["x","y","fill","text-anchor"],Rr=22,Ae=L({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(a){const e=a,t=m(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),n=m(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),s=m(()=>!e.data||e.data.power>0),o=m(()=>e.labeltext?"":"fas");return(h,d)=>s.value?(l(),v("g",Nr,[r("text",{x:h.x,y:h.y,fill:n.value,"text-anchor":h.anchor,"font-size":Rr,class:"pmLabel"},[r("tspan",{class:q(o.value)},S(t.value),3),r("tspan",null,[h.data!==void 0?(l(),P(bt,{key:0,watt:h.data.power},null,8,["watt"])):w("",!0)])],8,Hr)])):w("",!0)}}),Jr={class:"wb-widget p-0 m-0 shadow"},Yr={class:"d-flex justify-content-between"},qr={class:"m-4 me-0 mb-0"},Qr={class:"p-4 pb-0 ps-0 m-0",style:{"text-align":"right"}},Zr={class:"px-4 pt-4 pb-2 wb-subwidget"},Xr={class:"row"},Kr={class:"col m-0 p-0"},en={class:"container-fluid m-0 p-0"},tn={key:0},an={class:"px-4 py-2 wb-subwidget"},rn={class:"row"},nn={class:"col"},on={class:"container-fluid m-0 p-0"},_t=L({__name:"WBWidget",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(n,s)=>(l(),v("div",{class:q(["p-2 m-0 d-flex",t.value])},[r("div",Jr,[r("div",Yr,[r("h3",qr,[pe(n.$slots,"title",{},()=>[s[0]||(s[0]=r("div",{class:"p-0"},"(title goes here)",-1))]),pe(n.$slots,"subtitle")]),r("div",Qr,[pe(n.$slots,"buttons")])]),r("div",Zr,[r("div",Xr,[r("div",Kr,[r("div",en,[pe(n.$slots,"default")])])])]),n.$slots.footer!=null?(l(),v("div",tn,[s[1]||(s[1]=r("hr",null,null,-1)),r("div",an,[r("div",rn,[r("div",nn,[r("div",on,[pe(n.$slots,"footer")])])])])])):w("",!0)])],2))}});class sn{constructor(){b(this,"active",!1);b(this,"etPriceList",new Map);b(this,"etProvider","");b(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=ne.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const ne=le(new sn),ln={id:"powermeter",class:"p-0 m-0"},cn=["viewBox"],un=["transform"],dn=["x"],Ue=500,Fe=20,ga=1,hn=L({__name:"PowerMeter",setup(a){const e=Ue,t=Math.PI/40,n=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],s=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],o=m(()=>Ue/2-Fe),h=m(()=>{let B="",A=Object.values(Q).filter(V=>V.power>0);return A.length==1&&A[0].name=="PV"?B="Aktueller Verbrauch: ":B="Bezug/Verbrauch: ",B+Me(j.house.power+j.charging.power+j.devices.power+j.batIn.power,g.decimalPlaces)}),d=m(()=>{let B=Q.pv.power+Q.evuIn.power+Q.batOut.power;return g.maxPower>B?Me(g.maxPower,g.decimalPlaces):Me(B,g.decimalPlaces)}),u=m(()=>Object.values(O)),p=m(()=>{let B=0;return g.showRelativeArcs&&(B=g.maxPower-(Q.pv.power+Q.evuIn.power+Q.batOut.power)),B<0?0:B}),c=m(()=>[j.evuOut,j.charging,j.devices,j.batIn,j.house].filter(B=>B.power>0)),k=m(()=>n[c.value.length-1]);function I(B){return s[k.value[B]]}function z(B){return B.length>12?B.slice(0,11)+".":B}const W=m(()=>{const[B]=ne.etPriceList.values();return Math.round(B*10)/10});return(B,A)=>(l(),P(_t,{"full-width":!0},{title:_(()=>A[0]||(A[0]=[H(" Aktuelle Leistung ")])),default:_(()=>[r("figure",ln,[(l(),v("svg",{viewBox:"0 0 "+Ue+" "+i(e)},[r("g",{transform:"translate("+Ue/2+","+i(e)/2+")"},[f(Wr,{radius:o.value,"corner-radius":ga,"circle-gap-size":t,"empty-power":p.value},null,8,["radius","empty-power"]),f(Gr,{"sh-device":i(ae),radius:o.value,"corner-radius":ga,"circle-gap-size":t,"empty-power":p.value},null,8,["sh-device","radius","empty-power"]),f(Ae,{x:0,y:-i(e)/10*2,data:i(Q).pv,props:i(ie).pv,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),f(Ae,{x:0,y:-i(e)/10*3,data:i(Q).evuIn,props:i(ie).evuIn,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),f(Ae,{x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),i(ne).active?(l(),P(Ae,{key:0,x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"])):w("",!0),(l(!0),v(U,null,te(c.value,(V,J)=>(l(),P(Ae,{key:J,x:I(J).x,y:I(J).y,data:V,labelicon:V.icon,labelcolor:V.color,anchor:"middle",config:i(g)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),i(me)[0]!=null&&i(Y)[i(me)[0]]!=null?(l(),P(Ae,{key:1,x:-Ue/2-Fe/4+10,y:-i(e)/2+Fe+5,labeltext:z(i(Y)[i(me)[0]].name)+": "+Math.round(i(Y)[i(me)[0]].soc)+"%",labelcolor:u.value[0].color,anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(me)[1]!=null&&i(Y)[i(me)[1]]!=null?(l(),P(Ae,{key:2,x:Ue/2+Fe/4-10,y:-i(e)/2+Fe+5,labeltext:z(i(Y)[i(me)[1]].name)+": "+Math.round(i(Y)[i(me)[1]].soc)+"%",labelcolor:u.value[1]?u.value[1].color:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(de).batterySoc>0?(l(),P(Ae,{key:3,x:-Ue/2-Fe/4+10,y:i(e)/2-Fe+15,labeltext:"Speicher: "+i(de).batterySoc+"%",labelcolor:i(j).batIn.color,anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(ne).active?(l(),P(Ae,{key:4,x:Ue/2+Fe/4-10,y:i(e)/2-Fe+15,value:W.value,labeltext:i(ne).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","value","labeltext","config"])):w("",!0),f(Ae,{x:0,y:0,labeltext:h.value,labelcolor:"var(--color-fg)",anchor:"middle",config:i(g)},null,8,["labeltext","config"]),i(g).showRelativeArcs?(l(),v("text",{key:5,x:Ue/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+S(d.value),9,dn)):w("",!0)],8,un)],8,cn))])]),_:1}))}}),pn=["origin","origin2","transform"],gn=L({__name:"PgSourceGraph",props:{width:{},height:{},margin:{}},setup(a){const e=a,t={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",pv:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var n,s;const o=g.showAnimations?g.animationDuration:0,h=g.showAnimations?g.animationDelay:0,d=m(()=>{const M=ue("g#pgSourceGraph");if(y.data.length>0){y.graphMode=="month"||y.graphMode=="year"?J(M,Ye.value):V(M,Ce.value),M.selectAll(".axis").remove();const E=M.append("g").attr("class","axis");E.call(W.value),E.selectAll(".tick").attr("font-size",12),E.selectAll(".tick line").attr("stroke",A.value).attr("stroke-width",B.value),E.select(".domain").attr("stroke","var(--color-bg)")}return"pgSourceGraph.vue"}),u=m(()=>xa().value((M,E)=>M[E]??0).keys(k.value)),p=m(()=>u.value(y.data)),c=m(()=>Re().range([e.height-10,0]).domain(y.graphMode=="year"?[0,Math.ceil(I.value[1]*10)/10]:[0,Math.ceil(I.value[1])])),k=m(()=>{let M=[];const E=["batOut","evuIn"];if(g.showInverters){const $=/pv\d+/;y.data.length>0&&(M=Object.keys(y.data[0]).reduce((x,F)=>(F.match($)&&x.push(F),x),[]))}switch(y.graphMode){case"live":return g.showInverters?["pv","batOut","evuIn"]:["selfUsage","evuOut","batOut","evuIn"];case"today":case"day":return M.forEach(($,x)=>{t[$]="var(--color-pv"+(x+1)+")"}),g.showInverters?[...M,...E]:["selfUsage","evuOut","batOut","evuIn"];default:return["evuIn","batOut","selfUsage","evuOut"]}}),I=m(()=>{let M=Be(y.data,E=>Math.max(E.pv+E.evuIn+E.batOut,E.selfUsage+E.evuOut));return M[0]!=null&&M[1]!=null?(y.graphMode=="year"&&(M[0]=M[0]/1e3,M[1]=M[1]/1e3),M):[0,0]}),z=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),W=m(()=>vt(c.value).tickSizeInner(z.value).ticks(4).tickFormat(M=>(M==0?"":Math.round(M*10)/10).toLocaleString(void 0))),B=m(()=>g.showGrid?"0.5":"1"),A=m(()=>g.showGrid?"var(--color-grid)":"var(--color-bg)");function V(M,E){const $=nt().x((F,Le)=>E(y.data[Le].date)).y(c.value(0)).curve(ot),x=nt().x((F,Le)=>E(y.data[Le].date)).y0(F=>c.value(y.graphMode=="year"?F[0]/1e3:F[0])).y1(F=>c.value(y.graphMode=="year"?F[1]/1e3:F[1])).curve(ot);mt?(M.selectAll("*").remove(),n=M.selectAll(".sourceareas").data(p.value).enter().append("path").attr("fill",(F,Le)=>t[k.value[Le]]).attr("d",F=>$(F)),n.transition().duration(o).delay(h).ease(dt).attr("d",F=>x(F)),la()):n.data(p.value).transition().duration(0).ease(dt).attr("d",F=>x(F))}function J(M,E){y.data.length>0&&(mt?(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",($,x)=>t[k.value[x]]).selectAll("rect").data($=>$).enter().append("rect").attr("x",($,x)=>E(y.data[x].date)??0).attr("y",()=>c.value(0)).attr("height",0).attr("width",E.bandwidth()),s.transition().duration(o).delay(h).ease(dt).attr("height",$=>y.graphMode=="year"?c.value($[0]/1e3)-c.value($[1]/1e3):c.value($[0])-c.value($[1])).attr("y",$=>y.graphMode=="year"?c.value($[1]/1e3):c.value($[1])),la()):(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",($,x)=>t[k.value[x]]).selectAll("rect").data($=>$).enter().append("rect").attr("x",($,x)=>E(y.data[x].date)??0).attr("y",$=>y.graphMode=="year"?c.value($[1]/1e3):c.value($[1])).attr("width",E.bandwidth()).attr("height",$=>y.graphMode=="year"?c.value($[0]/1e3)-c.value($[1]/1e3):c.value($[0])-c.value($[1]))))}const C=m(()=>{const M=ue("g#pgSourceGraph");if(y.graphMode!="month"&&y.graphMode!="year"&&y.data.length>0){Ce.value.range(qe.value);const E=nt().x(($,x)=>Ce.value(y.data[x].date)).y0($=>c.value($[0])).y1($=>c.value($[1])).curve(ot);M.selectAll("path").attr("d",$=>$?E($):""),M.selectAll("g#sourceToolTips").select("rect").attr("x",$=>Ce.value($.date)).attr("width",e.width/y.data.length)}return"zoomed"});return(M,E)=>(l(),v("g",{id:"pgSourceGraph",origin:d.value,origin2:C.value,transform:"translate("+M.margin.left+","+M.margin.top+")"},null,8,pn))}}),mn=["origin","origin2","transform"],vn=L({__name:"PgUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(a){const e=a,t=m(()=>g.showInverters?[["house","charging","devices","batIn"],["charging","devices","batIn","house"],["devices","batIn","charging","house"],["batIn","charging","house","devices"]]:[["house","charging","devices","batIn","evuOut"],["charging","devices","batIn","house","evuOut"],["devices","batIn","charging","house","evuOut"],["batIn","charging","house","devices","evuOut"]]),n={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var s,o;const h=g.showAnimations?g.animationDuration:0,d=g.showAnimations?g.animationDelay:0,u=m(()=>{const C=ue("g#pgUsageGraph");y.graphMode=="month"||y.graphMode=="year"?V(C):A(C),C.selectAll(".axis").remove();const M=C.append("g").attr("class","axis");return M.call(B.value),M.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),g.showGrid?M.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):M.selectAll(".tick line").attr("stroke","var(--color-bg)"),M.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),p=m(()=>xa().value((C,M)=>C[M]??0).keys(I.value)),c=m(()=>p.value(y.data)),k=m(()=>Re().range([e.height+10,2*e.height]).domain(y.graphMode=="year"?[0,Math.ceil(z.value[1]*10)/10]:[0,Math.ceil(z.value[1])])),I=m(()=>{if(y.graphMode!="today"&&y.graphMode!="day"&&y.graphMode!="live")return t.value[e.stackOrder];{const C=t.value[e.stackOrder].slice(),M=C.indexOf("charging");C.splice(M,1);const E=/cp\d+/;let $=[];return y.data.length>0&&($=Object.keys(y.data[0]).reduce((x,F)=>(F.match(E)&&x.push(F),x),[])),$.forEach((x,F)=>{var Le;C.splice(M+F,0,x),n[x]=((Le=O[+x.slice(2)])==null?void 0:Le.color)??"black"}),g.showInverters&&C.push("evuOut"),C}}),z=m(()=>{let C=Be(y.data,M=>M.house+M.charging+M.batIn+M.devices+M.evuOut);return C[0]!=null&&C[1]!=null?(y.graphMode=="year"&&(C[0]=C[0]/1e3,C[1]=C[1]/1e3),C):[0,0]}),W=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),B=m(()=>vt(k.value).tickSizeInner(W.value).ticks(4).tickFormat(C=>(C==0?"":Math.round(C*10)/10).toLocaleString(void 0)));function A(C){const M=nt().x(($,x)=>Ce.value(y.data[x].date)).y(k.value(0)).curve(ot),E=nt().x(($,x)=>Ce.value(y.data[x].date)).y0($=>k.value($[0])).y1($=>k.value($[1])).curve(ot);g.showAnimations?lt?(C.selectAll("*").remove(),s=C.selectAll(".usageareas").data(c.value).enter().append("path").attr("d",$=>M($)).attr("fill",($,x)=>n[I.value[x]]),s.transition().duration(300).delay(100).ease(dt).attr("d",$=>E($)),ua()):(C.selectAll("*").remove(),C.selectAll(".usageareas").data(c.value).enter().append("path").attr("d",$=>E($)).attr("fill",($,x)=>n[I.value[x]])):(C.selectAll("*").remove(),C.selectAll(".usageareas").data(c.value).enter().append("path").attr("d",$=>E($)).attr("fill",($,x)=>n[I.value[x]]))}function V(C){lt?(C.selectAll("*").remove(),o=C.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>n[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Ye.value(y.data[E].date)??0).attr("y",()=>k.value(0)).attr("height",0).attr("width",Ye.value.bandwidth()),o.transition().duration(h).delay(d).ease(dt).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])),ua()):(C.selectAll("*").remove(),o=C.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>n[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Ye.value(y.data[E].date)??0).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])).attr("width",Ye.value.bandwidth()))}const J=m(()=>{const C=ue("g#pgUsageGraph");if(y.graphMode!="month"&&y.graphMode!="year"){Ce.value.range(qe.value);const M=nt().x((E,$)=>Ce.value(y.data[$].date)).y0(E=>k.value(E[0])).y1(E=>k.value(E[1])).curve(ot);C.selectAll("path").attr("d",E=>E?M(E):"")}return"zoomed"});return(C,M)=>(l(),v("g",{id:"pgUsageGraph",origin:u.value,origin2:J.value,transform:"translate("+C.margin.left+","+C.margin.top+")"},null,8,mn))}}),fn=["transform"],yn=["origin","origin2","transform"],bn=["origin","transform"],_n={key:0},wn=["width","height"],kn={key:1},xn=["y","width","height"],Bt=12,Sn=L({__name:"PgXAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>ht(Ce.value).ticks(6).tickSizeInner(h.value).tickFormat(it("%H:%M"))),n=m(()=>Ja(Ce.value).ticks(6).tickSizeInner(h.value+3).tickFormat(it(""))),s=m(()=>ht(Ye.value).ticks(4).tickSizeInner(h.value).tickFormat(c=>c.toString())),o=m(()=>ht(Ye.value).ticks(4).tickSizeInner(h.value).tickFormat(()=>"")),h=m(()=>y.graphMode!=="month"&&y.graphMode!=="year"?g.showGrid?-(e.height/2-7):-10:0),d=m(()=>{let c=ue("g#PGXAxis");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(s.value):c.call(t.value),c.selectAll(".tick > text").attr("fill",(k,I)=>I>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),c.append("text").attr("x",-e.margin.left).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",Bt).text(y.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),u=m(()=>{let c=ue("g#PGXAxis2");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(o.value):c.call(n.value),c.selectAll(".tick > text").attr("fill",(k,I)=>I>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?(c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),c.select(".domain").attr("stroke","var(--color-bg)")):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"}),p=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const c=ue("g#PGXAxis"),k=ue("g#PGXAxis2");y.graphMode=="month"||y.graphMode=="year"?(Ye.value.range(qe.value),c.call(s.value),k.call(o.value)):(Ce.value.range(qe.value),c.call(t.value),k.call(n.value))}return"zoomed"});return(c,k)=>(l(),v("g",{transform:"translate("+c.margin.left+","+c.margin.top+")"},[r("g",{id:"PGXAxis",class:"axis",origin:d.value,origin2:p.value,transform:"translate(0,"+(c.height/2-6)+")"},null,8,yn),r("g",{id:"PGXAxis2",class:"axis",origin:u.value,transform:"translate(0,"+(c.height/2+10)+")"},null,8,bn),i(g).showGrid?(l(),v("g",_n,[r("rect",{x:"0",y:"0",width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,wn)])):w("",!0),i(g).showGrid?(l(),v("g",kn,[r("rect",{x:"0",y:c.height/2+10,width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,xn)])):w("",!0)],8,fn))}}),Mn=["id",".origin","d"],$n=["id","d","stroke"],Pn=["x","y","text-anchor"],Vt=L({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(a){const e=a,t=m(()=>{let I=Be(y.data,z=>z.date);return I[0]&&I[1]?tt().domain(I).range([0,e.width]):tt().range([0,0])}),n=m(()=>Re().range([e.height-10,0]).domain([0,100])),s=m(()=>{let z=He().x(W=>t.value(W.date)).y(W=>n.value(e.order==2?W.batSoc:e.order==0?W["soc"+me.value[0]]:W["soc"+me.value[1]])??n.value(0))(y.data);return z||""}),o=m(()=>e.order),h=m(()=>{switch(e.order){case 2:return"Speicher";case 1:return Y[me.value[1]]!=null?Y[me.value[1]].name:"???";default:return Y[me.value[0]]!=null?Y[me.value[0]].name:"???"}}),d=m(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),u=m(()=>{switch(e.order){case 0:return 3;case 1:return e.width-3;case 2:return e.width/2;default:return 0}}),p=m(()=>{if(y.data.length>0){let I;switch(e.order){case 0:return I=y.data.length-1,n.value(y.data[I]["soc"+me.value[0]]+2);case 1:return I=0,n.value(y.data[I]["soc"+me.value[1]]+2);case 2:return I=Math.round(y.data.length/2),n.value(y.data[I].batSoc+2);default:return 0}}else return 0}),c=m(()=>{switch(e.order){case 0:return"start";case 1:return"end";case 2:return"middle";default:return"middle"}}),k=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const I=ue("path#soc-"+o.value),z=ue("path#socdashes-"+o.value);t.value.range(qe.value);const W=He().x(B=>t.value(B.date)).y(B=>n.value(e.order==2?B.batSoc:e.order==1?B["soc"+me.value[0]]:B["soc"+me.value[1]])??n.value(0));I.attr("d",W(y.data)),z.attr("d",W(y.data))}return"zoomed"});return(I,z)=>(l(),v(U,null,[r("path",{id:"soc-"+o.value,".origin":k.value,class:"soc-baseline",d:s.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,40,Mn),r("path",{id:"socdashes-"+o.value,class:"soc-dashes",d:s.value,stroke:d.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,$n),r("text",{class:"cpname",x:u.value,y:p.value,style:K({fill:d.value,fontSize:10}),"text-anchor":c.value},S(h.value),13,Pn)],64))}}),In=["transform"],Cn=L({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>Re().range([e.height-10,0]).domain([0,100])),n=m(()=>Ya(t.value).ticks(5).tickFormat(o=>o.toString()+"%"));function s(){let o=ue("g#PGSocAxis");o.call(n.value),o.selectAll(".tick").attr("font-size",12),o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)")}return Ve(()=>{s()}),(o,h)=>(l(),v("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(o.width-20)+",0)"},null,8,In))}}),Bn={class:"d-flex align-self-top justify-content-center align-items-center"},Vn={class:"input-group input-group-xs"},Ln={key:0,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},On={class:"dropdown-menu"},An={class:"table optiontable"},Tn=["onClick"],En={key:1,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},zn={class:"dropdown-menu"},Wn={class:"table optiontable"},Dn=["onClick"],Gn={key:2,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},jn={class:"dropdown-menu"},Un={class:"table optiontable"},Fn=["onClick"],Nn=L({__name:"DateInput",props:{modelValue:{type:Date,required:!0},mode:{type:String,default:"day"}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=new Date().getFullYear();let s=Array.from({length:10},(z,W)=>n-W);const o=ee(!0),h=e,d=[[0,1,2,3],[4,5,6,7],[8,9,10,11]],u=ee(t.modelValue.getDate()),p=ee(t.modelValue.getMonth()),c=ee(t.modelValue.getFullYear()),k=m(()=>{const W=new Date(c.value,p.value,1).getDay();let B=0;switch(p.value){case 1:case 3:case 5:case 7:case 8:case 10:case 12:B=31;break;case 4:case 6:case 9:case 11:B=30;break;case 2:Math.trunc(c.value/4)*4==c.value?B=29:B=28}let A=[],V=[0,0,0,0,0,0,0],J=W;for(let C=0;C(l(),v("span",Bn,[r("div",Vn,[t.mode=="day"||t.mode=="today"?(l(),v("button",Ln,S(u.value),1)):w("",!0),r("div",On,[r("table",An,[(l(!0),v(U,null,te(k.value,(B,A)=>(l(),v("tr",{key:A,class:""},[(l(!0),v(U,null,te(B,(V,J)=>(l(),v("td",{key:J},[V!=0?(l(),v("span",{key:0,type:"button",class:"btn optionbutton",onClick:C=>u.value=V},S(V),9,Tn)):w("",!0)]))),128))]))),128))])]),t.mode!="year"&&t.mode!="live"?(l(),v("button",En,S(p.value+1),1)):w("",!0),r("div",zn,[r("table",Wn,[(l(),v(U,null,te(d,(B,A)=>r("tr",{key:A,class:""},[(l(!0),v(U,null,te(B,(V,J)=>(l(),v("td",{key:J,class:"p-0 m-0"},[r("span",{type:"button",class:"btn btn-sm optionbutton",onClick:C=>p.value=V},S(V+1),9,Dn)]))),128))])),64))])]),t.mode!="live"?(l(),v("button",Gn,S(c.value),1)):w("",!0),r("div",jn,[r("table",Un,[(l(!0),v(U,null,te(i(s),(B,A)=>(l(),v("tr",{key:A,class:""},[r("td",null,[r("span",{type:"button",class:"btn optionbutton",onClick:V=>c.value=B},S(B),9,Fn)])]))),128))])]),t.mode!="live"?(l(),v("button",{key:3,class:"button-outline-secondary",type:"button",onClick:I},W[0]||(W[0]=[r("span",{class:"fa-solid fa-circle-check"},null,-1)]))):w("",!0)])]))}}),R=(a,e)=>{const t=a.__vccOpts||a;for(const[n,s]of e)t[n]=s;return t},Hn=R(Nn,[["__scopeId","data-v-98690e5d"]]),Rn={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Jn=["id","value"],Yn=L({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=e,s=m({get(){return t.modelValue},set(d){n("update:modelValue",d)}});function o(d){let u=t.options[d].color?t.options[d].color:"var(--color-fg)";return t.options[d].active?{color:"var(--color-bg)",background:u}:{color:u}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),v("div",null,[r("div",Rn,[(l(!0),v(U,null,te(d.options,(p,c)=>(l(),v("button",{id:"radio-"+p.value,key:c,class:q(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",p.value==s.value?"active":""]),value:p.value,style:K(o(c)),onClick:h},[r("span",{style:K(o(c))},[p.icon?(l(),v("i",{key:0,class:q(["fa-solid",p.icon])},null,2)):w("",!0),H(" "+S(p.text),1)],4)],14,Jn))),128))])]))}}),Oa=R(Yn,[["__scopeId","data-v-82ab6829"]]),qn=L({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(a){const e=a,t=ee(0),n=m(()=>{if(y.waitForData)return"Lädt";switch(y.graphMode){case"live":return e.ignoreLive?"heute":`${ge.duration} min`;case"today":return"heute";case"day":return ce.date.getDate()+"."+(ce.date.getMonth()+1)+".";case"month":return Ur(Ee.month-1,Ee.year);case"year":return Je.year.toString();default:return"???"}}),s=["live","today","day","month","year"],o=["Live","Heute","Tag","Monat","Jahr"],h=m({get(){return y.graphMode},set(J){switch(J){case"day":k();break;case"today":I();break;case"live":c();break;case"month":z();break;case"year":W()}}}),d=m(()=>{switch(y.graphMode){case"live":case"today":return ce.getDate();case"month":return Ee.getDate();default:return ce.getDate()}});function u(J){ha(J)}function p(){t.value+=1,t.value>2&&(t.value=0)}function c(){y.graphMode!="live"&&(y.graphMode="live",ve())}function k(){y.graphMode!="day"&&y.graphMode!="today"&&(y.graphMode="day",ve())}function I(){y.graphMode!="today"&&(y.graphMode="today",ha(new Date),ve())}function z(){y.graphMode!="month"&&(y.graphMode="month",ve())}function W(){y.graphMode!="year"&&(y.graphMode="year",ve())}const B=m(()=>t.value>0?{border:"1px solid var(--color-frame)"}:""),A=m(()=>t.value==1?"justify-content-between":"justify-content-end"),V=m(()=>t.value==1?"justify-content-between":"justify-content-center");return(J,C)=>(l(),v("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:K(B.value)},[t.value==2?(l(),P(Oa,{key:0,id:"pgm2",modelValue:h.value,"onUpdate:modelValue":C[0]||(C[0]=M=>h.value=M),class:"m-2",options:s.map((M,E)=>({text:o[E],value:M,color:"var(--color-menu)",active:M==i(y).graphMode}))},null,8,["modelValue","options"])):w("",!0),t.value==1?(l(),v("span",{key:1,type:"button",class:q(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:C[1]||(C[1]=M=>J.$emit("shiftUp"))},C[6]||(C[6]=[r("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):w("",!0),r("div",{class:q(["d-flex align-items-center",V.value])},[t.value==1?(l(),v("span",{key:0,type:"button",class:q(["p-1",{disabled:!e.showLeftButton}]),onClick:C[2]||(C[2]=M=>J.$emit("shiftLeft"))},C[7]||(C[7]=[r("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):w("",!0),t.value<2?(l(),v("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:p},S(n.value),1)):w("",!0),t.value==2?(l(),P(Hn,{key:2,"model-value":d.value,mode:i(y).graphMode,"onUpdate:modelValue":u},null,8,["model-value","mode"])):w("",!0),t.value==1?(l(),v("span",{key:3,id:"graphRightButton",type:"button",class:q(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:C[3]||(C[3]=M=>J.$emit("shiftRight"))},null,2)):w("",!0)],2),r("div",{class:q(["d-flex align-items-center",A.value])},[t.value==1?(l(),v("span",{key:0,type:"button",class:"p-1",onClick:p},C[8]||(C[8]=[r("span",{class:"fa-solid fa-xl fa-gear"},null,-1)]))):w("",!0),t.value==1?(l(),v("span",{key:1,id:"graphLeftButton",type:"button",class:q(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:C[4]||(C[4]=M=>J.$emit("shiftDown"))},null,2)):w("",!0),t.value>0?(l(),v("span",{key:2,type:"button",class:"p-1",onClick:C[5]||(C[5]=M=>t.value=0)},C[9]||(C[9]=[r("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):w("",!0)],2)],4))}}),na=R(qn,[["__scopeId","data-v-d75ec1a4"]]),Qn=["x","fill"],Zn=["x"],Pe=L({__name:"PgToolTipLine",props:{cat:{},name:{},indent:{},power:{},width:{}},setup(a){const e=a;return(t,n)=>(l(),v(U,null,[t.power>0?(l(),v("tspan",{key:0,x:t.indent,dy:"1.3em",class:q(t.name?"":"fas"),fill:i(ie)[t.cat].color},S(t.name?t.name:i(ie)[t.cat].icon)+"   ",11,Qn)):w("",!0),r("tspan",{"text-anchor":"end",x:t.width-t.indent},[e.power>0?(l(),P(bt,{key:0,watt:t.power*1e3},null,8,["watt"])):w("",!0)],8,Zn)],64))}}),Xn=["transform"],Kn=["width","height"],eo={"text-anchor":"start",x:"5",y:"20","font-size":"16",fill:"var(--color-fg)"},to=["x"],ao=L({__name:"PgToolTipItem",props:{entry:{},boxwidth:{},xScale:{type:[Function,Object]}},setup(a){const e=a,t=m(()=>Object.values(e.entry).filter(u=>u>0).length),n=m(()=>t.value*16),s=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("pv")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Ne.value.get(u)?d(Ne.value.get(u)):"Wechselr.",id:u}))),o=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("cp")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Ne.value.get(u)?d(Ne.value.get(u)):"Ladep.",id:u}))),h=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("sh")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Ne.value.get(u)?d(Ne.value.get(u)):"Gerät",id:u})));function d(u){return u.length>6?u.slice(0,6)+"...":u}return(u,p)=>(l(),v("g",{class:"ttmessage",transform:"translate("+u.xScale(u.entry.date)+",0)"},[r("rect",{rx:"5",width:u.boxwidth,height:n.value,fill:"var(--color-bg)",opacity:"80%",stroke:"var(--color-menu)"},null,8,Kn),r("text",eo,[r("tspan",{"text-anchor":"middle",x:u.boxwidth/2,dy:"0em"},S(i(it)("%H:%M")(new Date(u.entry.date))),9,to),p[0]||(p[0]=r("line",{y:"120",x1:"5",x2:"100",stroke:"var(--color-fg)","stroke-width":"1"},null,-1)),f(Pe,{cat:"evuIn",indent:5,power:u.entry.evuIn,width:u.boxwidth},null,8,["power","width"]),f(Pe,{cat:"batOut",indent:5,power:u.entry.batOut,width:u.boxwidth},null,8,["power","width"]),f(Pe,{cat:"pv",indent:5,power:u.entry.pv,width:u.boxwidth},null,8,["power","width"]),(l(!0),v(U,null,te(s.value,c=>(l(),P(Pe,{key:c.id,cat:"pv",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),f(Pe,{cat:"house",indent:5,power:u.entry.house,width:u.boxwidth},null,8,["power","width"]),f(Pe,{cat:"charging",indent:5,power:u.entry.charging,width:u.boxwidth},null,8,["power","width"]),(l(!0),v(U,null,te(o.value,c=>(l(),P(Pe,{key:c.id,cat:"charging",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),f(Pe,{cat:"devices",indent:5,power:u.entry.devices,width:u.boxwidth},null,8,["power","width"]),(l(!0),v(U,null,te(h.value,c=>(l(),P(Pe,{key:c.id,cat:"devices",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),f(Pe,{cat:"batIn",indent:5,power:u.entry.batIn,width:u.boxwidth},null,8,["power","width"]),f(Pe,{cat:"evuOut",indent:5,power:u.entry.evuOut,width:u.boxwidth},null,8,["power","width"])])],8,Xn))}}),ro=["origin","transform"],no=["x","height","width"],ma=140,oo=L({__name:"PgToolTips",props:{width:{},height:{},margin:{},data:{}},setup(a){const e=a,t=m(()=>{const o=Be(e.data,h=>new Date(h.date));return o[0]&&o[1]?Nt().domain(o).range([0,e.width-e.margin.right]):tt().range([0,0])}),n=m(()=>{const o=Be(e.data,h=>new Date(h.date));return o[0]&&o[1]?Nt().domain(o).range([0,e.width-e.margin.right-ma]):tt().range([0,0])}),s=m(()=>((y.graphMode=="day"||y.graphMode=="today")&&(t.value.range(qe.value),ue("g#pgToolTips").selectAll("g.ttarea").select("rect").attr("x",(o,h)=>e.data.length>h?t.value(e.data[h].date):0).attr("width",e.data.length>0?(qe.value[1]-qe.value[0])/e.data.length:0)),"PgToolTips.vue:autozoom"));return(o,h)=>(l(),v("g",{id:"pgToolTips",origin:s.value,transform:"translate("+o.margin.left+","+o.margin.top+")"},[(l(!0),v(U,null,te(o.data,d=>(l(),v("g",{key:d.date,class:"ttarea"},[r("rect",{x:t.value(d.date),y:"0",height:o.height,class:"ttrect",width:i(y).data.length>0?o.width/i(y).data.length:0,opacity:"1%",fill:"var(--color-charging)"},null,8,no),f(ao,{entry:d,boxwidth:ma,"x-scale":n.value},null,8,["entry","x-scale"])]))),128))],8,ro))}}),so={class:"d-flex justify-content-end"},io={id:"powergraph",class:"p-0 m-0"},lo=["viewBox"],co=["transform"],uo=["x","y"],ho=2,po="Leistung / Ladestand ",go=L({__name:"PowerGraph",setup(a){function e(){let h=g.usageStackOrder+1;h>ho&&(h=0),g.usageStackOrder=h,kr(!0)}function t(h){const d=[[0,G.top],[be,xe-G.top]];h.call(Qa().scaleExtent([1,8]).translateExtent([[0,0],[be,xe]]).extent(d).filter(s).on("zoom",n))}function n(h){Ca.value=h.transform}function s(h){return h.preventDefault(),(!h.ctrlKey||h.type==="wheel")&&!h.button}function o(){g.zoomedWidget=1,g.zoomGraph=!g.zoomGraph}return Ve(()=>{const h=ue("svg#powergraph");t(h)}),(h,d)=>(l(),P(_t,{"full-width":!0},{title:_(()=>[H(S(po))]),buttons:_(()=>[r("div",so,[f(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:i(It),onShiftRight:i(ea),onShiftUp:i(ta),onShiftDown:i(aa)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),v("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:o},d[0]||(d[0]=[r("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[ft(r("figure",io,[(l(),v("svg",{id:"powergraph",viewBox:"0 0 "+i(be)+" "+i(xe)},[f(gn,{width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G)},null,8,["width","height","margin"]),f(vn,{width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G),"stack-order":i(g).usageStackOrder},null,8,["width","height","margin","stack-order"]),f(Sn,{width:i(be)-i(G).left-2*i(G).right,height:i(xe)-i(G).top-i(G).bottom,margin:i(G),"graph-data":i(y)},null,8,["width","height","margin","graph-data"]),r("g",{transform:"translate("+i(G).left+","+i(G).top+")"},[(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Y)).filter(u=>u.visible).length>0?(l(),P(Vt,{key:0,width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G),order:0},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Y)).filter(u=>u.visible).length>1?(l(),P(Vt,{key:1,width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G),order:1},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&i(de).isBatteryConfigured?(l(),P(Vt,{key:2,width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G),order:2},null,8,["width","height","margin"])):w("",!0),i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live"?(l(),P(Cn,{key:3,width:i(be)-i(G).left-i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G)},null,8,["width","height","margin"])):w("",!0)],8,co),i(y).graphMode=="day"||i(y).graphMode=="today"?(l(),P(oo,{key:0,width:i(be)-i(G).left-i(G).right,height:i(xe)-i(G).top-i(G).bottom,margin:i(G),data:i(y).data},null,8,["width","height","margin","data"])):w("",!0),r("g",{id:"button",type:"button",onClick:e},[r("text",{x:i(be)-10,y:i(xe)-10,color:"var(--color-menu)","text-anchor":"end"},d[1]||(d[1]=[r("tspan",{fill:"var(--color-menu)",class:"fas fa-lg"},S(""),-1)]),8,uo)])],8,lo))],512),[[qa,i(y).data.length>0]])]),_:1}))}}),mo=R(go,[["__scopeId","data-v-62d106b6"]]),vo=["id"],fo=["x","width","height","fill"],yo=["x","width","height"],bo=["x","y","width","height"],_o=L({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),n=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o});return(o,h)=>(l(),v("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[r("rect",{class:"bar",x:e.xScale(o.item.name),y:"0",width:e.xScale.bandwidth(),height:t.value,fill:o.item.color},null,8,fo),r("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:n.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,yo),r("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:n.value,width:e.xScale.bandwidth()*2/3,height:s.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,bo)],8,vo))}}),wo={id:"emBargraph"},ko=L({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="day"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="day"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return Math.round((p+c-d-k)/(p+c+u-d-k)*100)}else return s.pvPercentage}function n(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),v("g",wo,[(l(!0),v(U,null,te(e.plotdata,(h,d)=>(l(),v("g",{key:d},[f(_o,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),o[0]||(o[0]=r("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),xo=["origin"],So=L({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(a){const e=a,t=m(()=>vt(e.yScale).tickFormat(o=>s(o)).ticks(6).tickSizeInner(-e.width)),n=m(()=>{const o=ue("g#emYAxis");return o.attr("class","axis").call(t.value),o.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),o.selectAll(".tick").attr("font-size",e.fontsize),g.showGrid?o.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});function s(o){return o>0?y.graphMode=="year"?(o/1e6).toString():(o/1e3).toString():""}return(o,h)=>(l(),v("g",{id:"emYAxis",class:"axis",origin:n.value},null,8,xo))}}),Mo=["id"],$o=["x","y","font-size"],Po=["x","y","font-size","fill"],Io=["x","y","font-size","fill"],Co=L({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),n=m(()=>{let u=16,p=e.barcount;return p<=5?u=16:p==6?u=14:p>6&&p<=8?u=13:p==9?u=11:p==10?u=10:u=9,u}),s=m(()=>{let u=12,p=e.barcount;return p<=5?u=12:p==6?u=11:p>6&&p<=8||p==9?u=8:p==10?u=7:u=6,u});function o(u,p){return p.length>s.value?p.substring(0,s.value)+".":p}function h(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function d(){return"var(--color-pv)"}return(u,p)=>(l(),v("g",{id:"barlabel-"+e.item.name},[r("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:t.value,"font-size":n.value,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ut)(u.item.energy,i(g).decimalPlaces,!1)),9,$o),r("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.yScale(u.item.energy)-10,"font-size":n.value-2,"text-anchor":"middle",fill:d()},S(h()),9,Po),r("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":n.value,"text-anchor":"middle",fill:u.item.color,class:q(u.item.icon.length<=2?"fas":"")},S(o(u.item.name,u.item.icon)),11,Io)],8,Mo))}}),Bo={id:"emBarLabels"},Vo=L({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function n(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),v("g",Bo,[(l(!0),v(U,null,te(e.plotdata,(h,d)=>(l(),v("g",{key:d},[f(Co,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),Lo={class:"d-flex justify-content-end"},Oo={id:"energymeter",class:"p-0 m-0"},Ao={viewBox:"0 0 500 500"},To=["transform"],Eo=["x"],zo={key:0},va=500,Lt=500,fa=12,Wo="Energie",Do=L({__name:"EnergyMeter",setup(a){const e={top:25,bottom:30,left:25,right:0},t=m(()=>{let u=Object.values(Q),p=o.value;const c=T.items;let k=[];switch(g.debug&&h(),ct.value==!0&&(ct.value=!1),y.graphMode){default:case"live":case"today":k=u.concat(p);break;case"day":case"month":case"year":Object.values(c).length==0?Qe.value=!0:(Qe.value=!1,k=[c.evuIn,c.pv,c.evuOut,c.batOut,c.charging],Object.values(O).length>1&&Object.keys(O).forEach(I=>{c["cp"+I]&&k.push(c["cp"+I])}),k.push(c.devices),ae.forEach((I,z)=>{I.showInGraph&&c["sh"+z]&&k.push(c["sh"+z])}),k=k.concat([c.batIn,c.house]))}return k.filter(I=>I.energy&&I.energy>0)}),n=m(()=>xt().range([0,va-e.left-e.right]).domain(t.value.map(u=>u.name)).padding(.4)),s=m(()=>Re().range([Lt-e.bottom-e.top,15]).domain([0,Sa(t.value,u=>u.energy)])),o=m(()=>{const u=Object.values(O).length,p=[...ae.values()].filter(k=>k.configured).length;let c=j;return[...[c.evuOut,c.charging].concat(u>1?Object.values(O).map(k=>k.toPowerItem()):[]),...[c.devices].concat(p>1?[...ae.values()].filter(k=>k.configured&&k.showInGraph):[]).concat([j.batIn,j.house])]});function h(){console.debug(["source summary:",Q]),console.debug(["usage details:",o.value]),console.debug(["historic summary:",T])}function d(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(u,p)=>(l(),P(_t,{"full-width":!0},{title:_(()=>[H(S(Wo))]),buttons:_(()=>[r("div",Lo,[f(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(ea),onShiftUp:i(ta),onShiftDown:i(aa)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),v("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:d},p[0]||(p[0]=[r("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[r("figure",Oo,[(l(),v("svg",Ao,[r("g",{transform:"translate("+e.left+","+e.top+")"},[f(ko,{plotdata:t.value,"x-scale":n.value,"y-scale":s.value,height:Lt,margin:e},null,8,["plotdata","x-scale","y-scale"]),f(So,{"y-scale":s.value,width:va,fontsize:fa,config:i(g)},null,8,["y-scale","config"]),r("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":fa},S(i(y).graphMode=="year"?"MWh":"kWh"),9,Eo),f(Vo,{plotdata:t.value,"x-scale":n.value,"y-scale":s.value,height:Lt,margin:e,config:i(g)},null,8,["plotdata","x-scale","y-scale","config"])],8,To)]))]),i(Qe)?(l(),v("p",zo,"No data")):w("",!0)]),_:1}))}}),Go=R(Do,[["__scopeId","data-v-32c82102"]]),jo=["id"],Uo=["y","width","fill"],Fo=["y","width"],No=["y","x","width"],Ho=L({__name:"EnergyBar",props:{id:{},item:{},yScale:{},xScale:{},itemHeight:{}},setup(a){const e=a,t=m(()=>e.xScale(e.item.energy)),n=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.xScale(e.item.energyPv)),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.xScale(e.item.energyBat)),o>t.value&&(o=t.value),o});return(o,h)=>(l(),v("g",{id:`bar-${e.item.name}`},[r("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2-4,x:"0",rx:"6",ry:"6",height:"12",width:t.value,fill:o.item.color},null,8,Uo),r("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:"0",rx:"3",ry:"3",height:"7",width:n.value,fill:"var(--color-pv)","fill-opacity":"100%"},null,8,Fo),r("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:n.value,rx:"3",ry:"3",height:"7",width:s.value,fill:"var(--color-battery)","fill-opacity":"100%"},null,8,No)],8,jo))}}),Ro={id:"emBargraph"},Jo=L({__name:"BarGraph",props:{plotdata:{},yscale:{},xscale:{},itemHeight:{}},setup(a){const e=a;return(t,n)=>(l(),v("g",Ro,[(l(!0),v(U,null,te(e.plotdata,(s,o)=>(l(),v("g",{key:o},[f(Ho,{id:o.toString(),item:s,"x-scale":e.xscale,"y-scale":e.yscale,"item-height":t.itemHeight},null,8,["id","item","x-scale","y-scale","item-height"])]))),128))]))}}),Yo=["id"],qo=["y","x","fill"],Qo=["y","x"],Zo=["y","x","font-size"],Ot=24,Xo=L({__name:"EnergyLabel",props:{id:{},item:{},yscale:{},margin:{},width:{},itemHeight:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.yscale(e.id)+e.itemHeight/3);function n(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function s(o){return o.length>14?o.slice(0,13)+"...":o}return(o,h)=>(l(),v("g",{id:"barlabel-"+e.id},[r("text",{y:t.value,x:e.margin.left,"font-size":Ot,"text-anchor":"start",fill:o.item.color,class:q(o.item.icon.length<=2?"fas":"")},S(s(e.item.icon)),11,qo),r("text",{y:t.value,x:e.width/2+e.margin.left,"font-size":Ot,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ut)(o.item.energy,i(g).decimalPlaces,!1)),9,Qo),r("text",{y:t.value,x:e.width-e.margin.right,"font-size":Ot-2,"text-anchor":"end",fill:"var(--color-pv)"},S(n()),9,Zo)],8,Yo))}}),Ko={id:"emBarLabels"},es=L({__name:"EnergyLabels",props:{plotdata:{},yscale:{},width:{},itemHeight:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function n(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),v("g",Ko,[(l(!0),v(U,null,te(e.plotdata,(h,d)=>(l(),v("g",{key:d},[f(Xo,{id:d.toString(),item:h,yscale:e.yscale,margin:e.margin,width:e.width,"item-height":s.itemHeight,"aut-text":n(h),autarchy:t(h)},null,8,["id","item","yscale","margin","width","item-height","aut-text","autarchy"])]))),128))]))}});class ts{constructor(e){b(this,"id");b(this,"name","Speicher");b(this,"color","var(--color-battery)");b(this,"dailyYieldExport",0);b(this,"dailyYieldImport",0);b(this,"monthlyYieldExport",0);b(this,"monthlyYieldImport",0);b(this,"yearlyYieldExport",0);b(this,"yearlyYieldImport",0);b(this,"exported",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"imported",0);b(this,"power",0);b(this,"soc",0);this.id=e}}class as{constructor(){b(this,"dailyExport",0);b(this,"dailyImport",0);b(this,"exported",0);b(this,"imported",0);b(this,"power",0);b(this,"soc",0)}}le(new as);const he=ee(new Map),Aa=a=>{he.value.set(a,new ts(a)),he.value.get(a).color=ie["bat"+he.value.size].color};function rs(){he.value=new Map}const ns={class:"d-flex justify-content-end"},os={id:"energymeter",class:"p-0 m-0"},ss=["viewBox"],is=["transform"],ls=["x"],cs={key:0},ya=500,At=60,us=12,ds="Energie",hs=L({__name:"EnergyMeter2",setup(a){const e={top:0,bottom:30,left:0,right:0},t=m(()=>n.value.length*At+e.top+e.bottom),n=m(()=>{let c=Object.values(Q),k=h.value;const I=T.items;let z=[];switch(g.debug&&u(),ct.value==!0&&(ct.value=!1),y.graphMode){default:case"live":case"today":z=d(c).concat(k);break;case"day":case"month":case"year":Object.values(I).length==0?Qe.value=!0:(Qe.value=!1,z=[I.evuIn,I.pv,I.evuOut,I.batOut,I.charging],Object.values(O).length>1&&Object.keys(O).forEach(W=>{I["cp"+W]&&z.push(I["cp"+W])}),z.push(I.devices),ae.forEach((W,B)=>{W.showInGraph&&I["sh"+B]&&z.push(I["sh"+B])}),z=z.concat([I.batIn,I.house]))}return z.filter(W=>W.energy&&W.energy>0)}),s=m(()=>Re().range([0,ya-e.left-e.right]).domain([0,Sa(n.value,c=>c.energy)])),o=m(()=>xt().range([e.top,t.value-e.bottom]).domain(n.value.map((c,k)=>k.toString())).padding(.1)),h=m(()=>{const c=Object.values(O).length,k=[...ae.values()].filter(z=>z.configured).length;let I=j;return[...[I.evuOut,I.charging].concat(c>1?Object.values(O).map(z=>z.toPowerItem()):[]),...[I.devices].concat(k>1?[...ae.values()].filter(z=>z.configured&&z.showInGraph):[]).concat([j.batIn,j.house])]});function d(c){let k=0;return we.value.size>1&&we.value.forEach(I=>{c.splice(2+k++,0,{name:I.name,power:I.power,energy:I.energy,energyPv:0,energyBat:0,pvPercentage:0,color:I.color,icon:I.name,showInGraph:!0})}),he.value.size>1&&he.value.forEach(I=>{c.splice(3+k++,0,{name:I.name,power:I.power,energy:I.dailyYieldExport,energyPv:0,energyBat:0,pvPercentage:0,color:I.color,icon:I.name,showInGraph:!0})}),c}function u(){console.debug(["source summary:",Q]),console.debug(["usage details:",h.value]),console.debug(["historic summary:",T])}function p(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(c,k)=>(l(),P(_t,{"full-width":!0},{title:_(()=>[H(S(ds))]),buttons:_(()=>[r("div",ns,[f(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(ea),onShiftUp:i(ta),onShiftDown:i(aa)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),v("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:p},k[0]||(k[0]=[r("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[r("figure",os,[(l(),v("svg",{viewBox:"0 0 500 "+t.value},[r("g",{transform:"translate("+e.left+","+e.top+")"},[f(Jo,{plotdata:n.value,xscale:s.value,yscale:o.value,"item-height":At},null,8,["plotdata","xscale","yscale"]),r("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":us},S(i(y).graphMode=="year"?"MWh":"kWh"),9,ls),f(es,{plotdata:n.value,yscale:o.value,width:ya,"item-height":At,margin:e},null,8,["plotdata","yscale"])],8,is)],8,ss))]),i(Qe)?(l(),v("p",cs,"No data")):w("",!0)]),_:1}))}}),ps=R(hs,[["__scopeId","data-v-63a4748e"]]),gs={class:"d-flex flex-column align-items-center justify-content-start infoitem"},ms=L({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(a){const e=a,t=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),n=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),s=m(()=>e.small?"mt-0":"mt-1");return(o,h)=>(l(),v("span",gs,[r("span",{class:q(["d-flex heading",s.value]),style:K(t.value)},S(e.heading),7),r("span",{class:"d-flex my-0 me-0 align-items-center content",style:K(n.value)},[pe(o.$slots,"default",{},void 0,!0)],4)]))}}),X=R(ms,[["__scopeId","data-v-f6af00e8"]]),vs={class:"d-flex justify-content-between align-items-center titlerow"},fs={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ys={class:"contentrow grid-col-12"},bs=L({__name:"WbSubwidget",props:{titlecolor:{},fullwidth:{type:Boolean},small:{type:Boolean}},setup(a){const e=a,t=m(()=>{let s={"font-weight":"bold",color:"var(--color-fg)","font-size":"var(--font-normal)"};return e.titlecolor&&(s.color=e.titlecolor),e.small&&(s["font-size"]="var(--font-verysmall)"),s}),n=m(()=>e.fullwidth?"grid-col-12":"grid-col-4");return(s,o)=>(l(),v("div",{class:q(["wb-subwidget px-3 pt-2 my-0",n.value])},[r("div",vs,[r("div",{class:"d-flex widgetname p-0 m-0",style:K(t.value)},[pe(s.$slots,"title",{},void 0,!0)],4),r("div",fs,[pe(s.$slots,"buttons",{},void 0,!0)])]),r("div",ys,[pe(s.$slots,"default",{},void 0,!0)])],2))}}),at=R(bs,[["__scopeId","data-v-e989060d"]]),_s={class:"grid-col-12 mt-2 mb-0 px-0 py-0 configitem"},ws={class:"titlecolumn m-0 p-0 d-flex align-items-center"},ks={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},xs={class:"justify-content-stretch d-flex"},Ss=L({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},fullwidth:{type:Boolean}},setup(a){const e=a,t=ee(!1);function n(){t.value=!t.value}const s=m(()=>{let o={color:"var(--color-charging)"};return t.value&&(o.color="var(--color-battery)"),o});return(o,h)=>(l(),P(at,{fullwidth:!!o.fullwidth},{default:_(()=>[r("div",_s,[r("div",ws,[r("span",{class:"d-flex align-items-baseline m-0 p-0",onClick:n},[e.icon?(l(),v("i",{key:0,class:q(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon])},null,2)):w("",!0),H(" "+S(o.title),1)]),r("span",null,[e.infotext?(l(),v("i",{key:0,class:"fa-solid fa-sm fa-circle-question ms-4 me-2",style:K(s.value),onClick:n},null,4)):w("",!0)])]),t.value?(l(),v("p",{key:0,class:"infotext shadow m-0 ps-2 mb-1 p-1",onClick:n},[h[0]||(h[0]=r("i",{class:"me-1 fa-solid fa-sm fa-circle-info"},null,-1)),H(" "+S(o.infotext),1)])):w("",!0),r("div",ks,[r("span",xs,[pe(o.$slots,"default",{},void 0,!0)])])])]),_:3},8,["fullwidth"]))}}),N=R(Ss,[["__scopeId","data-v-b935eb33"]]),Ms={class:"d-flex flex-column"},$s={class:"d-flex flex-fill justify-content-between align-items-center"},Ps={class:"d-flex flex-fill flex-column justify-content-center m-0 p-0"},Is={key:0,id:"rangeIndicator",class:"rangeIndicator"},Cs={viewBox:"0 0 100 2"},Bs=["width"],Vs=["x","width"],Ls=["x","width"],Os=["id","min","max","step"],As={class:"d-flex justify-content-between align-items-center"},Ts={class:"minlabel ps-4"},Es={class:"valuelabel"},zs={class:"maxlabel pe-4"},Ws=L({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},showSubrange:{type:Boolean},subrangeMin:{},subrangeMax:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=t.decimals??0,s=e,o=m({get(){return Math.round(t.modelValue*Math.pow(10,n))/Math.pow(10,n)},set(k){s("update:modelValue",k)}});function h(){o.value>t.min&&(o.value=Math.round((o.value-t.step)*Math.pow(10,n))/Math.pow(10,n))}function d(){o.valueRe().domain([t.min,t.max]).range([0,100])),p=m(()=>u.value(t.subrangeMin?t.subrangeMin:0)),c=m(()=>t.subrangeMin&&t.subrangeMax?u.value(t.subrangeMax)-u.value(t.subrangeMin):0);return(k,I)=>(l(),v("span",Ms,[r("span",$s,[r("span",{type:"button",class:"minusButton",onClick:h},I[1]||(I[1]=[r("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),r("div",Ps,[t.showSubrange?(l(),v("figure",Is,[(l(),v("svg",Cs,[r("g",null,[r("rect",{class:"below",x:0,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-evu)"},null,8,Bs),r("rect",{class:"bar",x:p.value,y:"0",width:c.value,height:"2",rx:"1",ry:"1",fill:"var(--color-charging)"},null,8,Vs),r("rect",{class:"above",x:p.value+c.value,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-pv)"},null,8,Ls)])]))])):w("",!0),ft(r("input",{id:k.id,"onUpdate:modelValue":I[0]||(I[0]=z=>o.value=z),type:"range",class:"form-range flex-fill",min:k.min,max:k.max,step:k.step},null,8,Os),[[Za,o.value,void 0,{number:!0}]])]),r("span",{type:"button",class:"plusButton",onClick:d},I[2]||(I[2]=[r("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),r("span",As,[r("span",Ts,S(k.min),1),r("span",Es,S(o.value)+" "+S(k.unit),1),r("span",zs,S(k.max),1)])]))}}),Se=R(Ws,[["__scopeId","data-v-267ede95"]]),Ds=["id","value"],Gs=L({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=e,s=m({get(){return t.modelValue},set(d){n("update:modelValue",d)}});function o(d){return t.options[d][2]?{color:t.options[d][2]}:{color:"var(--color-fg)"}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),v("div",null,[(l(!0),v(U,null,te(d.options,(p,c)=>(l(),v("button",{id:"radio-"+p[1],key:c,class:q(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",p[1]==s.value?"active":""]),value:p[1],style:K(o(c)),onClick:h},[r("span",{style:K(o(c))},[p[3]?(l(),v("i",{key:0,class:q(["fa-solid",p[3]])},null,2)):w("",!0),H(" "+S(p[0]),1)],4)],14,Ds))),128))]))}}),We=R(Gs,[["__scopeId","data-v-df222cbe"]]),js={class:"mt-2"},Us={key:0},Fs=L({__name:"CPConfigInstant",props:{chargepoint:{}},setup(a){const t=ee(a.chargepoint),n=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],s=m({get(){return t.value.instantMaxEnergy/1e3},set(o){t.value.instantMaxEnergy=o*1e3}});return(o,h)=>(l(),v("div",js,[h[4]||(h[4]=r("p",{class:"heading ms-1"},"Sofortladen:",-1)),f(N,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[f(Se,{id:"targetCurrent",modelValue:t.value.instantTargetCurrent,"onUpdate:modelValue":h[0]||(h[0]=d=>t.value.instantTargetCurrent=d),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),t.value.instantChargeLimitMode!="none"?(l(),v("hr",Us)):w("",!0),f(N,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[f(We,{modelValue:t.value.instantChargeLimitMode,"onUpdate:modelValue":h[1]||(h[1]=d=>t.value.instantChargeLimitMode=d),options:n.map(d=>[d.name,d.id])},null,8,["modelValue","options"])]),_:1}),t.value.instantChargeLimitMode=="soc"?(l(),P(N,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[f(Se,{id:"maxSoc",modelValue:t.value.instantTargetSoc,"onUpdate:modelValue":h[2]||(h[2]=d=>t.value.instantTargetSoc=d),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.instantChargeLimitMode=="amount"?(l(),P(N,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[f(Se,{id:"maxEnergy",modelValue:s.value,"onUpdate:modelValue":h[3]||(h[3]=d=>s.value=d),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ns=R(Fs,[["__scopeId","data-v-0303d179"]]),Hs={class:"form-check form-switch"},se=L({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=e,s=m({get(){return t.modelValue},set(h){n("update:modelValue",h)}}),o=m(()=>s.value?{"background-color":"green"}:{"background-color":"white"});return(h,d)=>(l(),v("div",Hs,[ft(r("input",{"onUpdate:modelValue":d[0]||(d[0]=u=>s.value=u),class:"form-check-input",type:"checkbox",role:"switch",style:K(o.value)},null,4),[[Ma,s.value]])]))}}),Rs={class:"pt-2"},Js={key:3},Ys=L({__name:"CPConfigPv",props:{chargepoint:{}},setup(a){const t=ee(a.chargepoint),n=m({get(){return t.value.pvMinCurrent>5},set(h){h?t.value.pvMinCurrent=6:t.value.pvMinCurrent=0}}),s=m({get(){return t.value.pvMinSoc>0},set(h){h?t.value.pvMinSoc=50:t.value.pvMinSoc=0}}),o=m({get(){return t.value.pvMaxSoc<=100},set(h){h?t.value.pvMaxSoc=100:t.value.pvMaxSoc=101}});return(h,d)=>(l(),v("div",Rs,[d[8]||(d[8]=r("p",{class:"heading ms-1"},"PV-Laden:",-1)),f(N,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[f(se,{id:"limitSoc",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u)},null,8,["modelValue"])]),_:1}),o.value?(l(),P(N,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[f(Se,{id:"maxSoc",modelValue:t.value.pvMaxSoc,"onUpdate:modelValue":d[1]||(d[1]=u=>t.value.pvMaxSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),f(N,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:_(()=>[f(se,{modelValue:t.value.pvFeedInLimit,"onUpdate:modelValue":d[2]||(d[2]=u=>t.value.pvFeedInLimit=u)},null,8,["modelValue"])]),_:1}),f(N,{title:"Mindest-Ladestand",icon:"fa-battery-half",infotext:i(Te).minsoc,fullwidth:!0},{default:_(()=>[f(se,{modelValue:s.value,"onUpdate:modelValue":d[3]||(d[3]=u=>s.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),s.value?(l(),P(N,{key:1,title:"...bis SoC",fullwidth:!0},{info:_(()=>[H(S(i(Te).minsoc),1)]),default:_(()=>[f(Se,{id:"minSoc",modelValue:t.value.pvMinSoc,"onUpdate:modelValue":d[4]||(d[4]=u=>t.value.pvMinSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),s.value?(l(),P(N,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:_(()=>[f(Se,{id:"minSocCurrent",modelValue:t.value.pvMinSocCurrent,"onUpdate:modelValue":d[5]||(d[5]=u=>t.value.pvMinSocCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0),n.value||s.value?(l(),v("hr",Js)):w("",!0),f(N,{title:"Minimaler Ladestrom",icon:"fa-bolt",infotext:i(Te).minpv,fullwidth:!0},{default:_(()=>[f(se,{modelValue:n.value,"onUpdate:modelValue":d[6]||(d[6]=u=>n.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),n.value?(l(),P(N,{key:4,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:_(()=>[f(Se,{id:"minCurrent",modelValue:t.value.pvMinCurrent,"onUpdate:modelValue":d[7]||(d[7]=u=>t.value.pvMinCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),qs=R(Ys,[["__scopeId","data-v-faa69015"]]),Qs={class:"table table-borderless"},Zs={class:"tablecell"},Xs={class:"tablecell"},Ks={class:"tablecell"},ei={class:"tablecell"},ti={class:"tablecell left"},ai=["href"],ri=L({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,n=m(()=>{let d=[];return pt[t.chargeTemplateId]&&(d=Object.values(pt[t.chargeTemplateId])),d});function s(d){return n.value[d].time}function o(d){return{color:n.value[d].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function h(d){return{"font-weight":n.value[d].active?"bold":"regular"}}return(d,u)=>(l(),v(U,null,[u[1]||(u[1]=r("p",{class:"heading ms-1 pt-2"},"Zielladen:",-1)),r("table",Qs,[u[0]||(u[0]=r("thead",null,[r("tr",null,[r("th",{class:"tableheader"},"Ziel"),r("th",{class:"tableheader"},"Limit"),r("th",{class:"tableheader"},"Zeit"),r("th",{class:"tableheader"},"Wiederholung"),r("th",{class:"tableheader"})])],-1)),r("tbody",null,[(l(!0),v(U,null,te(n.value,(p,c)=>(l(),v("tr",{key:c,style:K(h(c))},[r("td",Zs,S(p.limit.soc_scheduled)+"%",1),r("td",Xs,S(p.limit.soc_limit)+"%",1),r("td",Ks,S(s(c)),1),r("td",ei,S(e[p.frequency.selected]),1),r("td",ti,[r("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[r("span",{class:q([p.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(o(c)),type:"button"},null,6)],8,ai)])],4))),128))])])],64))}}),ni=R(ri,[["__scopeId","data-v-e8f5ad9d"]]),oi={class:"table table-borderless"},si={class:"tablecell"},ii={class:"tablecell"},li={class:"tablecell"},ci={class:"tablecell"},ui={class:"tablecell left"},di=["href"],hi=L({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,n=m(()=>gt[t.chargeTemplateId]?Object.values(gt[t.chargeTemplateId])??[]:[]);function s(h){return{color:n.value[h].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function o(h){return{"font-weight":n.value[h].active?"bold":"regular"}}return(h,d)=>(l(),v(U,null,[d[1]||(d[1]=r("p",{class:"heading ms-1 pt-2"},"Zeitpläne:",-1)),r("table",oi,[d[0]||(d[0]=r("thead",null,[r("tr",null,[r("th",{class:"tableheader"},"Von"),r("th",{class:"tableheader"},"Bis"),r("th",{class:"tableheader"},"Ladestrom"),r("th",{class:"tableheader"},"Wiederholung"),r("th",{class:"tableheader right"})])],-1)),r("tbody",null,[(l(!0),v(U,null,te(n.value,(u,p)=>(l(),v("tr",{key:p,style:K(o(p))},[r("td",si,S(u.time[0]),1),r("td",ii,S(u.time[1]),1),r("td",li,S(u.current)+" A",1),r("td",ci,S(e[u.frequency.selected]),1),r("td",ui,[r("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[r("span",{class:q([u.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(s(p)),type:"button"},null,6)],8,di)])],4))),128))])])],64))}}),pi=R(hi,[["__scopeId","data-v-192e287b"]]),gi={class:"settingsheader mt-2 ms-1"},mi=L({__name:"CPConfigVehicle",props:{vehicleId:{}},setup(a){const e=a;return(t,n)=>(l(),v(U,null,[r("p",gi," Profile für "+S(i(Y)[e.vehicleId].name)+": ",1),f(N,{title:"Ladeprofil",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(Y)[e.vehicleId].chargeTemplateId,"onUpdate:modelValue":n[0]||(n[0]=s=>i(Y)[e.vehicleId].chargeTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(_e)).map(s=>[i(_e)[+s].name,s])},null,8,["modelValue","options"])]),_:1}),f(N,{title:"Fahrzeug-Vorlage",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(Y)[e.vehicleId].evTemplateId,"onUpdate:modelValue":n[1]||(n[1]=s=>i(Y)[e.vehicleId].evTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(Rt)).map(s=>[i(Rt)[+s].name,s])},null,8,["modelValue","options"])]),_:1})],64))}}),vi=R(mi,[["__scopeId","data-v-fcb57a44"]]),fi={class:"settingsheader mt-2 ms-1"},yi=L({__name:"CPChargeConfig",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint;return(n,s)=>(l(),v(U,null,[r("p",fi," Ladeeinstellungen für "+S(i(t).vehicleName)+": ",1),f(N,{title:"Lademodus",icon:"fa-charging-station",infotext:i(Te).chargemode,fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(t).chargeMode,"onUpdate:modelValue":s[0]||(s[0]=o=>i(t).chargeMode=o),options:Object.keys(i(ye)).map(o=>[i(ye)[o].name,o,i(ye)[o].color,i(ye)[o].icon])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),f(N,{title:"Fahrzeug wechseln",icon:"fa-car",infotext:i(Te).vehicle,fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(t).connectedVehicle,"onUpdate:modelValue":s[1]||(s[1]=o=>i(t).connectedVehicle=o),modelModifiers:{number:!0},options:Object.values(i(Y)).filter(o=>o.visible).map(o=>[o.name,o.id])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),f(N,{title:"Sperren",icon:"fa-lock",infotext:i(Te).locked,fullwidth:!0},{default:_(()=>[f(se,{modelValue:i(t).isLocked,"onUpdate:modelValue":s[2]||(s[2]=o=>i(t).isLocked=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),f(N,{title:"Priorität",icon:"fa-star",infotext:i(Te).priority,fullwidth:!0},{default:_(()=>[f(se,{modelValue:i(t).hasPriority,"onUpdate:modelValue":s[3]||(s[3]=o=>i(t).hasPriority=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),f(N,{title:"Zeitplan",icon:"fa-clock",infotext:i(Te).timeplan,fullwidth:!0},{default:_(()=>[f(se,{modelValue:i(t).timedCharging,"onUpdate:modelValue":s[4]||(s[4]=o=>i(t).timedCharging=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),i(de).isBatteryConfigured?(l(),P(N,{key:0,title:"PV-Priorität",icon:"fa-car-battery",infotext:i(Te).pvpriority,fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(de).pvBatteryPriority,"onUpdate:modelValue":s[5]||(s[5]=o=>i(de).pvBatteryPriority=o),options:i(lr)},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0),i(ne).active?(l(),P(N,{key:1,title:"Strompreisbasiert laden",icon:"fa-money-bill",infotext:i(Te).pricebased,fullwidth:!0},{default:_(()=>[f(se,{modelValue:i(t).etActive,"onUpdate:modelValue":s[6]||(s[6]=o=>i(t).etActive=o)},null,8,["modelValue"])]),_:1},8,["infotext"])):w("",!0)],64))}}),bi=R(yi,[["__scopeId","data-v-e348a34c"]]),_i={class:"providername ms-1"},wi={class:"container"},ki={id:"pricechart",class:"p-0 m-0"},xi={viewBox:"0 0 400 300"},Si=["id","origin","transform"],Mi={key:0,class:"p-3"},$i={key:1,class:"d-flex justify-content-end"},Pi=["disabled"],Xe=400,ba=250,_a=12,Ii=L({__name:"PriceChart",props:{chargepoint:{},globalview:{type:Boolean}},setup(a){const e=a;let t=e.chargepoint?ee(e.chargepoint.etMaxPrice):ee(0);const n=ee(!1),s=ee(e.chargepoint),o=m({get(){return t.value},set(D){t.value=D,n.value=!0}});function h(){s.value&&(O[s.value.id].etMaxPrice=o.value),n.value=!1}const d=ee(!1),u={top:0,bottom:15,left:20,right:5},p=m(()=>{let D=[];return ne.etPriceList.size>0&&ne.etPriceList.forEach((Z,Oe)=>{D.push([Oe,Z])}),D}),c=m(()=>p.value.length>1?(Xe-u.left-u.right)/p.value.length-1:0),k=m(()=>n.value?{background:"var(--color-charging)"}:{background:"var(--color-menu)"}),I=m(()=>{let D=Be(p.value,Z=>Z[0]);return D[1]&&(D[1]=new Date(D[1]),D[1].setTime(D[1].getTime()+36e5)),tt().range([u.left,Xe-u.right]).domain(D)}),z=m(()=>{let D=[0,0];return p.value.length>0?(D=Be(p.value,Z=>Z[1]),D[0]=Math.floor(D[0]-1),D[1]=Math.floor(D[1]+1)):D=[0,0],D}),W=m(()=>Re().range([ba-u.bottom,0]).domain(z.value)),B=m(()=>{const D=He(),Z=[[u.left,W.value(o.value)],[Xe-u.right,W.value(o.value)]];return D(Z)}),A=m(()=>{const D=He(),Z=[[u.left,W.value(g.lowerPriceBound)],[Xe-u.right,W.value(g.lowerPriceBound)]];return D(Z)}),V=m(()=>{const D=He(),Z=[[u.left,W.value(g.upperPriceBound)],[Xe-u.right,W.value(g.upperPriceBound)]];return D(Z)}),J=m(()=>{const D=He(),Z=[[u.left,W.value(0)],[Xe-u.right,W.value(0)]];return D(Z)}),C=m(()=>ht(I.value).ticks(6).tickSize(5).tickFormat(it("%H:%M"))),M=m(()=>vt(W.value).ticks(6).tickSizeInner(-(Xe-u.right-u.left)).tickFormat(D=>D.toString())),E=m(()=>{d.value==!0;const D=ue("g#"+$.value);D.selectAll("*").remove(),D.selectAll("bar").data(p.value).enter().append("g").append("rect").attr("class","bar").attr("x",Ze=>I.value(Ze[0])).attr("y",Ze=>W.value(Ze[1])).attr("width",c.value).attr("height",Ze=>W.value(z.value[0])-W.value(Ze[1])).attr("fill",Ze=>Ze[1]<=o.value?"var(--color-charging)":"var(--color-axis)");const Oe=D.append("g").attr("class","axis").call(C.value);Oe.attr("transform","translate(0,"+(ba-u.bottom)+")"),Oe.selectAll(".tick").attr("font-size",_a).attr("color","var(--color-bg)"),Oe.selectAll(".tick line").attr("stroke","var(--color-fg)").attr("stroke-width","0.5"),Oe.select(".domain").attr("stroke","var(--color-bg");const wt=D.append("g").attr("class","axis").call(M.value);return wt.attr("transform","translate("+u.left+",0)"),wt.selectAll(".tick").attr("font-size",_a).attr("color","var(--color-bg)"),wt.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width","0.5"),wt.select(".domain").attr("stroke","var(--color-bg)"),z.value[0]<0&&D.append("path").attr("d",J.value).attr("stroke","var(--color-fg)"),D.append("path").attr("d",A.value).attr("stroke","green"),D.append("path").attr("d",V.value).attr("stroke","red"),D.append("path").attr("d",B.value).attr("stroke","yellow"),"PriceChart.vue"}),$=m(()=>e.chargepoint?"priceChartCanvas"+e.chargepoint.id:"priceChartCanvasGlobal"),x=m(()=>{let D=[];return ne.etPriceList.forEach(Z=>{D.push(Z)}),D.sort((Z,Oe)=>Z-Oe)});function F(){let D=x.value[0];for(let Z of x.value){if(Z>=o.value)break;D=Z}o.value=D}function Le(){let D=x.value[0];for(let Z of x.value)if(Z>o.value){D=Z;break}else D=Z;o.value=D}return Ve(()=>{d.value=!d.value}),(D,Z)=>(l(),v(U,null,[Z[3]||(Z[3]=r("p",{class:"settingsheader mt-2 ms-1"},"Preisbasiertes Laden:",-1)),r("p",_i,"Anbieter: "+S(i(ne).etProvider),1),Z[4]||(Z[4]=r("hr",null,null,-1)),r("div",wi,[r("figure",ki,[(l(),v("svg",xi,[r("g",{id:$.value,origin:E.value,transform:"translate("+u.top+","+u.right+")"},null,8,Si)]))])]),D.chargepoint!=null?(l(),v("div",Mi,[D.chargepoint.etActive?(l(),P(Se,{key:0,id:"pricechart_local",modelValue:o.value,"onUpdate:modelValue":Z[0]||(Z[0]=Oe=>o.value=Oe),min:Math.floor(x.value[0]-1),max:Math.ceil(x.value[x.value.length-1]+1),step:.1,decimals:1,"show-subrange":!0,"subrange-min":x.value[0],"subrange-max":x.value[x.value.length-1],unit:"ct"},null,8,["modelValue","min","max","subrange-min","subrange-max"])):w("",!0)])):w("",!0),r("div",{class:"d-flex justify-content-between px-3 pb-2 pt-0 mt-0"},[r("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:F},Z[1]||(Z[1]=[r("i",{class:"fa fa-sm fa-arrow-left"},null,-1)])),r("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:Le},Z[2]||(Z[2]=[r("i",{class:"fa fa-sm fa-arrow-right"},null,-1)]))]),D.chargepoint!=null?(l(),v("div",$i,[r("span",{class:"me-3 pt-0",onClick:h},[r("button",{type:"button",class:"btn btn-secondary",style:K(k.value),disabled:!n.value}," Bestätigen ",12,Pi)])])):w("",!0)],64))}}),Ta=R(Ii,[["__scopeId","data-v-8ec7a31d"]]),Ci={class:"status-string"},Bi={style:{color:"red"}},Vi={class:"m-0 mt-4 p-0 grid-col-12 tabarea"},Li={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},Oi=["data-bs-target"],Ai=["data-bs-target"],Ti=["data-bs-target"],Ei=["data-bs-target"],zi=["data-bs-target"],Wi=["data-bs-target"],Di=["data-bs-target"],Gi={id:"settingsPanes",class:"tab-content mx-1 p-1 pb-3"},ji=["id"],Ui=["id"],Fi=["id"],Ni=["id"],Hi=["id"],Ri=["id"],Ji=["id"],Yi=L({__name:"CPChargeConfigPanel",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint,n=m(()=>_e[t.chargeTemplate]),s=m(()=>t.id);return Ve(()=>{}),(o,h)=>(l(),v(U,null,[f(N,{title:"Status",icon:"fa-info-circle",fullwidth:!0,class:"item"},{default:_(()=>[r("span",Ci,S(i(t).stateStr),1)]),_:1}),i(t).faultState!=0?(l(),P(N,{key:0,title:"Fehler",class:"grid-col-12",icon:"fa-triangle-exclamation"},{default:_(()=>[r("span",Bi,S(i(t).faultStr),1)]),_:1})):w("",!0),r("div",Vi,[r("nav",Li,[r("a",{class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+s.value},h[0]||(h[0]=[r("i",{class:"fa-solid fa-charging-station"},null,-1)]),8,Oi),o.chargepoint.chargeMode=="instant_charging"?(l(),v("a",{key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+s.value},h[1]||(h[1]=[r("i",{class:"fa-solid fa-lg fa-bolt"},null,-1)]),8,Ai)):w("",!0),o.chargepoint.chargeMode=="pv_charging"?(l(),v("a",{key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+s.value},h[2]||(h[2]=[r("i",{class:"fa-solid fa-solar-panel me-1"},null,-1)]),8,Ti)):w("",!0),o.chargepoint.chargeMode=="scheduled_charging"?(l(),v("a",{key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+s.value},h[3]||(h[3]=[r("i",{class:"fa-solid fa-bullseye me-1"},null,-1)]),8,Ei)):w("",!0),o.chargepoint.timedCharging?(l(),v("a",{key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+s.value},h[4]||(h[4]=[r("i",{class:"fa-solid fa-clock"},null,-1)]),8,zi)):w("",!0),r("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#carSettings"+s.value},h[5]||(h[5]=[r("i",{class:"fa-solid fa-rectangle-list"},null,-1)]),8,Wi),i(ne).active&&i(t).etActive?(l(),v("a",{key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceChart"+s.value},h[6]||(h[6]=[r("i",{class:"fa-solid fa-chart-line"},null,-1)]),8,Di)):w("",!0)]),r("div",Gi,[r("div",{id:"chargeSettings"+s.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[f(bi,{chargepoint:o.chargepoint},null,8,["chargepoint"])],8,ji),r("div",{id:"instantSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[f(Ns,{chargepoint:i(t),vehicles:i(Y),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ui),r("div",{id:"pvSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[f(qs,{chargepoint:i(t),vehicles:i(Y),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Fi),r("div",{id:"scheduledSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[n.value!=null?(l(),P(ni,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,Ni),r("div",{id:"timeSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[n.value!=null?(l(),P(pi,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,Hi),r("div",{id:"carSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"car-tab"},[i(Y)[i(t).connectedVehicle]!=null?(l(),P(vi,{key:0,"vehicle-id":i(t).connectedVehicle},null,8,["vehicle-id"])):w("",!0)],8,Ri),r("div",{id:"priceChart"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[i(Y)[i(t).connectedVehicle]!=null?(l(),P(Ta,{key:0,chargepoint:i(t)},null,8,["chargepoint"])):w("",!0)],8,Ji)])])],64))}}),Yt=R(Yi,[["__scopeId","data-v-1164316d"]]),qi={class:"d-flex justify-content-center align-items-center"},Qi=L({__name:"BatterySymbol",props:{soc:{},color:{}},setup(a){const e=a,t=m(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<62?"fa-battery-half":e.soc<87?"fa-battery-three-quarters":"fa-battery-full"),n=m(()=>({color:e.color??"var(--color-menu)"}));return(s,o)=>(l(),v("span",qi,[r("i",{class:q(["fa me-1",t.value]),style:K(n.value)},null,6),H(" "+S(Math.round(s.soc)+"%"),1)]))}}),Ct=R(Qi,[["__scopeId","data-v-a68c844a"]]),Ge=L({__name:"FormatWattH",props:{wattH:{}},setup(a){const e=a,t=m(()=>ut(e.wattH,g.decimalPlaces));return(n,s)=>(l(),v("span",null,S(t.value),1))}}),Zi={class:"wb-widget p-0 m-0 shadow widgetWidth"},Xi={class:"py-4 px-3 d-flex justify-content-between align-items-center titlerow"},Ki={class:"d-flex align-items-center widgetname p-0 m-0"},el={class:"buttonrea d-flex float-right justify-content-end align-items-center"},tl={class:"grid12 pb-3"},al=L({__name:"WbWidgetFlex",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(n,s)=>(l(),v("div",{class:q(["p-2 m-0",t.value])},[r("div",Zi,[r("div",Xi,[r("div",Ki,[pe(n.$slots,"title",{},()=>[s[0]||(s[0]=r("div",{class:"p-0"},"(title goes here)",-1))],!0),pe(n.$slots,"subtitle",{},void 0,!0)]),r("div",el,[pe(n.$slots,"buttons",{},void 0,!0)])]),r("div",tl,[pe(n.$slots,"default",{},void 0,!0)])])],2))}}),je=R(al,[["__scopeId","data-v-1d5bc1d9"]]),rl=L({__name:"WbBadge",props:{color:{},bgcolor:{}},setup(a){const e=a,t=m(()=>({color:e.color??"var(--color-bg)","background-color":e.bgcolor??"var(--color-menu)"}));return(n,s)=>(l(),v("span",{class:"pillWbBadge rounded-pill ms-2 px-2",style:K(t.value)},[pe(n.$slots,"default",{},void 0,!0)],4))}}),$e=R(rl,[["__scopeId","data-v-36112fa3"]]),nl={class:"d-flex justify-content-center align-items-center"},ol={key:0,class:"WbBadge rounded-pill errorWbBadge ms-3"},sl={key:0},il={key:1,class:"row m-0 mt-0 p-0"},ll={class:"col m-0 p-0"},cl={key:0},ul={class:"row"},dl={class:"col"},hl={class:"carTitleLine d-flex justify-content-between align-items-center"},pl={key:0,class:"me-1 fa-solid fa-xs fa-star ps-1"},gl={key:1,class:"me-1 fa-solid fa-xs fa-coins ps-0"},ml={key:2,class:"me-0 fa-solid fa-xs fa-clock ps-1"},vl={class:"grid12"},fl={style:{color:"var(--color-charging)"}},yl={style:{color:"var(--color-charging)"}},bl={style:{color:"var(--color-charging)"}},_l={class:"targetCurrent"},wl={key:5,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},kl={class:"d-flex justify-content-stretch align-items-center"},xl={key:0,class:"fa-solid fa-sm fas fa-edit ms-2"},Sl=["id"],Ml=L({__name:"CPChargePoint",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=ee(e.chargepoint),n=m({get(){return e.chargepoint.chargeMode},set($){O[e.chargepoint.id].chargeMode=$}}),s=m(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),o=m(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),h=m(()=>{const $=e.chargepoint.rangeCharged,x=e.chargepoint.chargedSincePlugged,F=e.chargepoint.dailyYield;return x>0?Math.round($/x*F).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),d=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),u=m(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),p=m(()=>{let $="";return e.chargepoint.isLocked?$="fa-lock":e.chargepoint.isCharging?$=" fa-bolt":e.chargepoint.isPluggedIn&&($="fa-plug"),"fa "+$}),c=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{color:"var(--fg)"};default:return{color:ye[e.chargepoint.chargeMode].color}}}),k=m(()=>e.chargepoint.soc),I=m(()=>({color:e.chargepoint.color})),z=m(()=>e.chargepoint.etMaxPrice>=+M.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"}),W=m(()=>e.chargepoint.soc<20?"var(--color-evu)":e.chargepoint.soc>=80?"var(--color-pv)":"var(--color-battery)"),B=ee(!1),A=ee(!1);function V(){oe("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function J(){oe("setSoc",C.value,e.chargepoint.connectedVehicle),A.value=!1}const C=m({get(){return e.chargepoint.soc},set($){O[e.chargepoint.id].soc=$}}),M=m(()=>{const[$]=ne.etPriceList.values();return(Math.round($*10)/10).toFixed(1)}),E=ee(!1);return($,x)=>(l(),v(U,null,[B.value?w("",!0):(l(),P(_t,{key:0,"variable-width":!0,"full-width":e.fullWidth},{title:_(()=>[r("span",nl,[r("span",{style:K(I.value),onClick:x[0]||(x[0]=F=>B.value=!B.value)},[x[12]||(x[12]=r("span",{class:"fa-solid fa-charging-station"}," ",-1)),H(" "+S(e.chargepoint.name),1)],4),t.value.faultState==2?(l(),v("span",ol,"Fehler")):w("",!0)])]),buttons:_(()=>[r("span",{type:"button",class:"ms-2 ps-1 pt-1",style:K(c.value),onClick:x[1]||(x[1]=F=>B.value=!B.value)},x[13]||(x[13]=[r("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]),4)]),footer:_(()=>[B.value?w("",!0):(l(),v("div",cl,[r("div",ul,[r("div",dl,[r("div",hl,[r("h3",{onClick:x[3]||(x[3]=F=>B.value=!B.value)},[x[14]||(x[14]=r("i",{class:"fa-solid fa-sm fa-car me-2"},null,-1)),H(" "+S($.chargepoint.vehicleName)+" ",1),$.chargepoint.hasPriority?(l(),v("span",pl)):w("",!0),$.chargepoint.etActive?(l(),v("span",gl)):w("",!0),$.chargepoint.timedCharging?(l(),v("span",ml)):w("",!0)]),$.chargepoint.isSocConfigured?(l(),P($e,{key:0,bgcolor:W.value},{default:_(()=>[f(Ct,{soc:k.value??0,color:"var(--color-bg)",class:"me-2"},null,8,["soc"]),$.chargepoint.isSocManual?(l(),v("i",{key:0,class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-bg)"},onClick:x[4]||(x[4]=F=>A.value=!A.value)})):w("",!0),$.chargepoint.isSocManual?w("",!0):(l(),v("i",{key:1,type:"button",class:q(["fa-solid fa-sm",$.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),onClick:V},null,2))]),_:1},8,["bgcolor"])):w("",!0)])])]),r("div",vl,[f(Oa,{id:"chargemode-"+$.chargepoint.name,modelValue:n.value,"onUpdate:modelValue":x[5]||(x[5]=F=>n.value=F),class:"chargemodes mt-3 mb-3",options:Object.keys(i(ye)).map(F=>({text:i(ye)[F].name,value:F,color:i(ye)[F].color,icon:i(ye)[F].icon,active:i(ye)[F].mode==$.chargepoint.chargeMode}))},null,8,["id","modelValue","options"]),e.chargepoint.power>0?(l(),P(X,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left mb-3"},{default:_(()=>[r("span",fl,[f(bt,{watt:e.chargepoint.power},null,8,["watt"])])]),_:1})):w("",!0),e.chargepoint.power>0?(l(),P(X,{key:1,heading:"Strom:",class:"grid-col-3"},{default:_(()=>[r("span",yl,S(o.value),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),P(X,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:_(()=>[r("span",bl,S(e.chargepoint.phasesInUse),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),P(X,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:_(()=>[r("span",_l,S(s.value),1)]),_:1})):w("",!0),f(X,{heading:"letzte Ladung:",class:"grid-col-4 grid-left"},{default:_(()=>[f(Ge,{"watt-h":Math.max($.chargepoint.chargedSincePlugged,0)},null,8,["watt-h"])]),_:1}),f(X,{heading:"gel. Reichw.:",class:"grid-col-4"},{default:_(()=>[H(S(h.value),1)]),_:1}),$.chargepoint.isSocConfigured?(l(),P(X,{key:4,heading:"Reichweite:",class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(Y)[e.chargepoint.connectedVehicle]?Math.round(i(Y)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):w("",!0),A.value?(l(),v("div",wl,[x[15]||(x[15]=r("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),r("span",kl,[r("span",null,[f(Se,{id:"manualSoc",modelValue:C.value,"onUpdate:modelValue":x[6]||(x[6]=F=>C.value=F),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),r("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:J})])):w("",!0),x[17]||(x[17]=r("hr",{class:"divider grid-col-12"},null,-1)),i(ne).active?(l(),P(X,{key:6,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:_(()=>[f(se,{modelValue:t.value.etActive,"onUpdate:modelValue":x[7]||(x[7]=F=>t.value.etActive=F)},null,8,["modelValue"])]),_:1})):w("",!0),i(ne).active?(l(),P(X,{key:7,heading:"max. Preis:",class:"grid-col-4"},{default:_(()=>[r("span",{type:"button",onClick:x[8]||(x[8]=F=>E.value=!E.value)},[H(S(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-")+" ",1),e.chargepoint.etActive?(l(),v("i",xl)):w("",!0)])]),_:1})):w("",!0),i(ne).active?(l(),P(X,{key:8,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:_(()=>[r("span",{style:K(z.value)},S(M.value)+" ct ",5)]),_:1})):w("",!0),E.value?(l(),v("div",{key:9,id:"priceChartInline"+e.chargepoint.id,class:"d-flex flex-column rounded priceEditor grid-col-12"},[i(Y)[e.chargepoint.connectedVehicle]!=null?(l(),P(Ta,{key:0,chargepoint:e.chargepoint},null,8,["chargepoint"])):w("",!0),r("span",{class:"d-flex ms-2 my-4 pe-3 pt-1 d-flex align-self-end",style:K(c.value),onClick:x[9]||(x[9]=F=>E.value=!1)},x[16]||(x[16]=[r("span",{type:"button",class:"d-flex fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)],8,Sl)):w("",!0)])]))]),default:_(()=>[B.value?w("",!0):(l(),v("div",sl,[r("div",{class:"grid12",onClick:x[2]||(x[2]=F=>B.value=!B.value)},[f(X,{heading:"Status:",class:"grid-col-4 grid-left"},{default:_(()=>[r("span",{style:K({color:u.value})},[r("i",{class:q(p.value)},null,2),H(" "+S(d.value),1)],4)]),_:1}),f(X,{heading:"Geladen:",class:"grid-col-4 grid-left"},{default:_(()=>[f(Ge,{"watt-h":$.chargepoint.dailyYield},null,8,["watt-h"])]),_:1})])])),B.value?(l(),v("div",il,[r("div",ll,[$.chargepoint!=null?(l(),P(Yt,{key:0,chargepoint:$.chargepoint},null,8,["chargepoint"])):w("",!0)])])):w("",!0)]),_:1},8,["full-width"])),B.value?(l(),P(je,{key:1,"full-width":e.fullWidth},{title:_(()=>[r("span",{style:K(I.value),onClick:x[10]||(x[10]=F=>B.value=!B.value)},[x[18]||(x[18]=r("span",{class:"fas fa-gear"}," ",-1)),H(" Einstellungen "+S(e.chargepoint.name),1)],4)]),buttons:_(()=>[r("span",{class:"ms-2 pt-1",style:K(c.value),onClick:x[11]||(x[11]=F=>B.value=!B.value)},x[19]||(x[19]=[r("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)]),default:_(()=>[$.chargepoint!=null?(l(),P(Yt,{key:0,chargepoint:$.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["full-width"])):w("",!0)],64))}}),$l=R(Ml,[["__scopeId","data-v-3a733de3"]]),Pl=["id"],Il={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Cl={class:"modal-content"},Bl={class:"modal-header"},Vl={class:"modal-title"},Ll={class:"modal-body",style:{"background-color":"var(--color-bg)"}},Ol=L({__name:"ModalComponent",props:{modalId:{}},setup(a){const e=a;return Ve(()=>{}),(t,n)=>(l(),v("div",{id:e.modalId,class:"modal fade"},[r("div",Il,[r("div",Cl,[r("div",Bl,[r("h3",Vl,[pe(t.$slots,"title",{},void 0,!0)]),n[0]||(n[0]=r("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[r("i",{class:"fa-solid fa-lg fa-rectangle-xmark m-0 p-0"})],-1))]),r("div",Ll,[pe(t.$slots,"default",{},void 0,!0),n[1]||(n[1]=r("button",{class:"btn btn-secondary float-end mt-3 ms-1","data-bs-dismiss":"modal"}," Schließen ",-1))])])])],8,Pl))}}),Ea=R(Ol,[["__scopeId","data-v-eaefae30"]]),Al={class:"d-flex align-items-center"},Tl={class:"cpname"},El={class:"d-flex float-right justify-content-end align-items-center"},zl=["data-bs-target"],Wl=["data-bs-target"],Dl={class:"subgrid"},Gl={key:0,class:"d-flex justify-content-center align-items-center vehiclestatus"},jl={class:"d-flex flex-column align-items-center px-0"},Ul={class:"d-flex justify-content-center flex-wrap"},Fl={class:"d-flex align-items-center"},Nl={class:"badge phasesInUse rounded-pill"},Hl={class:"d-flex flex-wrap justify-content-center chargeinfo"},Rl={class:"me-1"},Jl={key:0,class:"subgrid socEditRow m-0 p-0"},Yl={class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12"},ql={class:"d-flex justify-content-stretch align-items-center"},Ql=L({__name:"CpsListItem2",props:{chargepoint:{}},setup(a){const e=a,t=ee(!1),n=m(()=>ye[e.chargepoint.chargeMode].icon),s=m(()=>{let V="";return e.chargepoint.isLocked?V="fa-lock":e.chargepoint.isCharging?V=" fa-bolt":e.chargepoint.isPluggedIn&&(V="fa-plug"),"fa "+V}),o=m(()=>{let V="var(--color-axis)";return e.chargepoint.isLocked?V="var(--color-evu)":e.chargepoint.isCharging?V="var(--color-charging)":e.chargepoint.isPluggedIn&&(V="var(--color-battery)"),{color:V,border:`0.5px solid ${V} `}}),h=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{"background-color":"var(--fg)"};default:return{"background-color":ye[e.chargepoint.chargeMode].color}}}),d=m(()=>Me(e.chargepoint.power,g.decimalPlaces)),u=m(()=>e.chargepoint.current+" A"),p=m(()=>e.chargepoint.phasesInUse),c=m(()=>e.chargepoint.dailyYield>0?ut(e.chargepoint.dailyYield,g.decimalPlaces):"0 Wh"),k=m(()=>"("+Math.round(e.chargepoint.rangeCharged).toString()+" "+e.chargepoint.rangeUnit+")"),I=m(()=>ye[e.chargepoint.chargeMode].name);function z(){oe("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function W(){oe("setSoc",B.value,e.chargepoint.connectedVehicle),t.value=!1}const B=m({get(){return e.chargepoint.soc},set(V){O[e.chargepoint.id].soc=V}}),A=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei");return(V,J)=>(l(),v(U,null,[f(at,{titlecolor:V.chargepoint.color,fullwidth:!0,small:!0},{title:_(()=>[r("div",Al,[r("span",Tl,S(V.chargepoint.name),1),r("span",{class:"badge rounded-pill statusbadge mx-2",style:K(o.value)},[r("i",{class:q([s.value,"me-1"])},null,2),H(" "+S(A.value),1)],4)])]),buttons:_(()=>[r("div",El,[r("span",{class:"badge rounded-pill modebadge mx-2",type:"button",style:K(h.value),"data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},[r("i",{class:q(["fa me-1",n.value])},null,2),H(" "+S(I.value),1)],12,zl),r("span",{class:"fa-solid ms-2 fa-lg fa-edit ps-1",type:"button","data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},null,8,Wl)])]),default:_(()=>[r("div",Dl,[f(X,{heading:V.chargepoint.vehicleName,small:!0,class:"grid-left grid-col-4"},{default:_(()=>[V.chargepoint.isSocConfigured?(l(),v("span",Gl,[V.chargepoint.soc?(l(),P(Ct,{key:0,class:"me-1",soc:V.chargepoint.soc},null,8,["soc"])):w("",!0),V.chargepoint.isSocConfigured&&V.chargepoint.isSocManual?(l(),v("i",{key:1,type:"button",class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-menu)"},onClick:J[0]||(J[0]=C=>t.value=!t.value)})):w("",!0),V.chargepoint.isSocConfigured&&!V.chargepoint.isSocManual?(l(),v("i",{key:2,type:"button",class:q(["fa-solid fa-sm me-2",V.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),style:{color:"var(--color-menu)"},onClick:z},null,2)):w("",!0)])):w("",!0)]),_:1},8,["heading"]),f(X,{heading:"Parameter:",small:!0,class:"grid-col-4"},{default:_(()=>[r("div",jl,[r("span",Ul,[r("span",null,S(d.value),1),r("span",Fl,[r("span",Nl,S(p.value),1),r("span",null,S(u.value),1)])])])]),_:1}),f(X,{heading:"Geladen:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[r("div",Hl,[r("span",Rl,S(c.value),1),r("span",null,S(k.value),1)])]),_:1})]),t.value?(l(),v("div",Jl,[r("div",Yl,[J[2]||(J[2]=r("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),r("span",ql,[r("span",null,[f(Se,{id:"manualSoc",modelValue:B.value,"onUpdate:modelValue":J[1]||(J[1]=C=>B.value=C),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),r("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:W})])])):w("",!0)]),_:1},8,["titlecolor"]),(l(),P(Xa,{to:"body"},[(l(),P(Ea,{key:V.chargepoint.id,"modal-id":"cpsconfig-"+V.chargepoint.id},{title:_(()=>[H(" Konfiguration: "+S(V.chargepoint.name),1)]),default:_(()=>[V.chargepoint!=null?(l(),P(Yt,{key:0,chargepoint:V.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["modal-id"]))]))],64))}}),Zl=R(Ql,[["__scopeId","data-v-25e4aa5d"]]),Xl=L({__name:"CpSimpleList2",setup(a){const e=m(()=>Object.values(O));return(t,n)=>(l(),P(je,{"variable-width":!0},{title:_(()=>n[0]||(n[0]=[r("span",{class:"fa-solid fa-charging-station"}," ",-1),H(" Ladepunkte ")])),buttons:_(()=>[i(ne).active?(l(),P($e,{key:0,bgcolor:"var(--color-menu)"},{default:_(()=>[H("Strompreis: "+S(i(ne).etCurrentPriceString),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),v(U,null,te(e.value,(s,o)=>(l(),v("div",{key:o,class:"subgrid pb-2"},[f(Zl,{chargepoint:s},null,8,["chargepoint"])]))),128))]),_:1}))}}),Kl=R(Xl,[["__scopeId","data-v-b8c6b557"]]),Tt=L({__name:"ChargePointList",props:{id:{},compact:{type:Boolean}},setup(a){let e,t;const n=a,s=m(()=>{let p=Object.values(O);return u(),p}),o=m(()=>h.value+" "+d.value),h=m(()=>{switch(Object.values(O).length){case 0:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 1:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 2:return g.preferWideBoxes?"col-lg-12":"col-lg-8 ";default:return"col-lg-12"}}),d=m(()=>"swiper-chargepoints-"+n.id);function u(){let p=document.querySelector("."+d.value);if(p&&(t=p,e=t.swiper),e){let c="1";if(De.value)switch(Object.values(O).length){case 0:case 1:c="1";break;case 2:c="2";break;default:c="3"}t.setAttribute("slides-per-view",c),e.update()}}return Ve(()=>{let p=document.querySelector("."+d.value);p&&(t=p,e=t.swiper),window.addEventListener("resize",u),window.document.addEventListener("visibilitychange",u)}),(p,c)=>(l(),v(U,null,[n.compact?w("",!0):(l(),v("swiper-container",{key:0,"space-between":0,"slides-per-view":1,pagination:{clickable:!0},class:q(["cplist m-0 p-0 d-flex align-items-stretch",o.value])},[(l(!0),v(U,null,te(s.value,k=>(l(),v("swiper-slide",{key:k.id},[r("div",{class:q([i(De)?"mb-0":"mb-5","d-flex align-items-stretch flex-fill"])},[f($l,{chargepoint:k,"full-width":!0},null,8,["chargepoint"])],2)]))),128))],2)),n.compact?(l(),P(Kl,{key:1})):w("",!0)],64))}}),ec={class:"container-fluid p-0 m-0"},tc={class:"row p-0 m-0"},ac={class:"d-grid gap-2"},rc=["onClick"],nc={class:"col-md-4 p-1"},oc={class:"d-grid gap-2"},sc={key:0},ic={class:"row justify-content-center m-1 p-0"},lc={class:"col-lg-4 p-1 m-0"},cc={class:"d-grid gap-2"},uc={class:"col-lg-4 p-1 m-0"},dc={class:"d-grid gap-2"},hc={class:"col-lg-4 p-1 m-0"},pc={class:"d-grid gap-2"},gc=L({__name:"BBSelect",props:{cpId:{}},setup(a){const e=a,t=[{mode:"instant_charging",name:"Sofort",color:"var(--color-charging)"},{mode:"pv_charging",name:"PV",color:"var(--color-pv)"},{mode:"scheduled_charging",name:"Zielladen",color:"var(--color-battery)"},{mode:"standby",name:"Standby",color:"var(--color-axis)"},{mode:"stop",name:"Stop",color:"var(--color-axis)"}],n=m(()=>O[e.cpId]);function s(p){return p==n.value.chargeMode?"btn btn-success buttonTextSize":"btn btn-secondary buttonTextSize"}function o(p){return de.pvBatteryPriority==p?"btn-success":"btn-secondary"}function h(p){n.value.chargeMode=p}function d(p){n.value.isLocked=p}function u(p){de.pvBatteryPriority=p}return(p,c)=>(l(),v("div",ec,[r("div",tc,[(l(),v(U,null,te(t,(k,I)=>r("div",{key:I,class:"col-md-4 p-1"},[r("div",ac,[r("button",{type:"button",class:q(s(k.mode)),style:{},onClick:z=>h(k.mode)},S(k.name),11,rc)])])),64)),r("div",nc,[r("div",oc,[n.value.isLocked?(l(),v("button",{key:0,type:"button",class:"btn btn-outline-success buttonTextSize","data-bs-dismiss":"modal",onClick:c[0]||(c[0]=k=>d(!1))}," Entsperren ")):w("",!0),n.value.isLocked?w("",!0):(l(),v("button",{key:1,type:"button",class:"btn btn-outline-danger buttonTextSize","data-bs-dismiss":"modal",onClick:c[1]||(c[1]=k=>d(!0))}," Sperren "))])])]),i(de).isBatteryConfigured?(l(),v("div",sc,[c[8]||(c[8]=r("hr",null,null,-1)),c[9]||(c[9]=r("div",{class:"row"},[r("div",{class:"col text-center"},"Vorrang im Lademodus PV-Laden:")],-1)),r("div",ic,[r("div",lc,[r("div",cc,[r("button",{id:"evPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("ev_mode")]),"data-dismiss":"modal",priority:"1",onClick:c[2]||(c[2]=k=>u("ev_mode"))},c[5]||(c[5]=[H(" EV "),r("span",{class:"fas fa-car ms-2"}," ",-1)]),2)])]),r("div",uc,[r("div",dc,[r("button",{id:"batteryPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[3]||(c[3]=k=>u("bat_mode"))},c[6]||(c[6]=[H(" Speicher "),r("span",{class:"fas fa-car-battery ms-2"}," ",-1)]),2)])]),r("div",hc,[r("div",pc,[r("button",{id:"minsocPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("min_soc_bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[4]||(c[4]=k=>u("min_soc_bat_mode"))},c[7]||(c[7]=[H(" MinSoc "),r("span",{class:"fas fa-battery-half"}," ",-1)]),2)])])])])):w("",!0)]))}}),mc={class:"col-lg-4 p-0 m-0 mt-1"},vc={class:"d-grid gap-2"},fc=["data-bs-target"],yc={class:"m-0 p-0 d-flex justify-content-between align-items-center"},bc={class:"mx-1 badge rounded-pill smallTextSize plugIndicator"},_c={key:0,class:"ms-2"},wc={class:"m-0 p-0"},kc={key:0,class:"ps-1"},xc=L({__name:"BbChargeButton",props:{chargepoint:{}},setup(a){const e=a,t="chargeSelectModal"+e.chargepoint.id,n=m(()=>ye[e.chargepoint.chargeMode].name),s=m(()=>{let c={background:"var(--color-menu)"};return e.chargepoint.isLocked?c.background="var(--color-evu)":e.chargepoint.isCharging?c.background="var(--color-charging)":e.chargepoint.isPluggedIn&&(c.background="var(--color-battery)"),c}),o=m(()=>{{let c={background:ye[e.chargepoint.chargeMode].color,color:"white"};switch(e.chargepoint.chargeMode){case fe.instant_charging:e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break;case fe.standby:case fe.stop:c.background="darkgrey",c.color="black";break;case fe.scheduled_charging:e.chargepoint.isPluggedIn&&!e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break}return c}}),h=m(()=>ye[e.chargepoint.chargeMode].icon),d=m(()=>{switch(de.pvBatteryPriority){case"ev_mode":return"fa-car";case"bat_mode":return"fa-car-battery";case"min_soc_bat_mode":return"fa-battery-half";default:return console.log("default"),""}}),u=m(()=>{let c="fa-ellipsis";return e.chargepoint.isLocked?c="fa-lock":e.chargepoint.isCharging?c=" fa-bolt":e.chargepoint.isPluggedIn&&(c="fa-plug"),"fa "+c});function p(c){let k=c.color;return c.color=c.background,c.background=k,c}return(c,k)=>(l(),v("div",mc,[r("div",vc,[r("button",{type:"button",class:"btn mx-1 mb-0 p-1 mediumTextSize chargeButton shadow",style:K(s.value),"data-bs-toggle":"modal","data-bs-target":"#"+t},[r("div",yc,[r("span",bc,[r("i",{class:q(u.value)},null,2),c.chargepoint.isCharging?(l(),v("span",_c,S(i(Me)(c.chargepoint.power)),1)):w("",!0)]),r("span",wc,S(c.chargepoint.name),1),r("span",{class:"mx-2 m-0 badge rounded-pill smallTextSize modeIndicator",style:K(o.value)},[r("i",{class:q(["fa me-1",h.value])},null,2),H(" "+S(n.value)+" ",1),c.chargepoint.chargeMode==i(fe).pv_charging&&i(de).isBatteryConfigured?(l(),v("span",kc,[k[0]||(k[0]=H(" ( ")),r("i",{class:q(["fa m-0",d.value])},null,2),k[1]||(k[1]=H(") "))])):w("",!0)],4)])],12,fc)]),f(Ea,{"modal-id":t},{title:_(()=>[H(" Lademodus für "+S(c.chargepoint.vehicleName),1)]),default:_(()=>[f(gc,{"cp-id":c.chargepoint.id},null,8,["cp-id"])]),_:1})]))}}),Sc=R(xc,[["__scopeId","data-v-31df6764"]]),Mc={class:"row p-0 mt-0 mb-1 m-0"},$c={class:"col p-0 m-0"},Pc={class:"container-fluid p-0 m-0"},Ic={class:"row p-0 m-0 d-flex justify-content-center align-items-center"},Cc={key:0,class:"col time-display"},Bc=L({__name:"ButtonBar",setup(a){return(e,t)=>(l(),v("div",Mc,[r("div",$c,[r("div",Pc,[r("div",Ic,[i(g).showClock=="buttonbar"?(l(),v("span",Cc,S(i(La)(i(Jt))),1)):w("",!0),(l(!0),v(U,null,te(i(O),(n,s)=>(l(),P(Sc,{key:s,chargepoint:n,"charge-point-count":Object.values(i(O)).length},null,8,["chargepoint","charge-point-count"]))),128))])])])]))}}),Vc=R(Bc,[["__scopeId","data-v-791e4be0"]]),Lc={class:"battery-title"},Oc={class:"subgrid pt-1"},Ac=L({__name:"BLBattery",props:{bat:{}},setup(a){const e=a,t=m(()=>e.bat.power<0?`Liefert (${Me(-e.bat.power)})`:e.bat.power>0?`Lädt (${Me(e.bat.power)})`:"Bereit"),n=m(()=>e.bat.power<0?"var(--color-pv)":e.bat.power>0?"var(--color-battery)":"var(--color-menu)");return(s,o)=>(l(),P(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[r("span",Lc,S(s.bat.name),1)]),buttons:_(()=>[f($e,{bgcolor:n.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[r("div",Oc,[f(X,{heading:"Ladestand:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[f(Ct,{soc:e.bat.soc},null,8,["soc"])]),_:1}),f(X,{heading:"Geladen:",small:!0,class:"grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.bat.dailyYieldImport},null,8,["watt-h"])]),_:1}),f(X,{heading:"Geliefert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.bat.dailyYieldExport},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Tc=R(Ac,[["__scopeId","data-v-f7f825f7"]]),Ec={class:"px-3 subgrid grid-12"},zc=L({__name:"BatteryList",setup(a){const e=m(()=>Q.batOut.power>0?`Liefert (${Me(Q.batOut.power)})`:j.batIn.power>0?`Lädt (${Me(j.batIn.power)})`:"Bereit:"),t=m(()=>Q.batOut.power>0?"var(--color-pv)":j.batIn.power>0?"var(--color-battery)":"var(--color-menu)"),n=m(()=>{let s=0;return he.value.forEach(o=>{s+=o.dailyYieldImport}),s});return(s,o)=>i(de).isBatteryConfigured?(l(),P(je,{key:0,"variable-width":!0,"full-width":!1},{title:_(()=>o[0]||(o[0]=[r("span",{class:"fas fa-car-battery me-2",style:{color:"var(--color-battery)"}}," ",-1),r("span",null,"Speicher",-1)])),buttons:_(()=>[f($e,{bgcolor:t.value},{default:_(()=>[H(S(e.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[r("div",Ec,[f(X,{heading:"Ladestand:",class:"grid-left grid-col-4"},{default:_(()=>[f(Ct,{color:"var(--color-battery)",soc:i(de).batterySoc},null,8,["soc"])]),_:1}),f(X,{heading:"Geladen:",class:"grid-col-4"},{default:_(()=>[r("span",null,S(i(ut)(n.value)),1)]),_:1}),f(X,{heading:"Geliefert",class:"grid-right grid-col-4"},{default:_(()=>[r("span",null,S(i(ut)(i(Q).batOut.energy)),1)]),_:1})]),(l(!0),v(U,null,te(i(he),([h,d])=>(l(),P(Tc,{key:h,bat:d},null,8,["bat"]))),128))]),_:1})):w("",!0)}}),Et=R(zc,[["__scopeId","data-v-cc4da23c"]]),Wc={class:"devicename"},Dc={class:"subgrid"},Gc=L({__name:"SHListItem",props:{device:{}},setup(a){const e=a,t=m(()=>e.device.status=="on"?"fa-toggle-on fa-xl":e.device.status=="waiting"?"fa-spinner fa-spin":"fa-toggle-off fa-xl"),n=m(()=>{let d="var(--color-switchRed)";switch(e.device.status){case"on":d="var(--color-switchGreen)";break;case"detection":d="var(--color-switchBlue)";break;case"timeout":d="var(--color-switchWhite)";break;case"waiting":d="var(--color-menu)";break;default:d="var(--color-switchRed)"}return{color:d}});function s(){e.device.isAutomatic||(e.device.status=="on"?oe("shSwitchOn",0,e.device.id):oe("shSwitchOn",1,e.device.id),ae.get(e.device.id).status="waiting")}function o(){e.device.isAutomatic?oe("shSetManual",1,e.device.id):oe("shSetManual",0,e.device.id)}const h=m(()=>e.device.isAutomatic?"Auto":"Man");return(d,u)=>(l(),P(at,{titlecolor:d.device.color,fullwidth:!0},{title:_(()=>[r("span",Wc,S(d.device.name),1)]),buttons:_(()=>[(l(!0),v(U,null,te(d.device.temp,(p,c)=>(l(),v("span",{key:c},[p<300?(l(),P($e,{key:0,bgcolor:"var(--color-battery)"},{default:_(()=>[r("span",null,S(i(Fr)(p)),1)]),_:2},1024)):w("",!0)]))),128)),e.device.canSwitch?(l(),v("span",{key:0,class:q([t.value,"fa-solid statusbutton mr-2 ms-2"]),style:K(n.value),onClick:s},null,6)):w("",!0),e.device.canSwitch?(l(),P($e,{key:1,type:"button",onClick:o},{default:_(()=>[H(S(h.value),1)]),_:1})):w("",!0)]),default:_(()=>[r("div",Dc,[f(X,{heading:"Leistung:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[f(bt,{watt:d.device.power},null,8,["watt"])]),_:1}),f(X,{heading:"Energie:",small:!0,class:"grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":d.device.energy},null,8,["watt-h"])]),_:1}),f(X,{heading:"Laufzeit:",small:!0,class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(jr)(d.device.runningTime)),1)]),_:1})])]),_:1},8,["titlecolor"]))}}),jc=R(Gc,[["__scopeId","data-v-20651ac6"]]),Uc={class:"sh-title py-4"},Fc=["id","onUpdate:modelValue","value"],Nc=["for"],Hc=3,Rc=L({__name:"SmartHomeList",setup(a){const e=m(()=>De.value?t.value.reduce((h,d)=>{const u=h;let p=h[h.length-1];return p.length>=Hc?h.push([d]):p.push(d),u},[[]]):[t.value]),t=m(()=>[...ae.values()].filter(h=>h.configured));function n(h){return"Geräte"+(De.value&&e.value.length>1?"("+(h+1)+")":"")}function s(){o.value=!o.value}const o=ee(!1);return(h,d)=>(l(),v(U,null,[(l(!0),v(U,null,te(e.value,(u,p)=>(l(),P(je,{key:p,"variable-width":!0},{title:_(()=>[r("span",{onClick:s},[d[0]||(d[0]=r("span",{class:"fas fa-plug me-2",style:{color:"var(--color-devices)"}}," ",-1)),r("span",Uc,S(n(p)),1)])]),buttons:_(()=>[r("span",{class:"ms-2 pt-1",onClick:s},d[1]||(d[1]=[r("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]))]),default:_(()=>[(l(!0),v(U,null,te(u,c=>(l(),P(jc,{key:c.id,device:c,class:"subgrid pb-2"},null,8,["device"]))),128))]),_:2},1024))),128)),o.value?(l(),P(je,{key:0},{title:_(()=>[r("span",{class:"smarthome",onClick:s},d[2]||(d[2]=[r("span",{class:"fas fa-gear"}," ",-1),H(" Einstellungen")]))]),buttons:_(()=>[r("span",{class:"ms-2 pt-1",onClick:s},d[3]||(d[3]=[r("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]))]),default:_(()=>[f(N,{title:"Im Energie-Graph anzeigen:",icon:"fa-chart-column",fullwidth:!0},{default:_(()=>[(l(!0),v(U,null,te(t.value,(u,p)=>(l(),v("div",{key:p},[ft(r("input",{id:"check"+p,"onUpdate:modelValue":c=>u.showInGraph=c,class:"form-check-input",type:"checkbox",value:u},null,8,Fc),[[Ma,u.showInGraph]]),r("label",{class:"form-check-label px-2",for:"check"+p},S(u.name),9,Nc)]))),128))]),_:1}),r("div",{class:"row p-0 m-0",onClick:s},d[4]||(d[4]=[r("div",{class:"col-12 mb-3 pe-3 mt-0"},[r("button",{class:"btn btn-sm btn-secondary float-end"},"Schließen")],-1)]))]),_:1})):w("",!0)],64))}}),zt=R(Rc,[["__scopeId","data-v-5b5cf6b3"]]),Jc={class:"countername"},Yc={class:"subgrid pt-1"},qc=L({__name:"ClCounter",props:{counter:{}},setup(a){const e=a,t=m(()=>e.counter.power>0?"Bezug":"Export"),n=m(()=>e.counter.power>0?"var(--color-evu)":"var(--color-pv)");return(s,o)=>(l(),P(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[r("span",Jc,S(s.counter.name),1)]),buttons:_(()=>[e.counter.power!=0?(l(),P($e,{key:0,bgcolor:n.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])):w("",!0),f($e,{color:"var(--color-bg)"},{default:_(()=>[H(" ID: "+S(e.counter.id),1)]),_:1})]),default:_(()=>[r("div",Yc,[f(X,{heading:"Leistung:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[f(bt,{watt:Math.abs(e.counter.power)},null,8,["watt"])]),_:1}),f(X,{heading:"Bezogen:",small:!0,class:"grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.counter.energy_imported},null,8,["watt-h"])]),_:1}),f(X,{heading:"Exportiert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.counter.energy_exported},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Qc=R(qc,[["__scopeId","data-v-01dd8c4d"]]);class Zc{constructor(e){b(this,"id");b(this,"name","Zähler");b(this,"power",0);b(this,"energy_imported",0);b(this,"energy_exported",0);b(this,"grid",!1);b(this,"type","counter");b(this,"color","var(--color-evu)");b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"icon","");this.id=e}}const ke=le({});function Xc(a,e){if(a in ke)console.info("Duplicate counter message: "+a);else switch(ke[a]=new Zc(a),ke[a].type=e,e){case"counter":ke[a].color="var(--color-evu)";break;case"inverter":ke[a].color="var(--color-pv)";break;case"cp":ke[a].color="var(--color-charging)";break;case"bat":ke[a].color="var(--color-bat)";break}}const Kc=L({__name:"CounterList",setup(a){return(e,t)=>(l(),P(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[r("span",{class:"fas fa-bolt me-2",style:{color:"var(--color-evu)"}}," ",-1),r("span",null,"Zähler",-1)])),default:_(()=>[(l(!0),v(U,null,te(i(ke),(n,s)=>(l(),v("div",{key:s,class:"subgrid pb-2"},[f(Qc,{counter:n},null,8,["counter"])]))),128))]),_:1}))}}),Wt=R(Kc,[["__scopeId","data-v-5f059284"]]),eu={class:"vehiclename"},tu={class:"subgrid"},au=L({__name:"VlVehicle",props:{vehicle:{}},setup(a){const e=a,t=m(()=>{let s="Unterwegs",o=e.vehicle.chargepoint;return o!=null&&(o.isCharging?s="Lädt ("+o.name+")":o.isPluggedIn&&(s="Bereit ("+o.name+")")),s}),n=m(()=>{let s=e.vehicle.chargepoint;return s!=null?s.isLocked?"var(--color-evu)":s.isCharging?"var(--color-charging)":s.isPluggedIn?"var(--color-battery)":"var(--color-axis)":"var(--color-axis)"});return(s,o)=>(l(),P(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[r("span",eu,S(e.vehicle.name),1)]),default:_(()=>[r("div",tu,[f(X,{heading:"Status:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[r("span",{style:K({color:n.value}),class:"d-flex justify-content-center align-items-center status-string"},S(t.value),5)]),_:1}),f(X,{heading:"Ladestand:",small:!0,class:"grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.soc))+" % ",1)]),_:1}),f(X,{heading:"Reichweite:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.range))+" km ",1)]),_:1})])]),_:1}))}}),ru=R(au,[["__scopeId","data-v-9e2cb63e"]]),nu=L({__name:"VehicleList",setup(a){return(e,t)=>(l(),P(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[r("span",{class:"fas fa-car me-2",style:{color:"var(--color-charging)"}}," ",-1),r("span",null,"Fahrzeuge",-1)])),default:_(()=>[(l(!0),v(U,null,te(Object.values(i(Y)).filter(n=>n.visible),(n,s)=>(l(),v("div",{key:s,class:"subgrid"},[f(ru,{vehicle:n},null,8,["vehicle"])]))),128))]),_:1}))}}),Dt=R(nu,[["__scopeId","data-v-23b437ea"]]),ou={class:"grapharea"},su={id:"pricechart",class:"p-1 m-0 pricefigure"},iu={viewBox:"0 0 400 280"},lu=["id","origin","transform"],rt=380,Gt=250,jt=12,cu=L({__name:"GlobalPriceChart",props:{id:{}},setup(a){const e=a,t=ee(!1),n={top:0,bottom:15,left:20,right:0},s=m(()=>{let A=[];return ne.etPriceList.size>0&&ne.etPriceList.forEach((V,J)=>{A.push([J,V])}),A}),o=m(()=>s.value.length>1?(rt-n.left-n.right)/s.value.length:0),h=m(()=>{let A=Be(s.value,V=>V[0]);return A[1]&&(A[1]=new Date(A[1]),A[1].setTime(A[1].getTime()+36e5)),tt().range([n.left,rt-n.right]).domain(A)}),d=m(()=>{let A=Be(s.value,V=>V[1]);return A[0]=Math.floor(A[0])-1,A[1]=Math.floor(A[1])+1,A}),u=m(()=>Re().range([Gt-n.bottom,0]).domain(d.value)),p=m(()=>{const A=He(),V=[[n.left,u.value(g.lowerPriceBound)],[rt-n.right,u.value(g.lowerPriceBound)]];return A(V)}),c=m(()=>{const A=He(),V=[[n.left,u.value(g.upperPriceBound)],[rt-n.right,u.value(g.upperPriceBound)]];return A(V)}),k=m(()=>{const A=He(),V=[[n.left,u.value(0)],[rt-n.right,u.value(0)]];return A(V)}),I=m(()=>ht(h.value).ticks(s.value.length).tickSize(5).tickSizeInner(-Gt).tickFormat(A=>A.getHours()%6==0?it("%H:%M")(A):"")),z=m(()=>vt(u.value).ticks(15).tickSize(0).tickSizeInner(-(rt-n.right-n.left)).tickFormat(A=>A.toString())),W=m(()=>{t.value==!0;const A=ue("g#"+B.value);A.selectAll("*").remove(),A.selectAll("bar").data(s.value).enter().append("g").append("rect").attr("class","bar").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("width",o.value).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("fill","var(--color-charging)");const J=A.append("g").attr("class","axis").call(I.value);J.attr("transform","translate(0,"+(Gt-n.bottom)+")"),J.selectAll(".tick").attr("font-size",jt).attr("color","var(--color-bg)"),J.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x.getHours()%6==0?"2":"0.5"),J.select(".domain").attr("stroke","var(--color-bg");const C=A.append("g").attr("class","axis").call(z.value);C.attr("transform","translate("+n.left+",0)"),C.selectAll(".tick").attr("font-size",jt).attr("color","var(--color-bg)"),C.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x%5==0?"2":"0.5"),C.select(".domain").attr("stroke","var(--color-bg)"),d.value[0]<0&&A.append("path").attr("d",k.value).attr("stroke","var(--color-fg)"),A.append("path").attr("d",p.value).attr("stroke","green"),A.append("path").attr("d",c.value).attr("stroke","red");const M=A.selectAll("ttip").data(s.value).enter().append("g").attr("class","ttarea");M.append("rect").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("class","ttrect").attr("width",o.value).attr("opacity","1%").attr("fill","var(--color-charging)");const E=M.append("g").attr("class","ttmessage").attr("transform",x=>"translate("+(h.value(x[0])-30+o.value/2)+","+(u.value(x[1])-16)+")");E.append("rect").attr("rx",5).attr("width","60").attr("height","30").attr("fill","var(--color-menu)");const $=E.append("text").attr("text-anchor","middle").attr("x",30).attr("y",12).attr("font-size",jt).attr("fill","var(--color-bg)");return $.append("tspan").attr("x",30).attr("dy","0em").text(x=>it("%H:%M")(x[0])),$.append("tspan").attr("x",30).attr("dy","1.1em").text(x=>Math.round(x[1]*10)/10+" ct"),"PriceChart.vue"}),B=m(()=>"priceChartCanvas"+e.id);return Ve(()=>{t.value=!t.value}),(A,V)=>(l(),P(je,{"variable-width":!0},{title:_(()=>V[0]||(V[0]=[r("span",{class:"fas fa-coins me-2",style:{color:"var(--color-battery)"}}," ",-1),r("span",null,"Strompreis",-1)])),buttons:_(()=>[i(ne).active?(l(),P($e,{key:0,bgcolor:"var(--color-charging)"},{default:_(()=>[H(S(i(ne).etCurrentPriceString),1)]),_:1})):w("",!0),i(ne).active?(l(),P($e,{key:1,bgcolor:"var(--color-menu)"},{default:_(()=>[H(S(i(ne).etProvider),1)]),_:1})):w("",!0)]),default:_(()=>[r("div",ou,[r("figure",su,[(l(),v("svg",iu,[r("g",{id:B.value,origin:W.value,transform:"translate("+n.top+","+n.left+") "},null,8,lu)]))])])]),_:1}))}}),Ut=R(cu,[["__scopeId","data-v-2b0afbac"]]),uu={class:"subgrid pt-1"},du=L({__name:"IlInverter",props:{inverter:{}},setup(a){const e=a,t=m(()=>({color:e.inverter.color}));return(n,s)=>(l(),P(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[r("span",{class:"invertername",style:K(t.value)},S(n.inverter.name),5)]),buttons:_(()=>[e.inverter.power<0?(l(),P($e,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i(Me)(-e.inverter.power)),1)]),_:1})):w("",!0)]),default:_(()=>[r("div",uu,[f(X,{heading:"Heute:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[f(Ge,{"watt-h":e.inverter.energy},null,8,["watt-h"])]),_:1}),f(X,{heading:"Monat:",small:!0,class:"grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.inverter.energy_month},null,8,["watt-h"])]),_:1}),f(X,{heading:"Jahr:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.inverter.energy_year},null,8,["watt-h"])]),_:1})])]),_:1}))}}),hu=R(du,[["__scopeId","data-v-258d8f17"]]),pu=L({__name:"InverterList",setup(a){return(e,t)=>(l(),P(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[r("span",{class:"fas fa-solar-panel me-2",style:{color:"var(--color-pv)"}}," ",-1),r("span",null,"Wechselrichter",-1)])),buttons:_(()=>[i(Q).pv.power>0?(l(),P($e,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i(Me)(i(Q).pv.power)),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),v(U,null,te(i(we),([n,s])=>(l(),v("div",{key:n,class:"subgrid pb-2"},[f(hu,{inverter:s},null,8,["inverter"])]))),128))]),_:1}))}}),Ft=R(pu,[["__scopeId","data-v-b7a71f81"]]),gu={class:"row py-0 px-0 m-0"},mu=["breakpoints"],vu=L({__name:"CarouselFix",setup(a){let e,t;const n=ee(!1),s=m(()=>n.value?{992:{slidesPerView:1,spaceBetween:0}}:{992:{slidesPerView:3,spaceBetween:0}});return Ka(()=>g.zoomGraph,o=>{if(e){let h=o?"1":"3";t.setAttribute("slides-per-view",h),e.activeIndex=g.zoomedWidget,e.update()}}),Ve(()=>{let o=document.querySelector(".swiper-carousel");o&&(t=o,e=t.swiper)}),(o,h)=>(l(),v("div",gu,[r("swiper-container",{"space-between":0,pagination:{clickable:!0},"slides-per-view":"1",class:"p-0 m-0 swiper-carousel",breakpoints:s.value},[r("swiper-slide",null,[r("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item1",{},void 0,!0)],2)]),r("swiper-slide",null,[r("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item2",{},void 0,!0)],2)]),r("swiper-slide",null,[r("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item3",{},void 0,!0)],2)])],8,mu)]))}}),fu=R(vu,[["__scopeId","data-v-17424929"]]);function yu(a,e){a=="openWB/graph/boolDisplayLiveGraph"?de.displayLiveGraph=+e==1:a.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?bu(a,e):a=="openWB/graph/lastlivevaluesJson"?_u(a,e):a=="openWB/graph/config/duration"&&(ge.duration=JSON.parse(e))}function bu(a,e){if(!ge.initialized){let t=[];const n=e.toString().split(` +var Ua=Object.defineProperty;var Fa=(a,e,t)=>e in a?Ua(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var b=(a,e,t)=>Fa(a,typeof e!="symbol"?e+"":e,t);import{r as le,m as Na,c as m,a as ee,i as Ha,e as Be,u as Nt,t as tt,b as xt,s as ue,d as L,p as wa,f as ka,w as Ra,o as l,g as v,h as S,j as r,n as q,k as P,l as w,q as pe,v as _,x as H,y as i,z as f,F as U,A as te,B as xa,C as Re,D as vt,E as nt,G as ot,H as dt,I as ht,J as it,K as Ja,L as He,M as K,N as Ya,O as Ve,P as ft,Q as qa,R as Qa,S as Sa,T as Za,U as Ma,V as Xa,W as Ka,X as er,Y as tr,Z as ar,_ as rr,$ as nr,a0 as or,a1 as sr,a2 as ir}from"./vendor-CyQtMzsz.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&n(h)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();var fe=(a=>(a.instant_charging="instant_charging",a.pv_charging="pv_charging",a.scheduled_charging="scheduled_charging",a.standby="standby",a.stop="stop",a))(fe||{});class $a{constructor(e){b(this,"id");b(this,"name","Wechselrichter");b(this,"color","var(--color-pv)");b(this,"power",0);b(this,"energy",0);b(this,"energy_month",0);b(this,"energy_year",0);b(this,"energy_total",0);this.id=e}}const lr=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]];class cr{constructor(e){b(this,"id");b(this,"name","Gerät");b(this,"power",0);b(this,"status","off");b(this,"energy",0);b(this,"runningTime",0);b(this,"configured",!1);b(this,"_showInGraph",!0);b(this,"color","white");b(this,"canSwitch",!1);b(this,"countAsHouse",!1);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"tempConfigured",0);b(this,"temp",[300,300,300]);b(this,"on",!1);b(this,"isAutomatic",!0);b(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,T.items["sh"+this.id].showInGraph=e,re()}setShowInGraph(e){this._showInGraph=e}}const ae=le(new Map);function qt(a){ae.has(a)?console.info("Duplicate sh device message: "+a):(ae.set(a,new cr(a)),ae.get(a).color="var(--color-sh"+ae.size+")")}const ur=0,Pa={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},St={topic:"",qos:ur};let Ie;const{host:dr,port:hr,endpoint:pr,...Ia}=Pa,ia=`${Ia.protocol}://${dr}:${hr}${pr}`;try{console.debug("connectURL",ia),Ie=Na.connect(ia,Ia),Ie.on("connect",()=>{console.info("MQTT connection successful")}),Ie.on("disconnect",()=>{console.info("MQTT disconnected")}),Ie.on("error",a=>{console.error("MQTT connection failed: ",a)})}catch(a){console.error("MQTT connect error: ",a)}function gr(a){Ie?Ie.on("message",a):console.error("MqttRegister: MQTT client not available")}function Ke(a){St.topic=a;const{topic:e,qos:t}=St;Ie.subscribe(e,{qos:t},n=>{if(n){console.error("MQTT Subscription error: "+n);return}})}function st(a){St.topic=a;const{topic:e}=St;Ie.unsubscribe(e,t=>{if(t){console.error("MQTT Unsubscribe from "+a+" failed: "+t);return}})}async function Ht(a,e){let n=Ie.connected,s=0;for(;!n&&s<20;)console.warn("MQTT publish: Not connected. Waiting 0.1 seconds"),await mr(100),n=Ie.connected,s+=1;if(s<20)try{Ie.publish(a,e,{qos:0},o=>{o&&console.warn("MQTT publish error: ",o),console.info("MQTT publish: Message sent: ["+a+"]("+e+")")})}catch(o){console.warn("MQTT publish: caught error: "+o)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function Qt(){return Pa.clientId}function mr(a){return new Promise(e=>setTimeout(e,a))}class vr{constructor(e){b(this,"id");b(this,"name","Ladepunkt");b(this,"icon","Ladepunkt");b(this,"type","");b(this,"ev",0);b(this,"template",0);b(this,"connectedPhases",0);b(this,"phase_1",0);b(this,"autoPhaseSwitchHw",!1);b(this,"controlPilotInterruptionHw",!1);b(this,"isEnabled",!0);b(this,"isPluggedIn",!1);b(this,"isCharging",!1);b(this,"_isLocked",!1);b(this,"_connectedVehicle",0);b(this,"chargeTemplate",0);b(this,"evTemplate",0);b(this,"_chargeMode",fe.pv_charging);b(this,"_hasPriority",!1);b(this,"currentPlan","");b(this,"averageConsumption",0);b(this,"vehicleName","");b(this,"rangeCharged",0);b(this,"rangeUnit","");b(this,"counter",0);b(this,"dailyYield",0);b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"phasesInUse",0);b(this,"power",0);b(this,"chargedSincePlugged",0);b(this,"stateStr","");b(this,"current",0);b(this,"currents",[0,0,0]);b(this,"phasesToUse",0);b(this,"isSocConfigured",!0);b(this,"isSocManual",!1);b(this,"waitingForSoc",!1);b(this,"color","white");b(this,"_timedCharging",!1);b(this,"_instantChargeLimitMode","");b(this,"_instantTargetCurrent",0);b(this,"_instantTargetSoc",0);b(this,"_instantMaxEnergy",0);b(this,"_pvFeedInLimit",!1);b(this,"_pvMinCurrent",0);b(this,"_pvMaxSoc",0);b(this,"_pvMinSoc",0);b(this,"_pvMinSocCurrent",0);b(this,"_etActive",!1);b(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,oe("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,oe("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return Y[this.connectedVehicle]?Y[this.connectedVehicle].soc:0}set soc(e){Y[this.connectedVehicle]&&(Y[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,oe("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,oe("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return _e[this.chargeTemplate]?_e[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){_e[this.chargeTemplate].time_charging.active=e,oe("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,oe("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,oe("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,oe("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,oe("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,oe("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,oe("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,oe("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,oe("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,oe("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return Y[this.connectedVehicle]?Y[this.connectedVehicle].etActive:!1}set etActive(e){Y[this.connectedVehicle]&&(Y[this.connectedVehicle].etActive=e)}get etMaxPrice(){return Y[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){oe("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon,showInGraph:!0}}}class fr{constructor(e){b(this,"id");b(this,"name","__invalid");b(this,"tags",[]);b(this,"config",{});b(this,"soc",0);b(this,"range",0);b(this,"_chargeTemplateId",0);b(this,"_evTemplateId",0);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,oe("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,oe("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return _e[this.chargeTemplateId]?_e[this.chargeTemplateId].et.active:!1}set etActive(e){_e[this.chargeTemplateId]&&oe("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(_e[this.chargeTemplateId]&&_e[this.chargeTemplateId].et.active)return _e[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(O))if(e.connectedVehicle==this.id)return e}get visible(){return this.name!="__invalid"&&(this.id!=0||g.showStandardVehicle)}}const O=le({}),Y=le({}),_e=le({}),pt=le({}),gt=le({}),Rt=le({});function yr(a){if(!(a in O)){O[a]=new vr(a);const e="var(--color-cp"+(Object.values(O).length-1)+")";O[a].color=e;const t="cp"+a;ie[t]?ie["cp"+a].color=e:ie[t]={name:"Ladepunkt",color:e,icon:"Ladepunkt"}}}function br(){Object.keys(O).forEach(a=>{delete O[parseInt(a)]})}const me=m(()=>{const a=[],e=Object.values(O),t=Object.values(Y).filter(o=>o.visible);let n=-1;switch(e.length){case 0:n=t[0]?t[0].id:-1;break;default:n=e[0].connectedVehicle}let s=-1;switch(e.length){case 0:case 1:s=t[0]?t[0].id:-1;break;default:s=e[1].connectedVehicle}return n==s&&(s=t[1]?t[1].id:-1),n!=-1&&a.push(n),s!=-1&&a.push(s),a}),_r={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function oe(a,e,t=0){if(isNaN(t)){console.warn("Invalid index");return}let n=_r[a];if(!n){console.warn("No topic for update type "+a);return}switch(a){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":n=n.replace("%",O[t].chargeTemplate.toString());break;default:n=n.replace("%",String(t))}switch(typeof e){case"number":Ht(n,JSON.stringify(+e));break;default:Ht(n,JSON.stringify(e))}}function Zt(a){Ht("openWB/set/command/"+Qt()+"/todo",JSON.stringify(a))}const be=500,xe=500,G={top:15,right:20,bottom:10,left:25},Xt=["charging","house","batIn","devices"];class wr{constructor(){b(this,"data",[]);b(this,"_graphMode","");b(this,"waitForData",!0)}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const y=le(new wr),Ca=ee(Ha),qe=m(()=>[0,be-G.left-2*G.right].map(a=>Ca.value.applyX(a)));let mt=!0,lt=!0;function la(){mt=!1}function ca(){mt=!0}function ua(){lt=!1}function da(){lt=!0}function kr(a){lt=a}function yt(a){y.data=a,y.waitForData=!1}const ge=le({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(a){this.unsubscribeUpdates(),this.subscribeRefresh(),a&&(y.data=[]),y.waitForData=!0,Ke(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Pr(),ct.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),st(this.configTopic)},subscribeRefresh(){for(let a=1;a<17;a++)Ke(this.refreshTopicPrefix+a)},unsubscribeRefresh(){for(let a=1;a<17;a++)st(this.refreshTopicPrefix+a)},subscribeUpdates(){Ke(this.updateTopic)},unsubscribeUpdates(){st(this.updateTopic)}}),ce=le({topic:"openWB/log/daily/#",date:new Date,activate(a){if(y.graphMode=="day"||y.graphMode=="today"){y.graphMode=="today"&&(this.date=new Date);const e=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");this.topic="openWB/log/daily/"+e,Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Zt({command:"getDailyLog",data:{day:e}})}},deactivate(){st(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(a){this.date=a},getDate(){return this.date}}),Ee=le({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString()+this.month.toString().padStart(2,"0");y.data=[],Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Zt({command:"getMonthlyLog",data:{month:e}})},deactivate(){st(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const a=new Date;a.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Je=le({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(a){const e=this.year.toString();Ke(this.topic),a&&(y.data=[]),y.waitForData=!0,Zt({command:"getYearlyLog",data:{year:e}})},deactivate(){st(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(T.items[a].energyPv+=1e3/12*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3/12*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function Mr(a,e){e[a]>0&&(T.items[a].energyPv+=1e3*(e[a]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),T.items[a].energyBat+=1e3*(e[a]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const $r=["evuIn","pv","batOut","evuOut"],Qe=ee(!1);function Kt(a,e){Object.entries(a).length>0?(Qe.value=!1,Object.entries(a.counter).forEach(([t,n])=>{(e.length==0||e.includes(t))&&(T.items.evuIn.energy+=n.energy_imported,T.items.evuOut.energy+=n.energy_exported)}),T.items.pv.energy=a.pv.all.energy_exported,a.bat.all&&(T.items.batIn.energy=a.bat.all.energy_imported,T.items.batOut.energy=a.bat.all.energy_exported),Object.entries(a.cp).forEach(([t,n])=>{t=="all"?(T.setEnergy("charging",n.energy_imported),n.energy_imported_pv!=null&&(T.setEnergyPv("charging",n.energy_imported_pv),T.setEnergyBat("charging",n.energy_imported_bat))):T.setEnergy(t,n.energy_imported)}),T.setEnergy("devices",0),Object.entries(a.sh).forEach(([t,n])=>{T.setEnergy(t,n.energy_imported);const s=t.substring(2);ae.get(+s).countAsHouse||(T.items.devices.energy+=n.energy_imported)}),a.hc&&a.hc.all?(T.setEnergy("house",a.hc.all.energy_imported),a.hc.all.energy_imported_pv!=null&&(T.setEnergyPv("house",a.hc.all.energy_imported_pv),T.setEnergyBat("house",a.hc.all.energy_imported_bat))):T.calculateHouseEnergy(),T.keys().forEach(t=>{$r.includes(t)||(T.setPvPercentage(t,Math.round((T.items[t].energyPv+T.items[t].energyBat)/T.items[t].energy*100)),Xt.includes(t)&&(j[t].energy=T.items[t].energy,j[t].energyPv=T.items[t].energyPv,j[t].energyBat=T.items[t].energyBat,j[t].pvPercentage=T.items[t].pvPercentage))}),y.graphMode=="today"&&(Object.values(O).forEach(t=>{const n=T.items["cp"+t.id];n&&(t.energyPv=n.energyPv,t.energyBat=n.energyBat,t.pvPercentage=n.pvPercentage)}),ae.forEach(t=>{const n=T.items["sh"+t.id];n&&(t.energy=n.energy,t.energyPv=n.energyPv,t.energyBat=n.energyBat,t.pvPercentage=n.pvPercentage)}))):Qe.value=!0,ct.value=!0}const Ce=m(()=>{const a=Be(y.data,e=>new Date(e.date));return a[0]&&a[1]?Nt().domain(a).range([0,be-G.left-2*G.right]):tt().range([0,0])});function Pr(){T.keys().forEach(a=>{Xt.includes(a)&&(j[a].energy=T.items[a].energy,j[a].energyPv=0,j[a].energyBat=0,j[a].pvPercentage=0)}),Object.values(O).forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0}),ae.forEach(a=>{a.energyPv=0,a.energyBat=0,a.pvPercentage=0})}const Ye=m(()=>{const a=Be(y.data,e=>e.date);return a[1]?xt().domain(Array.from({length:a[1]},(e,t)=>t+1)).paddingInner(.4).range([0,be-G.left-2]):xt().range([0,0])});function It(){switch(y.graphMode){case"live":y.graphMode="today",g.showRightButton=!0,ve();break;case"today":y.graphMode="day",ce.deactivate(),ce.back(),ce.activate(),ve();break;case"day":ce.back(),ve();break;case"month":Ee.back();break;case"year":Je.back();break}}function ea(){const a=new Date;switch(y.graphMode){case"live":break;case"today":y.graphMode="live",g.showRightButton=!1,ve();break;case"day":ce.forward(),ce.date.getDate()==a.getDate()&&ce.date.getMonth()==a.getMonth()&&ce.date.getFullYear()==a.getFullYear()&&(y.graphMode="today"),ve();break;case"month":Ee.forward();break;case"year":Je.forward();break}}function ta(){switch(y.graphMode){case"live":It();break;case"day":case"today":y.graphMode="month",ve();break;case"month":y.graphMode="year",ve();break}}function aa(){switch(y.graphMode){case"year":y.graphMode="month",ve();break;case"month":y.graphMode="today",ve();break;case"today":case"day":y.graphMode="live",ve();break}}function ha(a){if(y.graphMode=="day"||y.graphMode=="today"){ce.setDate(a);const e=new Date;ce.date.getDate()==e.getDate()&&ce.date.getMonth()==e.getMonth()&&ce.date.getFullYear()==e.getFullYear()?y.graphMode="today":y.graphMode="day",ve()}}const Ne=ee(new Map);class Ir{constructor(){b(this,"_showRelativeArcs",!1);b(this,"showTodayGraph",!0);b(this,"_graphPreference","today");b(this,"_usageStackOrder",0);b(this,"_displayMode","dark");b(this,"_showGrid",!1);b(this,"_smartHomeColors","normal");b(this,"_decimalPlaces",1);b(this,"_showQuickAccess",!0);b(this,"_simpleCpList",!1);b(this,"_shortCpList","no");b(this,"_showAnimations",!0);b(this,"_preferWideBoxes",!1);b(this,"_maxPower",4e3);b(this,"_fluidDisplay",!1);b(this,"_showClock","no");b(this,"_showButtonBar",!0);b(this,"_showCounters",!1);b(this,"_showVehicles",!1);b(this,"_showStandardVehicle",!0);b(this,"_showPrices",!1);b(this,"_showInverters",!1);b(this,"_alternativeEnergy",!1);b(this,"_sslPrefs",!1);b(this,"_debug",!1);b(this,"_lowerPriceBound",0);b(this,"_upperPriceBound",0);b(this,"isEtEnabled",!1);b(this,"etPrice",20.5);b(this,"showRightButton",!0);b(this,"showLeftButton",!0);b(this,"animationDuration",300);b(this,"animationDelay",100);b(this,"zoomGraph",!1);b(this,"zoomedWidget",1)}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,re()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,re()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,re()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,Lr(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,re()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,re()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,pa(e),re()}setSmartHomeColors(e){this._smartHomeColors=e,pa(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,re()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,re()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,re()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,re()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,re()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,re()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,re()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,re()}setShowClock(e){this._showClock=e}get sslPrefs(){return this._sslPrefs}set sslPrefs(e){this._sslPrefs=e,re()}setSslPrefs(e){this.sslPrefs=e}get debug(){return this._debug}set debug(e){this._debug=e,re()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,re()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,re()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,re()}setShowVehicles(e){this._showVehicles=e}get showStandardVehicle(){return this._showStandardVehicle}set showStandardVehicle(e){this._showStandardVehicle=e,re()}setShowStandardVehicle(e){this._showStandardVehicle=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,re()}setShowPrices(e){this._showPrices=e}get showInverters(){return this._showInverters}set showInverters(e){this._showInverters=e,ca(),da(),re()}setShowInverters(e){this._showInverters=e}get alternativeEnergy(){return this._alternativeEnergy}set alternativeEnergy(e){this._alternativeEnergy=e,ca(),da(),re()}setAlternativeEnergy(e){this._alternativeEnergy=e}get lowerPriceBound(){return this._lowerPriceBound}set lowerPriceBound(e){this._lowerPriceBound=e,re()}setLowerPriceBound(e){this._lowerPriceBound=e}get upperPriceBound(){return this._upperPriceBound}set upperPriceBound(e){this._upperPriceBound=e,re()}setUpperPriceBound(e){this._upperPriceBound=e}}const g=le(new Ir);function Ba(){Tr();const a=ue("html");a.classed("theme-dark",g.displayMode=="dark"),a.classed("theme-light",g.displayMode=="light"),a.classed("theme-blue",g.displayMode=="blue"),a.classed("shcolors-standard",g.smartHomeColors=="standard"),a.classed("shcolors-advanced",g.smartHomeColors=="advanced"),a.classed("shcolors-normal",g.smartHomeColors=="normal")}const Cr=992,Mt=le({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Br(){Mt.x=document.documentElement.clientWidth,Mt.y=document.documentElement.clientHeight,Ba()}const De=m(()=>Mt.x>=Cr),ye={instant_charging:{mode:fe.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},pv_charging:{mode:fe.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},scheduled_charging:{mode:fe.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:fe.standby,name:"Standby",color:"var(--color-axis",icon:"fa-pause"},stop:{mode:fe.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};class Vr{constructor(){b(this,"batterySoc",0);b(this,"isBatteryConfigured",!0);b(this,"chargeMode","0");b(this,"_pvBatteryPriority","ev_mode");b(this,"displayLiveGraph",!0);b(this,"isEtEnabled",!0);b(this,"etMaxPrice",0);b(this,"etCurrentPrice",0);b(this,"cpDailyExported",0);b(this,"evuId",0);b(this,"etProvider","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,oe("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}function re(){Ar()}function Lr(a){const e=ue("html");e.classed("theme-dark",a=="dark"),e.classed("theme-light",a=="light"),e.classed("theme-blue",a=="blue"),re()}function Or(){g.maxPower=Q.evuIn.power+Q.pv.power+Q.batOut.power,re()}function pa(a){const e=ue("html");e.classed("shcolors-normal",a=="normal"),e.classed("shcolors-standard",a=="standard"),e.classed("shcolors-advanced",a=="advanced")}const Te={chargemode:"Der Lademodus für das Fahrzeug an diesem Ladepunkt",vehicle:"Das Fahrzeug, das an diesem Ladepounkt geladen wird",locked:"Für das Laden sperren",priority:"Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar",timeplan:"Das Laden nach Zeitplan für dieses Fahrzeug aktivieren",minsoc:"Immer mindestens bis zum eingestellten Ladestand laden. Wenn notwendig mit Netzstrom.",minpv:"Durchgehend mit mindestens dem eingestellten Strom laden. Wenn notwendig mit Netzstrom.",pricebased:"Laden bei dynamischem Stromtarif, wenn eingestellter Maximalpreis unterboten wird.",pvpriority:"Ladepriorität bei PV-Produktion. Bevorzung von Fahzeugen, Speicher, oder Fahrzeugen bis zum eingestellten Mindest-Ladestand. Die Einstellung ist für alle Ladepunkte gleich."};function Ar(){const a={};a.hideSH=[...ae.values()].filter(e=>!e.showInGraph).map(e=>e.id),a.showLG=g.graphPreference=="live",a.displayM=g.displayMode,a.stackO=g.usageStackOrder,a.showGr=g.showGrid,a.decimalP=g.decimalPlaces,a.smartHomeC=g.smartHomeColors,a.relPM=g.showRelativeArcs,a.maxPow=g.maxPower,a.showQA=g.showQuickAccess,a.simpleCP=g.simpleCpList,a.shortCP=g.shortCpList,a.animation=g.showAnimations,a.wideB=g.preferWideBoxes,a.fluidD=g.fluidDisplay,a.clock=g.showClock,a.showButtonBar=g.showButtonBar,a.showCounters=g.showCounters,a.showVehicles=g.showVehicles,a.showStandardV=g.showStandardVehicle,a.showPrices=g.showPrices,a.showInv=g.showInverters,a.altEngy=g.alternativeEnergy,a.lowerP=g.lowerPriceBound,a.upperP=g.upperPriceBound,a.sslPrefs=g.sslPrefs,a.debug=g.debug,document.cookie="openWBColorTheme="+JSON.stringify(a)+";max-age=16000000;"+(g.sslPrefs?"SameSite=None;Secure":"SameSite=Strict")}function Tr(){const e=document.cookie.split(";").filter(t=>t.split("=")[0]==="openWBColorTheme");if(e.length>0){const t=JSON.parse(e[0].split("=")[1]);t.decimalP!==void 0&&g.setDecimalPlaces(+t.decimalP),t.smartHomeC!==void 0&&g.setSmartHomeColors(t.smartHomeC),t.hideSH!==void 0&&t.hideSH.forEach(n=>{ae.get(n)==null&&qt(n),ae.get(n).setShowInGraph(!1)}),t.showLG!==void 0&&g.setGraphPreference(t.showLG?"live":"today"),t.maxPow!==void 0&&g.setMaxPower(+t.maxPow),t.relPM!==void 0&&g.setShowRelativeArcs(t.relPM),t.displayM!==void 0&&g.setDisplayMode(t.displayM),t.stackO!==void 0&&g.setUsageStackOrder(t.stackO),t.showGr!==void 0&&g.setShowGrid(t.showGr),t.showQA!==void 0&&g.setShowQuickAccess(t.showQA),t.simpleCP!==void 0&&g.setSimpleCpList(t.simpleCP),t.shortCP!==void 0&&g.setShortCpList(t.shortCP),t.animation!=null&&g.setShowAnimations(t.animation),t.wideB!=null&&g.setPreferWideBoxes(t.wideB),t.fluidD!=null&&g.setFluidDisplay(t.fluidD),t.clock!=null&&g.setShowClock(t.clock),t.showButtonBar!==void 0&&g.setShowButtonBar(t.showButtonBar),t.showCounters!==void 0&&g.setShowCounters(t.showCounters),t.showVehicles!==void 0&&g.setShowVehicles(t.showVehicles),t.showStandardV!==void 0&&g.setShowStandardVehicle(t.showStandardV),t.showPrices!==void 0&&g.setShowPrices(t.showPrices),t.showInv!==void 0&&g.setShowInverters(t.showInv),t.altEngy!==void 0&&g.setAlternativeEnergy(t.altEngy),t.lowerP!==void 0&&g.setLowerPriceBound(t.lowerP),t.upperP!==void 0&&g.setUpperPriceBound(t.upperP),t.sslPrefs!==void 0&&g.setSslPrefs(t.sslPrefs),t.debug!==void 0&&g.setDebug(t.debug)}}const ie=le({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"},pv1:{name:"PV",color:"var(--color-pv1)",icon:"Wechselrichter"},pv2:{name:"PV",color:"var(--color-pv2)",icon:"Wechselrichter"},pv3:{name:"PV",color:"var(--color-pv3)",icon:"Wechselrichter"},pv4:{name:"PV",color:"var(--color-pv4)",icon:"Wechselrichter"},pv5:{name:"PV",color:"var(--color-pv5)",icon:"Wechselrichter"},pv6:{name:"PV",color:"var(--color-pv6)",icon:"Wechselrichter"},pv7:{name:"PV",color:"var(--color-pv7)",icon:"Wechselrichter"},pv8:{name:"PV",color:"var(--color-pv8)",icon:"Wechselrichter"},pv9:{name:"PV",color:"var(--color-pv9)",icon:"Wechselrichter"},bat1:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat2:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat3:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat4:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat5:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat6:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat7:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat8:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"},bat9:{name:"Speicher",color:"var(--color-battery)",icon:"Speicher"}});class Va{constructor(){b(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e,t){this._items[e]=t?ze(e,t):ze(e)}setEnergy(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energy=t}setEnergyPv(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=t}setEnergyBat(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=t}setPvPercentage(e,t){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=t<=100?t:100}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let T=le(new Va);function ra(){T=new Va}const Q=le({evuIn:ze("evuIn"),pv:ze("pv"),batOut:ze("batOut")}),j=le({evuOut:ze("evuOut"),charging:ze("charging"),devices:ze("devices"),batIn:ze("batIn"),house:ze("house")}),de=le(new Vr);ee("");const ct=ee(!1);function ze(a,e){return{name:ie[a]?ie[a].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:e||(ie[a]?ie[a].color:"var(--color-charging)"),icon:ie[a]?ie[a].icon:"",showInGraph:!0}}const Jt=ee(new Date),we=ee(new Map),Er=a=>{we.value.set(a,new $a(a)),we.value.get(a).color=ie["pv"+we.value.size].color},zr=["origin"],Wr=L({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0},s=Q;s["zz-empty"]=n;const o=Object.values(Q).length-1,h=wa().value(p=>p.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),u=ue("g#pmSourceArc");return u.selectAll("*").remove(),u.selectAll("sources").data(h(Object.values(s))).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmSourceArc.vue"});return Ra(()=>{let n=Q.pv.power+Q.evuIn.power+Q.batOut.power;n>g.maxPower&&(g.maxPower=n)}),(n,s)=>(l(),v("g",{id:"pmSourceArc",origin:t.value},null,8,zr))}}),Dr=["origin"],Gr=L({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(a){const e=a,t=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:"",showInGraph:!0};const s=[j.evuOut,j.charging].concat([...ae.values()].filter(p=>p.configured&&!p.countAsHouse).sort((p,c)=>c.power-p.power)).concat([j.batIn,j.house]).concat(n),o=s.length-1,h=wa().value(p=>p.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),d=ka().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),u=ue("g#pmUsageArc");return u.selectAll("*").remove(),u.selectAll("consumers").data(h(s)).enter().append("path").attr("d",d).attr("fill",p=>p.data.color).attr("stroke",(p,c)=>c==o?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmUsageArc.vue"});return(n,s)=>(l(),v("g",{id:"pmUsageArc",origin:t.value},null,8,Dr))}});function Me(a,e=1){let t;if(a>=1e3&&e<4){switch(e){case 0:t=Math.round(a/1e3);break;case 1:t=Math.round(a/100)/10;break;case 2:t=Math.round(a/10)/100;break;case 3:t=Math.round(a)/1e3;break;default:t=Math.round(a/100)/10;break}return(t==null?void 0:t.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(a).toLocaleString()+" W"}function ut(a,e=1,t=!1){let n;if(a>1e6&&(t=!0,a=a/1e3),a>=1e3&&e<4){switch(e){case 0:n=Math.round(a/1e3);break;case 1:n=Math.round(a/100)/10;break;case 2:n=Math.round(a/10)/100;break;case 3:n=Math.round(a)/1e3;break;default:n=Math.round(a/100)/10;break}return n.toLocaleString(void 0,{minimumFractionDigits:e})+(t?" MWh":" kWh")}else return Math.round(a).toLocaleString()+(t?" kWh":" Wh")}function jr(a){const e=Math.floor(a/3600),t=(a%3600/60).toFixed(0);return e>0?e+"h "+t+" min":t+" min"}function La(a){return a.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Ur(a,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][a]+" "+e}function Fr(a){return a!=999?(Math.round(a*10)/10).toLocaleString(void 0,{minimumFractionDigits:1})+"°":"-"}const bt=L({__name:"FormatWatt",props:{watt:{}},setup(a){const e=a,t=m(()=>Me(e.watt,g.decimalPlaces));return(n,s)=>S(t.value)}}),Nr={key:0,id:"pmLabel"},Hr=["x","y","fill","text-anchor"],Rr=22,Ae=L({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(a){const e=a,t=m(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),n=m(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),s=m(()=>!e.data||e.data.power>0),o=m(()=>e.labeltext?"":"fas");return(h,d)=>s.value?(l(),v("g",Nr,[r("text",{x:h.x,y:h.y,fill:n.value,"text-anchor":h.anchor,"font-size":Rr,class:"pmLabel"},[r("tspan",{class:q(o.value)},S(t.value),3),r("tspan",null,[h.data!==void 0?(l(),P(bt,{key:0,watt:h.data.power},null,8,["watt"])):w("",!0)])],8,Hr)])):w("",!0)}}),Jr={class:"wb-widget p-0 m-0 shadow"},Yr={class:"d-flex justify-content-between"},qr={class:"m-4 me-0 mb-0"},Qr={class:"p-4 pb-0 ps-0 m-0",style:{"text-align":"right"}},Zr={class:"px-4 pt-4 pb-2 wb-subwidget"},Xr={class:"row"},Kr={class:"col m-0 p-0"},en={class:"container-fluid m-0 p-0"},tn={key:0},an={class:"px-4 py-2 wb-subwidget"},rn={class:"row"},nn={class:"col"},on={class:"container-fluid m-0 p-0"},_t=L({__name:"WBWidget",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(n,s)=>(l(),v("div",{class:q(["p-2 m-0 d-flex",t.value])},[r("div",Jr,[r("div",Yr,[r("h3",qr,[pe(n.$slots,"title",{},()=>[s[0]||(s[0]=r("div",{class:"p-0"},"(title goes here)",-1))]),pe(n.$slots,"subtitle")]),r("div",Qr,[pe(n.$slots,"buttons")])]),r("div",Zr,[r("div",Xr,[r("div",Kr,[r("div",en,[pe(n.$slots,"default")])])])]),n.$slots.footer!=null?(l(),v("div",tn,[s[1]||(s[1]=r("hr",null,null,-1)),r("div",an,[r("div",rn,[r("div",nn,[r("div",on,[pe(n.$slots,"footer")])])])])])):w("",!0)])],2))}});class sn{constructor(){b(this,"active",!1);b(this,"etPriceList",new Map);b(this,"etProvider","");b(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=ne.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const ne=le(new sn),ln={id:"powermeter",class:"p-0 m-0"},cn=["viewBox"],un=["transform"],dn=["x"],Ue=500,Fe=20,ga=1,hn=L({__name:"PowerMeter",setup(a){const e=Ue,t=Math.PI/40,n=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],s=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],o=m(()=>Ue/2-Fe),h=m(()=>{let B="",A=Object.values(Q).filter(V=>V.power>0);return A.length==1&&A[0].name=="PV"?B="Aktueller Verbrauch: ":B="Bezug/Verbrauch: ",B+Me(j.house.power+j.charging.power+j.devices.power+j.batIn.power,g.decimalPlaces)}),d=m(()=>{let B=Q.pv.power+Q.evuIn.power+Q.batOut.power;return g.maxPower>B?Me(g.maxPower,g.decimalPlaces):Me(B,g.decimalPlaces)}),u=m(()=>Object.values(O)),p=m(()=>{let B=0;return g.showRelativeArcs&&(B=g.maxPower-(Q.pv.power+Q.evuIn.power+Q.batOut.power)),B<0?0:B}),c=m(()=>[j.evuOut,j.charging,j.devices,j.batIn,j.house].filter(B=>B.power>0)),k=m(()=>n[c.value.length-1]);function I(B){return s[k.value[B]]}function z(B){return B.length>12?B.slice(0,11)+".":B}const W=m(()=>{const[B]=ne.etPriceList.values();return Math.round(B*10)/10});return(B,A)=>(l(),P(_t,{"full-width":!0},{title:_(()=>A[0]||(A[0]=[H(" Aktuelle Leistung ")])),default:_(()=>[r("figure",ln,[(l(),v("svg",{viewBox:"0 0 "+Ue+" "+i(e)},[r("g",{transform:"translate("+Ue/2+","+i(e)/2+")"},[f(Wr,{radius:o.value,"corner-radius":ga,"circle-gap-size":t,"empty-power":p.value},null,8,["radius","empty-power"]),f(Gr,{"sh-device":i(ae),radius:o.value,"corner-radius":ga,"circle-gap-size":t,"empty-power":p.value},null,8,["sh-device","radius","empty-power"]),f(Ae,{x:0,y:-i(e)/10*2,data:i(Q).pv,props:i(ie).pv,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),f(Ae,{x:0,y:-i(e)/10*3,data:i(Q).evuIn,props:i(ie).evuIn,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),f(Ae,{x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"]),i(ne).active?(l(),P(Ae,{key:0,x:0,y:-i(e)/10,data:i(Q).batOut,props:i(ie).batOut,anchor:"middle",config:i(g)},null,8,["y","data","props","config"])):w("",!0),(l(!0),v(U,null,te(c.value,(V,J)=>(l(),P(Ae,{key:J,x:I(J).x,y:I(J).y,data:V,labelicon:V.icon,labelcolor:V.color,anchor:"middle",config:i(g)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),i(me)[0]!=null&&i(Y)[i(me)[0]]!=null?(l(),P(Ae,{key:1,x:-Ue/2-Fe/4+10,y:-i(e)/2+Fe+5,labeltext:z(i(Y)[i(me)[0]].name)+": "+Math.round(i(Y)[i(me)[0]].soc)+"%",labelcolor:u.value[0].color,anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(me)[1]!=null&&i(Y)[i(me)[1]]!=null?(l(),P(Ae,{key:2,x:Ue/2+Fe/4-10,y:-i(e)/2+Fe+5,labeltext:z(i(Y)[i(me)[1]].name)+": "+Math.round(i(Y)[i(me)[1]].soc)+"%",labelcolor:u.value[1]?u.value[1].color:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(de).batterySoc>0?(l(),P(Ae,{key:3,x:-Ue/2-Fe/4+10,y:i(e)/2-Fe+15,labeltext:"Speicher: "+i(de).batterySoc+"%",labelcolor:i(j).batIn.color,anchor:"start",config:i(g)},null,8,["x","y","labeltext","labelcolor","config"])):w("",!0),i(ne).active?(l(),P(Ae,{key:4,x:Ue/2+Fe/4-10,y:i(e)/2-Fe+15,value:W.value,labeltext:i(ne).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:i(g)},null,8,["x","y","value","labeltext","config"])):w("",!0),f(Ae,{x:0,y:0,labeltext:h.value,labelcolor:"var(--color-fg)",anchor:"middle",config:i(g)},null,8,["labeltext","config"]),i(g).showRelativeArcs?(l(),v("text",{key:5,x:Ue/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+S(d.value),9,dn)):w("",!0)],8,un)],8,cn))])]),_:1}))}}),pn=["origin","origin2","transform"],gn=L({__name:"PgSourceGraph",props:{width:{},height:{},margin:{}},setup(a){const e=a,t={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",pv:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var n,s;const o=g.showAnimations?g.animationDuration:0,h=g.showAnimations?g.animationDelay:0,d=m(()=>{const M=ue("g#pgSourceGraph");if(y.data.length>0){y.graphMode=="month"||y.graphMode=="year"?J(M,Ye.value):V(M,Ce.value),M.selectAll(".axis").remove();const E=M.append("g").attr("class","axis");E.call(W.value),E.selectAll(".tick").attr("font-size",12),E.selectAll(".tick line").attr("stroke",A.value).attr("stroke-width",B.value),E.select(".domain").attr("stroke","var(--color-bg)")}return"pgSourceGraph.vue"}),u=m(()=>xa().value((M,E)=>M[E]??0).keys(k.value)),p=m(()=>u.value(y.data)),c=m(()=>Re().range([e.height-10,0]).domain(y.graphMode=="year"?[0,Math.ceil(I.value[1]*10)/10]:[0,Math.ceil(I.value[1])])),k=m(()=>{let M=[];const E=["batOut","evuIn"];if(g.showInverters){const $=/pv\d+/;y.data.length>0&&(M=Object.keys(y.data[0]).reduce((x,F)=>(F.match($)&&x.push(F),x),[]))}switch(y.graphMode){case"live":return g.showInverters?["pv","batOut","evuIn"]:["selfUsage","evuOut","batOut","evuIn"];case"today":case"day":return M.forEach(($,x)=>{t[$]="var(--color-pv"+(x+1)+")"}),g.showInverters?[...M,...E]:["selfUsage","evuOut","batOut","evuIn"];default:return["evuIn","batOut","selfUsage","evuOut"]}}),I=m(()=>{let M=Be(y.data,E=>Math.max(E.pv+E.evuIn+E.batOut,E.selfUsage+E.evuOut));return M[0]!=null&&M[1]!=null?(y.graphMode=="year"&&(M[0]=M[0]/1e3,M[1]=M[1]/1e3),M):[0,0]}),z=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),W=m(()=>vt(c.value).tickSizeInner(z.value).ticks(4).tickFormat(M=>(M==0?"":Math.round(M*10)/10).toLocaleString(void 0))),B=m(()=>g.showGrid?"0.5":"1"),A=m(()=>g.showGrid?"var(--color-grid)":"var(--color-bg)");function V(M,E){const $=nt().x((F,Le)=>E(y.data[Le].date)).y(c.value(0)).curve(ot),x=nt().x((F,Le)=>E(y.data[Le].date)).y0(F=>c.value(y.graphMode=="year"?F[0]/1e3:F[0])).y1(F=>c.value(y.graphMode=="year"?F[1]/1e3:F[1])).curve(ot);mt?(M.selectAll("*").remove(),n=M.selectAll(".sourceareas").data(p.value).enter().append("path").attr("fill",(F,Le)=>t[k.value[Le]]).attr("d",F=>$(F)),n.transition().duration(o).delay(h).ease(dt).attr("d",F=>x(F)),la()):n.data(p.value).transition().duration(0).ease(dt).attr("d",F=>x(F))}function J(M,E){y.data.length>0&&(mt?(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",($,x)=>t[k.value[x]]).selectAll("rect").data($=>$).enter().append("rect").attr("x",($,x)=>E(y.data[x].date)??0).attr("y",()=>c.value(0)).attr("height",0).attr("width",E.bandwidth()),s.transition().duration(o).delay(h).ease(dt).attr("height",$=>y.graphMode=="year"?c.value($[0]/1e3)-c.value($[1]/1e3):c.value($[0])-c.value($[1])).attr("y",$=>y.graphMode=="year"?c.value($[1]/1e3):c.value($[1])),la()):(M.selectAll("*").remove(),s=M.selectAll(".sourcebar").data(p.value).enter().append("g").attr("fill",($,x)=>t[k.value[x]]).selectAll("rect").data($=>$).enter().append("rect").attr("x",($,x)=>E(y.data[x].date)??0).attr("y",$=>y.graphMode=="year"?c.value($[1]/1e3):c.value($[1])).attr("width",E.bandwidth()).attr("height",$=>y.graphMode=="year"?c.value($[0]/1e3)-c.value($[1]/1e3):c.value($[0])-c.value($[1]))))}const C=m(()=>{const M=ue("g#pgSourceGraph");if(y.graphMode!="month"&&y.graphMode!="year"&&y.data.length>0){Ce.value.range(qe.value);const E=nt().x(($,x)=>Ce.value(y.data[x].date)).y0($=>c.value($[0])).y1($=>c.value($[1])).curve(ot);M.selectAll("path").attr("d",$=>$?E($):""),M.selectAll("g#sourceToolTips").select("rect").attr("x",$=>Ce.value($.date)).attr("width",e.width/y.data.length)}return"zoomed"});return(M,E)=>(l(),v("g",{id:"pgSourceGraph",origin:d.value,origin2:C.value,transform:"translate("+M.margin.left+","+M.margin.top+")"},null,8,pn))}}),mn=["origin","origin2","transform"],vn=L({__name:"PgUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(a){const e=a,t=m(()=>g.showInverters?[["house","charging","devices","batIn"],["charging","devices","batIn","house"],["devices","batIn","charging","house"],["batIn","charging","house","devices"]]:[["house","charging","devices","batIn","evuOut"],["charging","devices","batIn","house","evuOut"],["devices","batIn","charging","house","evuOut"],["batIn","charging","house","devices","evuOut"]]),n={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var s,o;const h=g.showAnimations?g.animationDuration:0,d=g.showAnimations?g.animationDelay:0,u=m(()=>{const C=ue("g#pgUsageGraph");y.graphMode=="month"||y.graphMode=="year"?V(C):A(C),C.selectAll(".axis").remove();const M=C.append("g").attr("class","axis");return M.call(B.value),M.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),g.showGrid?M.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):M.selectAll(".tick line").attr("stroke","var(--color-bg)"),M.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),p=m(()=>xa().value((C,M)=>C[M]??0).keys(I.value)),c=m(()=>p.value(y.data)),k=m(()=>Re().range([e.height+10,2*e.height]).domain(y.graphMode=="year"?[0,Math.ceil(z.value[1]*10)/10]:[0,Math.ceil(z.value[1])])),I=m(()=>{if(y.graphMode!="today"&&y.graphMode!="day"&&y.graphMode!="live")return t.value[e.stackOrder];{const C=t.value[e.stackOrder].slice(),M=C.indexOf("charging");C.splice(M,1);const E=/cp\d+/;let $=[];return y.data.length>0&&($=Object.keys(y.data[0]).reduce((x,F)=>(F.match(E)&&x.push(F),x),[])),$.forEach((x,F)=>{var Le;C.splice(M+F,0,x),n[x]=((Le=O[+x.slice(2)])==null?void 0:Le.color)??"black"}),g.showInverters&&C.push("evuOut"),C}}),z=m(()=>{let C=Be(y.data,M=>M.house+M.charging+M.batIn+M.devices+M.evuOut);return C[0]!=null&&C[1]!=null?(y.graphMode=="year"&&(C[0]=C[0]/1e3,C[1]=C[1]/1e3),C):[0,0]}),W=m(()=>y.graphMode=="month"||y.graphMode=="year"?-e.width-e.margin.right-22:-e.width),B=m(()=>vt(k.value).tickSizeInner(W.value).ticks(4).tickFormat(C=>(C==0?"":Math.round(C*10)/10).toLocaleString(void 0)));function A(C){const M=nt().x(($,x)=>Ce.value(y.data[x].date)).y(k.value(0)).curve(ot),E=nt().x(($,x)=>Ce.value(y.data[x].date)).y0($=>k.value($[0])).y1($=>k.value($[1])).curve(ot);g.showAnimations?lt?(C.selectAll("*").remove(),s=C.selectAll(".usageareas").data(c.value).enter().append("path").attr("d",$=>M($)).attr("fill",($,x)=>n[I.value[x]]),s.transition().duration(300).delay(100).ease(dt).attr("d",$=>E($)),ua()):(C.selectAll("*").remove(),C.selectAll(".usageareas").data(c.value).enter().append("path").attr("d",$=>E($)).attr("fill",($,x)=>n[I.value[x]])):(C.selectAll("*").remove(),C.selectAll(".usageareas").data(c.value).enter().append("path").attr("d",$=>E($)).attr("fill",($,x)=>n[I.value[x]]))}function V(C){lt?(C.selectAll("*").remove(),o=C.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>n[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Ye.value(y.data[E].date)??0).attr("y",()=>k.value(0)).attr("height",0).attr("width",Ye.value.bandwidth()),o.transition().duration(h).delay(d).ease(dt).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])),ua()):(C.selectAll("*").remove(),o=C.selectAll(".usagebar").data(c.value).enter().append("g").attr("fill",(M,E)=>n[t.value[e.stackOrder][E]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,E)=>Ye.value(y.data[E].date)??0).attr("y",M=>y.graphMode=="year"?k.value(M[0]/1e3):k.value(M[0])).attr("height",M=>y.graphMode=="year"?k.value(M[1]/1e3)-k.value(M[0]/1e3):k.value(M[1])-k.value(M[0])).attr("width",Ye.value.bandwidth()))}const J=m(()=>{const C=ue("g#pgUsageGraph");if(y.graphMode!="month"&&y.graphMode!="year"){Ce.value.range(qe.value);const M=nt().x((E,$)=>Ce.value(y.data[$].date)).y0(E=>k.value(E[0])).y1(E=>k.value(E[1])).curve(ot);C.selectAll("path").attr("d",E=>E?M(E):"")}return"zoomed"});return(C,M)=>(l(),v("g",{id:"pgUsageGraph",origin:u.value,origin2:J.value,transform:"translate("+C.margin.left+","+C.margin.top+")"},null,8,mn))}}),fn=["transform"],yn=["origin","origin2","transform"],bn=["origin","transform"],_n={key:0},wn=["width","height"],kn={key:1},xn=["y","width","height"],Bt=12,Sn=L({__name:"PgXAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>ht(Ce.value).ticks(6).tickSizeInner(h.value).tickFormat(it("%H:%M"))),n=m(()=>Ja(Ce.value).ticks(6).tickSizeInner(h.value+3).tickFormat(it(""))),s=m(()=>ht(Ye.value).ticks(4).tickSizeInner(h.value).tickFormat(c=>c.toString())),o=m(()=>ht(Ye.value).ticks(4).tickSizeInner(h.value).tickFormat(()=>"")),h=m(()=>y.graphMode!=="month"&&y.graphMode!=="year"?g.showGrid?-(e.height/2-7):-10:0),d=m(()=>{let c=ue("g#PGXAxis");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(s.value):c.call(t.value),c.selectAll(".tick > text").attr("fill",(k,I)=>I>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),c.append("text").attr("x",-e.margin.left).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",Bt).text(y.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),u=m(()=>{let c=ue("g#PGXAxis2");return c.selectAll("*").remove(),y.graphMode=="month"||y.graphMode=="year"?c.call(o.value):c.call(n.value),c.selectAll(".tick > text").attr("fill",(k,I)=>I>=0||y.graphMode=="month"||y.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",Bt),g.showGrid?(c.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),c.select(".domain").attr("stroke","var(--color-bg)")):c.selectAll(".tick line").attr("stroke","var(--color-bg)"),c.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"}),p=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const c=ue("g#PGXAxis"),k=ue("g#PGXAxis2");y.graphMode=="month"||y.graphMode=="year"?(Ye.value.range(qe.value),c.call(s.value),k.call(o.value)):(Ce.value.range(qe.value),c.call(t.value),k.call(n.value))}return"zoomed"});return(c,k)=>(l(),v("g",{transform:"translate("+c.margin.left+","+c.margin.top+")"},[r("g",{id:"PGXAxis",class:"axis",origin:d.value,origin2:p.value,transform:"translate(0,"+(c.height/2-6)+")"},null,8,yn),r("g",{id:"PGXAxis2",class:"axis",origin:u.value,transform:"translate(0,"+(c.height/2+10)+")"},null,8,bn),i(g).showGrid?(l(),v("g",_n,[r("rect",{x:"0",y:"0",width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,wn)])):w("",!0),i(g).showGrid?(l(),v("g",kn,[r("rect",{x:"0",y:c.height/2+10,width:c.width,height:c.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,xn)])):w("",!0)],8,fn))}}),Mn=["id",".origin","d"],$n=["id","d","stroke"],Pn=["x","y","text-anchor"],Vt=L({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(a){const e=a,t=m(()=>{let I=Be(y.data,z=>z.date);return I[0]&&I[1]?tt().domain(I).range([0,e.width]):tt().range([0,0])}),n=m(()=>Re().range([e.height-10,0]).domain([0,100])),s=m(()=>{let z=He().x(W=>t.value(W.date)).y(W=>n.value(e.order==2?W.batSoc:e.order==0?W["soc"+me.value[0]]:W["soc"+me.value[1]])??n.value(0))(y.data);return z||""}),o=m(()=>e.order),h=m(()=>{switch(e.order){case 2:return"Speicher";case 1:return Y[me.value[1]]!=null?Y[me.value[1]].name:"???";default:return Y[me.value[0]]!=null?Y[me.value[0]].name:"???"}}),d=m(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),u=m(()=>{switch(e.order){case 0:return 3;case 1:return e.width-3;case 2:return e.width/2;default:return 0}}),p=m(()=>{if(y.data.length>0){let I;switch(e.order){case 0:return I=y.data.length-1,n.value(y.data[I]["soc"+me.value[0]]+2);case 1:return I=0,n.value(y.data[I]["soc"+me.value[1]]+2);case 2:return I=Math.round(y.data.length/2),n.value(y.data[I].batSoc+2);default:return 0}}else return 0}),c=m(()=>{switch(e.order){case 0:return"start";case 1:return"end";case 2:return"middle";default:return"middle"}}),k=m(()=>{if(y.graphMode!="month"&&y.graphMode!="year"){const I=ue("path#soc-"+o.value),z=ue("path#socdashes-"+o.value);t.value.range(qe.value);const W=He().x(B=>t.value(B.date)).y(B=>n.value(e.order==2?B.batSoc:e.order==1?B["soc"+me.value[0]]:B["soc"+me.value[1]])??n.value(0));I.attr("d",W(y.data)),z.attr("d",W(y.data))}return"zoomed"});return(I,z)=>(l(),v(U,null,[r("path",{id:"soc-"+o.value,".origin":k.value,class:"soc-baseline",d:s.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,40,Mn),r("path",{id:"socdashes-"+o.value,class:"soc-dashes",d:s.value,stroke:d.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,$n),r("text",{class:"cpname",x:u.value,y:p.value,style:K({fill:d.value,fontSize:10}),"text-anchor":c.value},S(h.value),13,Pn)],64))}}),In=["transform"],Cn=L({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(a){const e=a,t=m(()=>Re().range([e.height-10,0]).domain([0,100])),n=m(()=>Ya(t.value).ticks(5).tickFormat(o=>o.toString()+"%"));function s(){let o=ue("g#PGSocAxis");o.call(n.value),o.selectAll(".tick").attr("font-size",12),o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)")}return Ve(()=>{s()}),(o,h)=>(l(),v("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(o.width-20)+",0)"},null,8,In))}}),Bn={class:"d-flex align-self-top justify-content-center align-items-center"},Vn={class:"input-group input-group-xs"},Ln={key:0,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},On={class:"dropdown-menu"},An={class:"table optiontable"},Tn=["onClick"],En={key:1,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},zn={class:"dropdown-menu"},Wn={class:"table optiontable"},Dn=["onClick"],Gn={key:2,class:"btn dropdown-toggle",type:"button","data-bs-toggle":"dropdown"},jn={class:"dropdown-menu"},Un={class:"table optiontable"},Fn=["onClick"],Nn=L({__name:"DateInput",props:{modelValue:{type:Date,required:!0},mode:{type:String,default:"day"}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=new Date().getFullYear();let s=Array.from({length:10},(z,W)=>n-W);const o=ee(!0),h=e,d=[[0,1,2,3],[4,5,6,7],[8,9,10,11]],u=ee(t.modelValue.getDate()),p=ee(t.modelValue.getMonth()),c=ee(t.modelValue.getFullYear()),k=m(()=>{const W=new Date(c.value,p.value,1).getDay();let B=0;switch(p.value){case 1:case 3:case 5:case 7:case 8:case 10:case 12:B=31;break;case 4:case 6:case 9:case 11:B=30;break;case 2:Math.trunc(c.value/4)*4==c.value?B=29:B=28}let A=[],V=[0,0,0,0,0,0,0],J=W;for(let C=0;C(l(),v("span",Bn,[r("div",Vn,[t.mode=="day"||t.mode=="today"?(l(),v("button",Ln,S(u.value),1)):w("",!0),r("div",On,[r("table",An,[(l(!0),v(U,null,te(k.value,(B,A)=>(l(),v("tr",{key:A,class:""},[(l(!0),v(U,null,te(B,(V,J)=>(l(),v("td",{key:J},[V!=0?(l(),v("span",{key:0,type:"button",class:"btn optionbutton",onClick:C=>u.value=V},S(V),9,Tn)):w("",!0)]))),128))]))),128))])]),t.mode!="year"&&t.mode!="live"?(l(),v("button",En,S(p.value+1),1)):w("",!0),r("div",zn,[r("table",Wn,[(l(),v(U,null,te(d,(B,A)=>r("tr",{key:A,class:""},[(l(!0),v(U,null,te(B,(V,J)=>(l(),v("td",{key:J,class:"p-0 m-0"},[r("span",{type:"button",class:"btn btn-sm optionbutton",onClick:C=>p.value=V},S(V+1),9,Dn)]))),128))])),64))])]),t.mode!="live"?(l(),v("button",Gn,S(c.value),1)):w("",!0),r("div",jn,[r("table",Un,[(l(!0),v(U,null,te(i(s),(B,A)=>(l(),v("tr",{key:A,class:""},[r("td",null,[r("span",{type:"button",class:"btn optionbutton",onClick:V=>c.value=B},S(B),9,Fn)])]))),128))])]),t.mode!="live"?(l(),v("button",{key:3,class:"button-outline-secondary",type:"button",onClick:I},W[0]||(W[0]=[r("span",{class:"fa-solid fa-circle-check"},null,-1)]))):w("",!0)])]))}}),R=(a,e)=>{const t=a.__vccOpts||a;for(const[n,s]of e)t[n]=s;return t},Hn=R(Nn,[["__scopeId","data-v-98690e5d"]]),Rn={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Jn=["id","value"],Yn=L({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=e,s=m({get(){return t.modelValue},set(d){n("update:modelValue",d)}});function o(d){let u=t.options[d].color?t.options[d].color:"var(--color-fg)";return t.options[d].active?{color:"var(--color-bg)",background:u}:{color:u}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),v("div",null,[r("div",Rn,[(l(!0),v(U,null,te(d.options,(p,c)=>(l(),v("button",{id:"radio-"+p.value,key:c,class:q(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",p.value==s.value?"active":""]),value:p.value,style:K(o(c)),onClick:h},[r("span",{style:K(o(c))},[p.icon?(l(),v("i",{key:0,class:q(["fa-solid",p.icon])},null,2)):w("",!0),H(" "+S(p.text),1)],4)],14,Jn))),128))])]))}}),Oa=R(Yn,[["__scopeId","data-v-82ab6829"]]),qn=L({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(a){const e=a,t=ee(0),n=m(()=>{if(y.waitForData)return"Lädt";switch(y.graphMode){case"live":return e.ignoreLive?"heute":`${ge.duration} min`;case"today":return"heute";case"day":return ce.date.getDate()+"."+(ce.date.getMonth()+1)+".";case"month":return Ur(Ee.month-1,Ee.year);case"year":return Je.year.toString();default:return"???"}}),s=["live","today","day","month","year"],o=["Live","Heute","Tag","Monat","Jahr"],h=m({get(){return y.graphMode},set(J){switch(J){case"day":k();break;case"today":I();break;case"live":c();break;case"month":z();break;case"year":W()}}}),d=m(()=>{switch(y.graphMode){case"live":case"today":return ce.getDate();case"month":return Ee.getDate();default:return ce.getDate()}});function u(J){ha(J)}function p(){t.value+=1,t.value>2&&(t.value=0)}function c(){y.graphMode!="live"&&(y.graphMode="live",ve())}function k(){y.graphMode!="day"&&y.graphMode!="today"&&(y.graphMode="day",ve())}function I(){y.graphMode!="today"&&(y.graphMode="today",ha(new Date),ve())}function z(){y.graphMode!="month"&&(y.graphMode="month",ve())}function W(){y.graphMode!="year"&&(y.graphMode="year",ve())}const B=m(()=>t.value>0?{border:"1px solid var(--color-frame)"}:""),A=m(()=>t.value==1?"justify-content-between":"justify-content-end"),V=m(()=>t.value==1?"justify-content-between":"justify-content-center");return(J,C)=>(l(),v("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:K(B.value)},[t.value==2?(l(),P(Oa,{key:0,id:"pgm2",modelValue:h.value,"onUpdate:modelValue":C[0]||(C[0]=M=>h.value=M),class:"m-2",options:s.map((M,E)=>({text:o[E],value:M,color:"var(--color-menu)",active:M==i(y).graphMode}))},null,8,["modelValue","options"])):w("",!0),t.value==1?(l(),v("span",{key:1,type:"button",class:q(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:C[1]||(C[1]=M=>J.$emit("shiftUp"))},C[6]||(C[6]=[r("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):w("",!0),r("div",{class:q(["d-flex align-items-center",V.value])},[t.value==1?(l(),v("span",{key:0,type:"button",class:q(["p-1",{disabled:!e.showLeftButton}]),onClick:C[2]||(C[2]=M=>J.$emit("shiftLeft"))},C[7]||(C[7]=[r("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):w("",!0),t.value<2?(l(),v("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:p},S(n.value),1)):w("",!0),t.value==2?(l(),P(Hn,{key:2,"model-value":d.value,mode:i(y).graphMode,"onUpdate:modelValue":u},null,8,["model-value","mode"])):w("",!0),t.value==1?(l(),v("span",{key:3,id:"graphRightButton",type:"button",class:q(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:C[3]||(C[3]=M=>J.$emit("shiftRight"))},null,2)):w("",!0)],2),r("div",{class:q(["d-flex align-items-center",A.value])},[t.value==1?(l(),v("span",{key:0,type:"button",class:"p-1",onClick:p},C[8]||(C[8]=[r("span",{class:"fa-solid fa-xl fa-gear"},null,-1)]))):w("",!0),t.value==1?(l(),v("span",{key:1,id:"graphLeftButton",type:"button",class:q(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:C[4]||(C[4]=M=>J.$emit("shiftDown"))},null,2)):w("",!0),t.value>0?(l(),v("span",{key:2,type:"button",class:"p-1",onClick:C[5]||(C[5]=M=>t.value=0)},C[9]||(C[9]=[r("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):w("",!0)],2)],4))}}),na=R(qn,[["__scopeId","data-v-d75ec1a4"]]),Qn=["x","fill"],Zn=["x"],Pe=L({__name:"PgToolTipLine",props:{cat:{},name:{},indent:{},power:{},width:{}},setup(a){const e=a;return(t,n)=>(l(),v(U,null,[t.power>0?(l(),v("tspan",{key:0,x:t.indent,dy:"1.3em",class:q(t.name?"":"fas"),fill:i(ie)[t.cat].color},S(t.name?t.name:i(ie)[t.cat].icon)+"   ",11,Qn)):w("",!0),r("tspan",{"text-anchor":"end",x:t.width-t.indent},[e.power>0?(l(),P(bt,{key:0,watt:t.power*1e3},null,8,["watt"])):w("",!0)],8,Zn)],64))}}),Xn=["transform"],Kn=["width","height"],eo={"text-anchor":"start",x:"5",y:"20","font-size":"16",fill:"var(--color-fg)"},to=["x"],ao=L({__name:"PgToolTipItem",props:{entry:{},boxwidth:{},xScale:{type:[Function,Object]}},setup(a){const e=a,t=m(()=>Object.values(e.entry).filter(u=>u>0).length),n=m(()=>t.value*16),s=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("pv")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Ne.value.get(u)?d(Ne.value.get(u)):"Wechselr.",id:u}))),o=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("cp")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Ne.value.get(u)?d(Ne.value.get(u)):"Ladep.",id:u}))),h=m(()=>Object.entries(e.entry).filter(([u,p])=>u.startsWith("sh")&&u.length>2&&p>0).map(([u,p])=>({power:p,name:Ne.value.get(u)?d(Ne.value.get(u)):"Gerät",id:u})));function d(u){return u.length>6?u.slice(0,6)+"...":u}return(u,p)=>(l(),v("g",{class:"ttmessage",transform:"translate("+u.xScale(u.entry.date)+",0)"},[r("rect",{rx:"5",width:u.boxwidth,height:n.value,fill:"var(--color-bg)",opacity:"80%",stroke:"var(--color-menu)"},null,8,Kn),r("text",eo,[r("tspan",{"text-anchor":"middle",x:u.boxwidth/2,dy:"0em"},S(i(it)("%H:%M")(new Date(u.entry.date))),9,to),p[0]||(p[0]=r("line",{y:"120",x1:"5",x2:"100",stroke:"var(--color-fg)","stroke-width":"1"},null,-1)),f(Pe,{cat:"evuIn",indent:5,power:u.entry.evuIn,width:u.boxwidth},null,8,["power","width"]),f(Pe,{cat:"batOut",indent:5,power:u.entry.batOut,width:u.boxwidth},null,8,["power","width"]),f(Pe,{cat:"pv",indent:5,power:u.entry.pv,width:u.boxwidth},null,8,["power","width"]),(l(!0),v(U,null,te(s.value,c=>(l(),P(Pe,{key:c.id,cat:"pv",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),f(Pe,{cat:"house",indent:5,power:u.entry.house,width:u.boxwidth},null,8,["power","width"]),f(Pe,{cat:"charging",indent:5,power:u.entry.charging,width:u.boxwidth},null,8,["power","width"]),(l(!0),v(U,null,te(o.value,c=>(l(),P(Pe,{key:c.id,cat:"charging",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),f(Pe,{cat:"devices",indent:5,power:u.entry.devices,width:u.boxwidth},null,8,["power","width"]),(l(!0),v(U,null,te(h.value,c=>(l(),P(Pe,{key:c.id,cat:"devices",name:c.name,power:c.power,indent:10,width:u.boxwidth},null,8,["name","power","width"]))),128)),f(Pe,{cat:"batIn",indent:5,power:u.entry.batIn,width:u.boxwidth},null,8,["power","width"]),f(Pe,{cat:"evuOut",indent:5,power:u.entry.evuOut,width:u.boxwidth},null,8,["power","width"])])],8,Xn))}}),ro=["origin","transform"],no=["x","height","width"],ma=140,oo=L({__name:"PgToolTips",props:{width:{},height:{},margin:{},data:{}},setup(a){const e=a,t=m(()=>{const o=Be(e.data,h=>new Date(h.date));return o[0]&&o[1]?Nt().domain(o).range([0,e.width-e.margin.right]):tt().range([0,0])}),n=m(()=>{const o=Be(e.data,h=>new Date(h.date));return o[0]&&o[1]?Nt().domain(o).range([0,e.width-e.margin.right-ma]):tt().range([0,0])}),s=m(()=>((y.graphMode=="day"||y.graphMode=="today")&&(t.value.range(qe.value),ue("g#pgToolTips").selectAll("g.ttarea").select("rect").attr("x",(o,h)=>e.data.length>h?t.value(e.data[h].date):0).attr("width",e.data.length>0?(qe.value[1]-qe.value[0])/e.data.length:0)),"PgToolTips.vue:autozoom"));return(o,h)=>(l(),v("g",{id:"pgToolTips",origin:s.value,transform:"translate("+o.margin.left+","+o.margin.top+")"},[(l(!0),v(U,null,te(o.data,d=>(l(),v("g",{key:d.date,class:"ttarea"},[r("rect",{x:t.value(d.date),y:"0",height:o.height,class:"ttrect",width:i(y).data.length>0?o.width/i(y).data.length:0,opacity:"1%",fill:"var(--color-charging)"},null,8,no),f(ao,{entry:d,boxwidth:ma,"x-scale":n.value},null,8,["entry","x-scale"])]))),128))],8,ro))}}),so={class:"d-flex justify-content-end"},io={id:"powergraph",class:"p-0 m-0"},lo=["viewBox"],co=["transform"],uo=["x","y"],ho=2,po="Leistung / Ladestand ",go=L({__name:"PowerGraph",setup(a){function e(){let h=g.usageStackOrder+1;h>ho&&(h=0),g.usageStackOrder=h,kr(!0)}function t(h){const d=[[0,G.top],[be,xe-G.top]];h.call(Qa().scaleExtent([1,8]).translateExtent([[0,0],[be,xe]]).extent(d).filter(s).on("zoom",n))}function n(h){Ca.value=h.transform}function s(h){return h.preventDefault(),(!h.ctrlKey||h.type==="wheel")&&!h.button}function o(){g.zoomedWidget=1,g.zoomGraph=!g.zoomGraph}return Ve(()=>{const h=ue("svg#powergraph");t(h)}),(h,d)=>(l(),P(_t,{"full-width":!0},{title:_(()=>[H(S(po))]),buttons:_(()=>[r("div",so,[f(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:i(It),onShiftRight:i(ea),onShiftUp:i(ta),onShiftDown:i(aa)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),v("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:o},d[0]||(d[0]=[r("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[ft(r("figure",io,[(l(),v("svg",{id:"powergraph",viewBox:"0 0 "+i(be)+" "+i(xe)},[f(gn,{width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G)},null,8,["width","height","margin"]),f(vn,{width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G),"stack-order":i(g).usageStackOrder},null,8,["width","height","margin","stack-order"]),f(Sn,{width:i(be)-i(G).left-2*i(G).right,height:i(xe)-i(G).top-i(G).bottom,margin:i(G),"graph-data":i(y)},null,8,["width","height","margin","graph-data"]),r("g",{transform:"translate("+i(G).left+","+i(G).top+")"},[(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Y)).filter(u=>u.visible).length>0?(l(),P(Vt,{key:0,width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G),order:0},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&Object.values(i(Y)).filter(u=>u.visible).length>1?(l(),P(Vt,{key:1,width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G),order:1},null,8,["width","height","margin"])):w("",!0),(i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live")&&i(de).isBatteryConfigured?(l(),P(Vt,{key:2,width:i(be)-i(G).left-2*i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G),order:2},null,8,["width","height","margin"])):w("",!0),i(y).graphMode=="day"||i(y).graphMode=="today"||i(y).graphMode=="live"?(l(),P(Cn,{key:3,width:i(be)-i(G).left-i(G).right,height:(i(xe)-i(G).top-i(G).bottom)/2,margin:i(G)},null,8,["width","height","margin"])):w("",!0)],8,co),i(y).graphMode=="day"||i(y).graphMode=="today"?(l(),P(oo,{key:0,width:i(be)-i(G).left-i(G).right,height:i(xe)-i(G).top-i(G).bottom,margin:i(G),data:i(y).data},null,8,["width","height","margin","data"])):w("",!0),r("g",{id:"button",type:"button",onClick:e},[r("text",{x:i(be)-10,y:i(xe)-10,color:"var(--color-menu)","text-anchor":"end"},d[1]||(d[1]=[r("tspan",{fill:"var(--color-menu)",class:"fas fa-lg"},S(""),-1)]),8,uo)])],8,lo))],512),[[qa,i(y).data.length>0]])]),_:1}))}}),mo=R(go,[["__scopeId","data-v-62d106b6"]]),vo=["id"],fo=["x","width","height","fill"],yo=["x","width","height"],bo=["x","y","width","height"],_o=L({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),n=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom),o>t.value&&(o=t.value),o});return(o,h)=>(l(),v("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[r("rect",{class:"bar",x:e.xScale(o.item.name),y:"0",width:e.xScale.bandwidth(),height:t.value,fill:o.item.color},null,8,fo),r("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:n.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,yo),r("rect",{class:"bar",x:e.xScale(o.item.name)+e.xScale.bandwidth()/6,y:n.value,width:e.xScale.bandwidth()*2/3,height:s.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,bo)],8,vo))}}),wo={id:"emBargraph"},ko=L({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="day"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="day"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="day"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return Math.round((p+c-d-k)/(p+c+u-d-k)*100)}else return s.pvPercentage}function n(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),v("g",wo,[(l(!0),v(U,null,te(e.plotdata,(h,d)=>(l(),v("g",{key:d},[f(_o,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),o[0]||(o[0]=r("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),xo=["origin"],So=L({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(a){const e=a,t=m(()=>vt(e.yScale).tickFormat(o=>s(o)).ticks(6).tickSizeInner(-e.width)),n=m(()=>{const o=ue("g#emYAxis");return o.attr("class","axis").call(t.value),o.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),o.selectAll(".tick").attr("font-size",e.fontsize),g.showGrid?o.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):o.selectAll(".tick line").attr("stroke","var(--color-bg)"),o.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});function s(o){return o>0?y.graphMode=="year"?(o/1e6).toString():(o/1e3).toString():""}return(o,h)=>(l(),v("g",{id:"emYAxis",class:"axis",origin:n.value},null,8,xo))}}),Mo=["id"],$o=["x","y","font-size"],Po=["x","y","font-size","fill"],Io=["x","y","font-size","fill"],Co=L({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),n=m(()=>{let u=16,p=e.barcount;return p<=5?u=16:p==6?u=14:p>6&&p<=8?u=13:p==9?u=11:p==10?u=10:u=9,u}),s=m(()=>{let u=12,p=e.barcount;return p<=5?u=12:p==6?u=11:p>6&&p<=8||p==9?u=8:p==10?u=7:u=6,u});function o(u,p){return p.length>s.value?p.substring(0,s.value)+".":p}function h(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function d(){return"var(--color-pv)"}return(u,p)=>(l(),v("g",{id:"barlabel-"+e.item.name},[r("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:t.value,"font-size":n.value,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ut)(u.item.energy,i(g).decimalPlaces,!1)),9,$o),r("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.yScale(u.item.energy)-10,"font-size":n.value-2,"text-anchor":"middle",fill:d()},S(h()),9,Po),r("text",{x:e.xScale(u.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":n.value,"text-anchor":"middle",fill:u.item.color,class:q(u.item.icon.length<=2?"fas":"")},S(o(u.item.name,u.item.icon)),11,Io)],8,Mo))}}),Bo={id:"emBarLabels"},Vo=L({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function n(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),v("g",Bo,[(l(!0),v(U,null,te(e.plotdata,(h,d)=>(l(),v("g",{key:d},[f(Co,{item:h,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(h),autarchy:t(h)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),Lo={class:"d-flex justify-content-end"},Oo={id:"energymeter",class:"p-0 m-0"},Ao={viewBox:"0 0 500 500"},To=["transform"],Eo=["x"],zo={key:0},va=500,Lt=500,fa=12,Wo="Energie",Do=L({__name:"EnergyMeter",setup(a){const e={top:25,bottom:30,left:25,right:0},t=m(()=>{let u=Object.values(Q),p=o.value;const c=T.items;let k=[];switch(g.debug&&h(),ct.value==!0&&(ct.value=!1),y.graphMode){default:case"live":case"today":k=u.concat(p);break;case"day":case"month":case"year":Object.values(c).length==0?Qe.value=!0:(Qe.value=!1,k=[c.evuIn,c.pv,c.evuOut,c.batOut,c.charging],Object.values(O).length>1&&Object.keys(O).forEach(I=>{c["cp"+I]&&k.push(c["cp"+I])}),k.push(c.devices),ae.forEach((I,z)=>{I.showInGraph&&c["sh"+z]&&k.push(c["sh"+z])}),k=k.concat([c.batIn,c.house]))}return k.filter(I=>I.energy&&I.energy>0)}),n=m(()=>xt().range([0,va-e.left-e.right]).domain(t.value.map(u=>u.name)).padding(.4)),s=m(()=>Re().range([Lt-e.bottom-e.top,15]).domain([0,Sa(t.value,u=>u.energy)])),o=m(()=>{const u=Object.values(O).length,p=[...ae.values()].filter(k=>k.configured).length;let c=j;return[...[c.evuOut,c.charging].concat(u>1?Object.values(O).map(k=>k.toPowerItem()):[]),...[c.devices].concat(p>1?[...ae.values()].filter(k=>k.configured&&k.showInGraph):[]).concat([j.batIn,j.house])]});function h(){console.debug(["source summary:",Q]),console.debug(["usage details:",o.value]),console.debug(["historic summary:",T])}function d(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(u,p)=>(l(),P(_t,{"full-width":!0},{title:_(()=>[H(S(Wo))]),buttons:_(()=>[r("div",Lo,[f(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(ea),onShiftUp:i(ta),onShiftDown:i(aa)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),v("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:d},p[0]||(p[0]=[r("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[r("figure",Oo,[(l(),v("svg",Ao,[r("g",{transform:"translate("+e.left+","+e.top+")"},[f(ko,{plotdata:t.value,"x-scale":n.value,"y-scale":s.value,height:Lt,margin:e},null,8,["plotdata","x-scale","y-scale"]),f(So,{"y-scale":s.value,width:va,fontsize:fa,config:i(g)},null,8,["y-scale","config"]),r("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":fa},S(i(y).graphMode=="year"?"MWh":"kWh"),9,Eo),f(Vo,{plotdata:t.value,"x-scale":n.value,"y-scale":s.value,height:Lt,margin:e,config:i(g)},null,8,["plotdata","x-scale","y-scale","config"])],8,To)]))]),i(Qe)?(l(),v("p",zo,"No data")):w("",!0)]),_:1}))}}),Go=R(Do,[["__scopeId","data-v-32c82102"]]),jo=["id"],Uo=["y","width","fill"],Fo=["y","width"],No=["y","x","width"],Ho=L({__name:"EnergyBar",props:{id:{},item:{},yScale:{},xScale:{},itemHeight:{}},setup(a){const e=a,t=m(()=>e.xScale(e.item.energy)),n=m(()=>{let o=0;return e.item.energyPv>0&&(o=e.xScale(e.item.energyPv)),o>t.value&&(o=t.value),o}),s=m(()=>{let o=0;return e.item.energyBat>0&&(o=e.xScale(e.item.energyBat)),o>t.value&&(o=t.value),o});return(o,h)=>(l(),v("g",{id:`bar-${e.item.name}`},[r("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2-4,x:"0",rx:"6",ry:"6",height:"12",width:t.value,fill:o.item.color},null,8,Uo),r("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:"0",rx:"3",ry:"3",height:"7",width:n.value,fill:"var(--color-pv)","fill-opacity":"100%"},null,8,Fo),r("rect",{class:"bar",y:e.yScale(e.id)+e.itemHeight/2+10,x:n.value,rx:"3",ry:"3",height:"7",width:s.value,fill:"var(--color-battery)","fill-opacity":"100%"},null,8,No)],8,jo))}}),Ro={id:"emBargraph"},Jo=L({__name:"BarGraph",props:{plotdata:{},yscale:{},xscale:{},itemHeight:{}},setup(a){const e=a;return(t,n)=>(l(),v("g",Ro,[(l(!0),v(U,null,te(e.plotdata,(s,o)=>(l(),v("g",{key:o},[f(Ho,{id:o.toString(),item:s,"x-scale":e.xscale,"y-scale":e.yscale,"item-height":t.itemHeight},null,8,["id","item","x-scale","y-scale","item-height"])]))),128))]))}}),Yo=["id"],qo=["y","x","fill"],Qo=["y","x"],Zo=["y","x","font-size"],Ot=24,Xo=L({__name:"EnergyLabel",props:{id:{},item:{},yscale:{},margin:{},width:{},itemHeight:{},autarchy:{},autText:{}},setup(a){const e=a,t=m(()=>e.yscale(e.id)+e.itemHeight/3);function n(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function s(o){return o.length>14?o.slice(0,13)+"...":o}return(o,h)=>(l(),v("g",{id:"barlabel-"+e.id},[r("text",{y:t.value,x:e.margin.left,"font-size":Ot,"text-anchor":"start",fill:o.item.color,class:q(o.item.icon.length<=2?"fas":"")},S(s(e.item.icon)),11,qo),r("text",{y:t.value,x:e.width/2+e.margin.left,"font-size":Ot,"text-anchor":"middle",fill:"var(--color-menu)"},S(i(ut)(o.item.energy,i(g).decimalPlaces,!1)),9,Qo),r("text",{y:t.value,x:e.width-e.margin.right,"font-size":Ot-2,"text-anchor":"end",fill:"var(--color-pv)"},S(n()),9,Zo)],8,Yo))}}),Ko={id:"emBarLabels"},es=L({__name:"EnergyLabels",props:{plotdata:{},yscale:{},width:{},itemHeight:{},margin:{}},setup(a){const e=a;function t(s){if(s.name=="PV"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,d=(y.graphMode=="live"||y.graphMode=="today"?j:T.items).evuOut.energy,u=o.pv.energy;return Math.round((u-d)/u*100)}else if(s.name=="Netz"){const o=y.graphMode=="live"||y.graphMode=="today"?Q:T.items,h=y.graphMode=="live"||y.graphMode=="today"?j:T.items,d=h.evuOut.energy,u=o.evuIn.energy,p=o.pv.energy,c=o.batOut.energy,k=h.batIn.energy;return p+c-d-k>0?Math.round((p+c-d-k)/(p+c+u-d-k)*100):0}else return s.pvPercentage}function n(s){return s.name=="PV"?"Eigen":"Aut"}return(s,o)=>(l(),v("g",Ko,[(l(!0),v(U,null,te(e.plotdata,(h,d)=>(l(),v("g",{key:d},[f(Xo,{id:d.toString(),item:h,yscale:e.yscale,margin:e.margin,width:e.width,"item-height":s.itemHeight,"aut-text":n(h),autarchy:t(h)},null,8,["id","item","yscale","margin","width","item-height","aut-text","autarchy"])]))),128))]))}});class ts{constructor(e){b(this,"id");b(this,"name","Speicher");b(this,"color","var(--color-battery)");b(this,"dailyYieldExport",0);b(this,"dailyYieldImport",0);b(this,"monthlyYieldExport",0);b(this,"monthlyYieldImport",0);b(this,"yearlyYieldExport",0);b(this,"yearlyYieldImport",0);b(this,"exported",0);b(this,"faultState",0);b(this,"faultStr","");b(this,"imported",0);b(this,"power",0);b(this,"soc",0);this.id=e}}class as{constructor(){b(this,"dailyExport",0);b(this,"dailyImport",0);b(this,"exported",0);b(this,"imported",0);b(this,"power",0);b(this,"soc",0)}}le(new as);const he=ee(new Map),Aa=a=>{he.value.set(a,new ts(a)),he.value.get(a).color=ie["bat"+he.value.size].color};function rs(){he.value=new Map}const ns={class:"d-flex justify-content-end"},os={id:"energymeter",class:"p-0 m-0"},ss=["viewBox"],is=["transform"],ls=["x"],cs={key:0},ya=500,At=60,us=12,ds="Energie",hs=L({__name:"EnergyMeter2",setup(a){const e={top:0,bottom:30,left:0,right:0},t=m(()=>n.value.length*At+e.top+e.bottom),n=m(()=>{let c=Object.values(Q),k=h.value;const I=T.items;let z=[];switch(g.debug&&u(),ct.value==!0&&(ct.value=!1),y.graphMode){default:case"live":case"today":z=d(c).concat(k);break;case"day":case"month":case"year":Object.values(I).length==0?Qe.value=!0:(Qe.value=!1,z=[I.evuIn,I.pv,I.evuOut,I.batOut,I.charging],Object.values(O).length>1&&Object.keys(O).forEach(W=>{I["cp"+W]&&z.push(I["cp"+W])}),z.push(I.devices),ae.forEach((W,B)=>{W.showInGraph&&I["sh"+B]&&z.push(I["sh"+B])}),z=z.concat([I.batIn,I.house]))}return z.filter(W=>W.energy&&W.energy>0)}),s=m(()=>Re().range([0,ya-e.left-e.right]).domain([0,Sa(n.value,c=>c.energy)])),o=m(()=>xt().range([e.top,t.value-e.bottom]).domain(n.value.map((c,k)=>k.toString())).padding(.1)),h=m(()=>{const c=Object.values(O).length,k=[...ae.values()].filter(z=>z.configured).length;let I=j;return[...[I.evuOut,I.charging].concat(c>1?Object.values(O).map(z=>z.toPowerItem()):[]),...[I.devices].concat(k>1?[...ae.values()].filter(z=>z.configured&&z.showInGraph):[]).concat([j.batIn,j.house])]});function d(c){let k=0;return we.value.size>1&&we.value.forEach(I=>{c.splice(2+k++,0,{name:I.name,power:I.power,energy:I.energy,energyPv:0,energyBat:0,pvPercentage:0,color:I.color,icon:I.name,showInGraph:!0})}),he.value.size>1&&he.value.forEach(I=>{c.splice(3+k++,0,{name:I.name,power:I.power,energy:I.dailyYieldExport,energyPv:0,energyBat:0,pvPercentage:0,color:I.color,icon:I.name,showInGraph:!0})}),c}function u(){console.debug(["source summary:",Q]),console.debug(["usage details:",h.value]),console.debug(["historic summary:",T])}function p(){g.zoomedWidget=2,g.zoomGraph=!g.zoomGraph}return(c,k)=>(l(),P(_t,{"full-width":!0},{title:_(()=>[H(S(ds))]),buttons:_(()=>[r("div",ns,[f(na,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:i(It),onShiftRight:i(ea),onShiftUp:i(ta),onShiftDown:i(aa)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"]),i(De)?(l(),v("span",{key:0,type:"button",class:"ms-1 p-0 pt-1",onClick:p},k[0]||(k[0]=[r("span",{class:"fa-solid fa-lg ps-1 fa-magnifying-glass"},null,-1)]))):w("",!0)])]),default:_(()=>[r("figure",os,[(l(),v("svg",{viewBox:"0 0 500 "+t.value},[r("g",{transform:"translate("+e.left+","+e.top+")"},[f(Jo,{plotdata:n.value,xscale:s.value,yscale:o.value,"item-height":At},null,8,["plotdata","xscale","yscale"]),r("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":us},S(i(y).graphMode=="year"?"MWh":"kWh"),9,ls),f(es,{plotdata:n.value,yscale:o.value,width:ya,"item-height":At,margin:e},null,8,["plotdata","yscale"])],8,is)],8,ss))]),i(Qe)?(l(),v("p",cs,"No data")):w("",!0)]),_:1}))}}),ps=R(hs,[["__scopeId","data-v-63a4748e"]]),gs={class:"d-flex flex-column align-items-center justify-content-start infoitem"},ms=L({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(a){const e=a,t=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),n=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),s=m(()=>e.small?"mt-0":"mt-1");return(o,h)=>(l(),v("span",gs,[r("span",{class:q(["d-flex heading",s.value]),style:K(t.value)},S(e.heading),7),r("span",{class:"d-flex my-0 me-0 align-items-center content",style:K(n.value)},[pe(o.$slots,"default",{},void 0,!0)],4)]))}}),X=R(ms,[["__scopeId","data-v-f6af00e8"]]),vs={class:"d-flex justify-content-between align-items-center titlerow"},fs={class:"buttonrea d-flex float-right justify-content-end align-items-center"},ys={class:"contentrow grid-col-12"},bs=L({__name:"WbSubwidget",props:{titlecolor:{},fullwidth:{type:Boolean},small:{type:Boolean}},setup(a){const e=a,t=m(()=>{let s={"font-weight":"bold",color:"var(--color-fg)","font-size":"var(--font-normal)"};return e.titlecolor&&(s.color=e.titlecolor),e.small&&(s["font-size"]="var(--font-verysmall)"),s}),n=m(()=>e.fullwidth?"grid-col-12":"grid-col-4");return(s,o)=>(l(),v("div",{class:q(["wb-subwidget px-3 pt-2 my-0",n.value])},[r("div",vs,[r("div",{class:"d-flex widgetname p-0 m-0",style:K(t.value)},[pe(s.$slots,"title",{},void 0,!0)],4),r("div",fs,[pe(s.$slots,"buttons",{},void 0,!0)])]),r("div",ys,[pe(s.$slots,"default",{},void 0,!0)])],2))}}),at=R(bs,[["__scopeId","data-v-e989060d"]]),_s={class:"grid-col-12 mt-2 mb-0 px-0 py-0 configitem"},ws={class:"titlecolumn m-0 p-0 d-flex align-items-center"},ks={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},xs={class:"justify-content-stretch d-flex"},Ss=L({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},fullwidth:{type:Boolean}},setup(a){const e=a,t=ee(!1);function n(){t.value=!t.value}const s=m(()=>{let o={color:"var(--color-charging)"};return t.value&&(o.color="var(--color-battery)"),o});return(o,h)=>(l(),P(at,{fullwidth:!!o.fullwidth},{default:_(()=>[r("div",_s,[r("div",ws,[r("span",{class:"d-flex align-items-baseline m-0 p-0",onClick:n},[e.icon?(l(),v("i",{key:0,class:q(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon])},null,2)):w("",!0),H(" "+S(o.title),1)]),r("span",null,[e.infotext?(l(),v("i",{key:0,class:"fa-solid fa-sm fa-circle-question ms-4 me-2",style:K(s.value),onClick:n},null,4)):w("",!0)])]),t.value?(l(),v("p",{key:0,class:"infotext shadow m-0 ps-2 mb-1 p-1",onClick:n},[h[0]||(h[0]=r("i",{class:"me-1 fa-solid fa-sm fa-circle-info"},null,-1)),H(" "+S(o.infotext),1)])):w("",!0),r("div",ks,[r("span",xs,[pe(o.$slots,"default",{},void 0,!0)])])])]),_:3},8,["fullwidth"]))}}),N=R(Ss,[["__scopeId","data-v-b935eb33"]]),Ms={class:"d-flex flex-column"},$s={class:"d-flex flex-fill justify-content-between align-items-center"},Ps={class:"d-flex flex-fill flex-column justify-content-center m-0 p-0"},Is={key:0,id:"rangeIndicator",class:"rangeIndicator"},Cs={viewBox:"0 0 100 2"},Bs=["width"],Vs=["x","width"],Ls=["x","width"],Os=["id","min","max","step"],As={class:"d-flex justify-content-between align-items-center"},Ts={class:"minlabel ps-4"},Es={class:"valuelabel"},zs={class:"maxlabel pe-4"},Ws=L({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},showSubrange:{type:Boolean},subrangeMin:{},subrangeMax:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=t.decimals??0,s=e,o=m({get(){return Math.round(t.modelValue*Math.pow(10,n))/Math.pow(10,n)},set(k){s("update:modelValue",k)}});function h(){o.value>t.min&&(o.value=Math.round((o.value-t.step)*Math.pow(10,n))/Math.pow(10,n))}function d(){o.valueRe().domain([t.min,t.max]).range([0,100])),p=m(()=>u.value(t.subrangeMin?t.subrangeMin:0)),c=m(()=>t.subrangeMin&&t.subrangeMax?u.value(t.subrangeMax)-u.value(t.subrangeMin):0);return(k,I)=>(l(),v("span",Ms,[r("span",$s,[r("span",{type:"button",class:"minusButton",onClick:h},I[1]||(I[1]=[r("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),r("div",Ps,[t.showSubrange?(l(),v("figure",Is,[(l(),v("svg",Cs,[r("g",null,[r("rect",{class:"below",x:0,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-evu)"},null,8,Bs),r("rect",{class:"bar",x:p.value,y:"0",width:c.value,height:"2",rx:"1",ry:"1",fill:"var(--color-charging)"},null,8,Vs),r("rect",{class:"above",x:p.value+c.value,y:"0",width:p.value,height:"2",rx:"1",ry:"1",fill:"var(--color-pv)"},null,8,Ls)])]))])):w("",!0),ft(r("input",{id:k.id,"onUpdate:modelValue":I[0]||(I[0]=z=>o.value=z),type:"range",class:"form-range flex-fill",min:k.min,max:k.max,step:k.step},null,8,Os),[[Za,o.value,void 0,{number:!0}]])]),r("span",{type:"button",class:"plusButton",onClick:d},I[2]||(I[2]=[r("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),r("span",As,[r("span",Ts,S(k.min),1),r("span",Es,S(o.value)+" "+S(k.unit),1),r("span",zs,S(k.max),1)])]))}}),Se=R(Ws,[["__scopeId","data-v-267ede95"]]),Ds=["id","value"],Gs=L({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=e,s=m({get(){return t.modelValue},set(d){n("update:modelValue",d)}});function o(d){return t.options[d][2]?{color:t.options[d][2]}:{color:"var(--color-fg)"}}function h(d){let u=d.target;for(;u&&!u.value&&u.parentElement;)u=u.parentElement;u.value&&(s.value=u.value)}return(d,u)=>(l(),v("div",null,[(l(!0),v(U,null,te(d.options,(p,c)=>(l(),v("button",{id:"radio-"+p[1],key:c,class:q(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",p[1]==s.value?"active":""]),value:p[1],style:K(o(c)),onClick:h},[r("span",{style:K(o(c))},[p[3]?(l(),v("i",{key:0,class:q(["fa-solid",p[3]])},null,2)):w("",!0),H(" "+S(p[0]),1)],4)],14,Ds))),128))]))}}),We=R(Gs,[["__scopeId","data-v-df222cbe"]]),js={class:"mt-2"},Us={key:0},Fs=L({__name:"CPConfigInstant",props:{chargepoint:{}},setup(a){const t=ee(a.chargepoint),n=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],s=m({get(){return t.value.instantMaxEnergy/1e3},set(o){t.value.instantMaxEnergy=o*1e3}});return(o,h)=>(l(),v("div",js,[h[4]||(h[4]=r("p",{class:"heading ms-1"},"Sofortladen:",-1)),f(N,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:_(()=>[f(Se,{id:"targetCurrent",modelValue:t.value.instantTargetCurrent,"onUpdate:modelValue":h[0]||(h[0]=d=>t.value.instantTargetCurrent=d),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),t.value.instantChargeLimitMode!="none"?(l(),v("hr",Us)):w("",!0),f(N,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:_(()=>[f(We,{modelValue:t.value.instantChargeLimitMode,"onUpdate:modelValue":h[1]||(h[1]=d=>t.value.instantChargeLimitMode=d),options:n.map(d=>[d.name,d.id])},null,8,["modelValue","options"])]),_:1}),t.value.instantChargeLimitMode=="soc"?(l(),P(N,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[f(Se,{id:"maxSoc",modelValue:t.value.instantTargetSoc,"onUpdate:modelValue":h[2]||(h[2]=d=>t.value.instantTargetSoc=d),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),t.value.instantChargeLimitMode=="amount"?(l(),P(N,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[f(Se,{id:"maxEnergy",modelValue:s.value,"onUpdate:modelValue":h[3]||(h[3]=d=>s.value=d),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),Ns=R(Fs,[["__scopeId","data-v-0303d179"]]),Hs={class:"form-check form-switch"},se=L({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=e,s=m({get(){return t.modelValue},set(h){n("update:modelValue",h)}}),o=m(()=>s.value?{"background-color":"green"}:{"background-color":"white"});return(h,d)=>(l(),v("div",Hs,[ft(r("input",{"onUpdate:modelValue":d[0]||(d[0]=u=>s.value=u),class:"form-check-input",type:"checkbox",role:"switch",style:K(o.value)},null,4),[[Ma,s.value]])]))}}),Rs={class:"pt-2"},Js={key:3},Ys=L({__name:"CPConfigPv",props:{chargepoint:{}},setup(a){const t=ee(a.chargepoint),n=m({get(){return t.value.pvMinCurrent>5},set(h){h?t.value.pvMinCurrent=6:t.value.pvMinCurrent=0}}),s=m({get(){return t.value.pvMinSoc>0},set(h){h?t.value.pvMinSoc=50:t.value.pvMinSoc=0}}),o=m({get(){return t.value.pvMaxSoc<=100},set(h){h?t.value.pvMaxSoc=100:t.value.pvMaxSoc=101}});return(h,d)=>(l(),v("div",Rs,[d[8]||(d[8]=r("p",{class:"heading ms-1"},"PV-Laden:",-1)),f(N,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[f(se,{id:"limitSoc",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u)},null,8,["modelValue"])]),_:1}),o.value?(l(),P(N,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:_(()=>[f(Se,{id:"maxSoc",modelValue:t.value.pvMaxSoc,"onUpdate:modelValue":d[1]||(d[1]=u=>t.value.pvMaxSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),f(N,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:_(()=>[f(se,{modelValue:t.value.pvFeedInLimit,"onUpdate:modelValue":d[2]||(d[2]=u=>t.value.pvFeedInLimit=u)},null,8,["modelValue"])]),_:1}),f(N,{title:"Mindest-Ladestand",icon:"fa-battery-half",infotext:i(Te).minsoc,fullwidth:!0},{default:_(()=>[f(se,{modelValue:s.value,"onUpdate:modelValue":d[3]||(d[3]=u=>s.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),s.value?(l(),P(N,{key:1,title:"...bis SoC",fullwidth:!0},{info:_(()=>[H(S(i(Te).minsoc),1)]),default:_(()=>[f(Se,{id:"minSoc",modelValue:t.value.pvMinSoc,"onUpdate:modelValue":d[4]||(d[4]=u=>t.value.pvMinSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):w("",!0),s.value?(l(),P(N,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:_(()=>[f(Se,{id:"minSocCurrent",modelValue:t.value.pvMinSocCurrent,"onUpdate:modelValue":d[5]||(d[5]=u=>t.value.pvMinSocCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0),n.value||s.value?(l(),v("hr",Js)):w("",!0),f(N,{title:"Minimaler Ladestrom",icon:"fa-bolt",infotext:i(Te).minpv,fullwidth:!0},{default:_(()=>[f(se,{modelValue:n.value,"onUpdate:modelValue":d[6]||(d[6]=u=>n.value=u)},null,8,["modelValue"])]),_:1},8,["infotext"]),n.value?(l(),P(N,{key:4,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:_(()=>[f(Se,{id:"minCurrent",modelValue:t.value.pvMinCurrent,"onUpdate:modelValue":d[7]||(d[7]=u=>t.value.pvMinCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):w("",!0)]))}}),qs=R(Ys,[["__scopeId","data-v-faa69015"]]),Qs={class:"table table-borderless"},Zs={class:"tablecell"},Xs={class:"tablecell"},Ks={class:"tablecell"},ei={class:"tablecell"},ti={class:"tablecell left"},ai=["href"],ri=L({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,n=m(()=>{let d=[];return pt[t.chargeTemplateId]&&(d=Object.values(pt[t.chargeTemplateId])),d});function s(d){return n.value[d].time}function o(d){return{color:n.value[d].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function h(d){return{"font-weight":n.value[d].active?"bold":"regular"}}return(d,u)=>(l(),v(U,null,[u[1]||(u[1]=r("p",{class:"heading ms-1 pt-2"},"Zielladen:",-1)),r("table",Qs,[u[0]||(u[0]=r("thead",null,[r("tr",null,[r("th",{class:"tableheader"},"Ziel"),r("th",{class:"tableheader"},"Limit"),r("th",{class:"tableheader"},"Zeit"),r("th",{class:"tableheader"},"Wiederholung"),r("th",{class:"tableheader"})])],-1)),r("tbody",null,[(l(!0),v(U,null,te(n.value,(p,c)=>(l(),v("tr",{key:c,style:K(h(c))},[r("td",Zs,S(p.limit.soc_scheduled)+"%",1),r("td",Xs,S(p.limit.soc_limit)+"%",1),r("td",Ks,S(s(c)),1),r("td",ei,S(e[p.frequency.selected]),1),r("td",ti,[r("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[r("span",{class:q([p.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(o(c)),type:"button"},null,6)],8,ai)])],4))),128))])])],64))}}),ni=R(ri,[["__scopeId","data-v-e8f5ad9d"]]),oi={class:"table table-borderless"},si={class:"tablecell"},ii={class:"tablecell"},li={class:"tablecell"},ci={class:"tablecell"},ui={class:"tablecell left"},di=["href"],hi=L({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(a){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},t=a,n=m(()=>gt[t.chargeTemplateId]?Object.values(gt[t.chargeTemplateId])??[]:[]);function s(h){return{color:n.value[h].active?"var(--color-switchGreen)":"var(--color-switchRed)"}}function o(h){return{"font-weight":n.value[h].active?"bold":"regular"}}return(h,d)=>(l(),v(U,null,[d[1]||(d[1]=r("p",{class:"heading ms-1 pt-2"},"Zeitpläne:",-1)),r("table",oi,[d[0]||(d[0]=r("thead",null,[r("tr",null,[r("th",{class:"tableheader"},"Von"),r("th",{class:"tableheader"},"Bis"),r("th",{class:"tableheader"},"Ladestrom"),r("th",{class:"tableheader"},"Wiederholung"),r("th",{class:"tableheader right"})])],-1)),r("tbody",null,[(l(!0),v(U,null,te(n.value,(u,p)=>(l(),v("tr",{key:p,style:K(o(p))},[r("td",si,S(u.time[0]),1),r("td",ii,S(u.time[1]),1),r("td",li,S(u.current)+" A",1),r("td",ci,S(e[u.frequency.selected]),1),r("td",ui,[r("a",{href:"../../settings/#/VehicleConfiguration/charge_template/"+t.chargeTemplateId},[r("span",{class:q([u.active?"fa-toggle-on":"fa-toggle-off","fa"]),style:K(s(p)),type:"button"},null,6)],8,di)])],4))),128))])])],64))}}),pi=R(hi,[["__scopeId","data-v-192e287b"]]),gi={class:"settingsheader mt-2 ms-1"},mi=L({__name:"CPConfigVehicle",props:{vehicleId:{}},setup(a){const e=a;return(t,n)=>(l(),v(U,null,[r("p",gi," Profile für "+S(i(Y)[e.vehicleId].name)+": ",1),f(N,{title:"Ladeprofil",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(Y)[e.vehicleId].chargeTemplateId,"onUpdate:modelValue":n[0]||(n[0]=s=>i(Y)[e.vehicleId].chargeTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(_e)).map(s=>[i(_e)[+s].name,s])},null,8,["modelValue","options"])]),_:1}),f(N,{title:"Fahrzeug-Vorlage",icon:"fa-sliders",fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(Y)[e.vehicleId].evTemplateId,"onUpdate:modelValue":n[1]||(n[1]=s=>i(Y)[e.vehicleId].evTemplateId=s),modelModifiers:{number:!0},options:Object.keys(i(Rt)).map(s=>[i(Rt)[+s].name,s])},null,8,["modelValue","options"])]),_:1})],64))}}),vi=R(mi,[["__scopeId","data-v-fcb57a44"]]),fi={class:"settingsheader mt-2 ms-1"},yi=L({__name:"CPChargeConfig",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint;return(n,s)=>(l(),v(U,null,[r("p",fi," Ladeeinstellungen für "+S(i(t).vehicleName)+": ",1),f(N,{title:"Lademodus",icon:"fa-charging-station",infotext:i(Te).chargemode,fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(t).chargeMode,"onUpdate:modelValue":s[0]||(s[0]=o=>i(t).chargeMode=o),options:Object.keys(i(ye)).map(o=>[i(ye)[o].name,o,i(ye)[o].color,i(ye)[o].icon])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),f(N,{title:"Fahrzeug wechseln",icon:"fa-car",infotext:i(Te).vehicle,fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(t).connectedVehicle,"onUpdate:modelValue":s[1]||(s[1]=o=>i(t).connectedVehicle=o),modelModifiers:{number:!0},options:Object.values(i(Y)).filter(o=>o.visible).map(o=>[o.name,o.id])},null,8,["modelValue","options"])]),_:1},8,["infotext"]),f(N,{title:"Sperren",icon:"fa-lock",infotext:i(Te).locked,fullwidth:!0},{default:_(()=>[f(se,{modelValue:i(t).isLocked,"onUpdate:modelValue":s[2]||(s[2]=o=>i(t).isLocked=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),f(N,{title:"Priorität",icon:"fa-star",infotext:i(Te).priority,fullwidth:!0},{default:_(()=>[f(se,{modelValue:i(t).hasPriority,"onUpdate:modelValue":s[3]||(s[3]=o=>i(t).hasPriority=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),f(N,{title:"Zeitplan",icon:"fa-clock",infotext:i(Te).timeplan,fullwidth:!0},{default:_(()=>[f(se,{modelValue:i(t).timedCharging,"onUpdate:modelValue":s[4]||(s[4]=o=>i(t).timedCharging=o)},null,8,["modelValue"])]),_:1},8,["infotext"]),i(de).isBatteryConfigured?(l(),P(N,{key:0,title:"PV-Priorität",icon:"fa-car-battery",infotext:i(Te).pvpriority,fullwidth:!0},{default:_(()=>[f(We,{modelValue:i(de).pvBatteryPriority,"onUpdate:modelValue":s[5]||(s[5]=o=>i(de).pvBatteryPriority=o),options:i(lr)},null,8,["modelValue","options"])]),_:1},8,["infotext"])):w("",!0),i(ne).active?(l(),P(N,{key:1,title:"Strompreisbasiert laden",icon:"fa-money-bill",infotext:i(Te).pricebased,fullwidth:!0},{default:_(()=>[f(se,{modelValue:i(t).etActive,"onUpdate:modelValue":s[6]||(s[6]=o=>i(t).etActive=o)},null,8,["modelValue"])]),_:1},8,["infotext"])):w("",!0)],64))}}),bi=R(yi,[["__scopeId","data-v-e348a34c"]]),_i={class:"providername ms-1"},wi={class:"container"},ki={id:"pricechart",class:"p-0 m-0"},xi={viewBox:"0 0 400 300"},Si=["id","origin","transform"],Mi={key:0,class:"p-3"},$i={key:1,class:"d-flex justify-content-end"},Pi=["disabled"],Xe=400,ba=250,_a=12,Ii=L({__name:"PriceChart",props:{chargepoint:{},globalview:{type:Boolean}},setup(a){const e=a;let t=e.chargepoint?ee(e.chargepoint.etMaxPrice):ee(0);const n=ee(!1),s=ee(e.chargepoint),o=m({get(){return t.value},set(D){t.value=D,n.value=!0}});function h(){s.value&&(O[s.value.id].etMaxPrice=o.value),n.value=!1}const d=ee(!1),u={top:0,bottom:15,left:20,right:5},p=m(()=>{let D=[];return ne.etPriceList.size>0&&ne.etPriceList.forEach((Z,Oe)=>{D.push([Oe,Z])}),D}),c=m(()=>p.value.length>1?(Xe-u.left-u.right)/p.value.length-1:0),k=m(()=>n.value?{background:"var(--color-charging)"}:{background:"var(--color-menu)"}),I=m(()=>{let D=Be(p.value,Z=>Z[0]);return D[1]&&(D[1]=new Date(D[1]),D[1].setTime(D[1].getTime()+36e5)),tt().range([u.left,Xe-u.right]).domain(D)}),z=m(()=>{let D=[0,0];return p.value.length>0?(D=Be(p.value,Z=>Z[1]),D[0]=Math.floor(D[0]-1),D[1]=Math.floor(D[1]+1)):D=[0,0],D}),W=m(()=>Re().range([ba-u.bottom,0]).domain(z.value)),B=m(()=>{const D=He(),Z=[[u.left,W.value(o.value)],[Xe-u.right,W.value(o.value)]];return D(Z)}),A=m(()=>{const D=He(),Z=[[u.left,W.value(g.lowerPriceBound)],[Xe-u.right,W.value(g.lowerPriceBound)]];return D(Z)}),V=m(()=>{const D=He(),Z=[[u.left,W.value(g.upperPriceBound)],[Xe-u.right,W.value(g.upperPriceBound)]];return D(Z)}),J=m(()=>{const D=He(),Z=[[u.left,W.value(0)],[Xe-u.right,W.value(0)]];return D(Z)}),C=m(()=>ht(I.value).ticks(6).tickSize(5).tickFormat(it("%H:%M"))),M=m(()=>vt(W.value).ticks(z.value[1]-z.value[0]).tickSizeInner(-(Xe-u.right-u.left)).tickFormat(D=>D.toString())),E=m(()=>{d.value==!0;const D=ue("g#"+$.value);D.selectAll("*").remove(),D.selectAll("bar").data(p.value).enter().append("g").append("rect").attr("class","bar").attr("x",Ze=>I.value(Ze[0])).attr("y",Ze=>W.value(Ze[1])).attr("width",c.value).attr("height",Ze=>W.value(z.value[0])-W.value(Ze[1])).attr("fill",Ze=>Ze[1]<=o.value?"var(--color-charging)":"var(--color-axis)");const Oe=D.append("g").attr("class","axis").call(C.value);Oe.attr("transform","translate(0,"+(ba-u.bottom)+")"),Oe.selectAll(".tick").attr("font-size",_a).attr("color","var(--color-bg)"),Oe.selectAll(".tick line").attr("stroke","var(--color-fg)").attr("stroke-width","0.5"),Oe.select(".domain").attr("stroke","var(--color-bg");const wt=D.append("g").attr("class","axis").call(M.value);return wt.attr("transform","translate("+u.left+",0)"),wt.selectAll(".tick").attr("font-size",_a).attr("color","var(--color-bg)"),wt.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width","0.5"),wt.select(".domain").attr("stroke","var(--color-bg)"),z.value[0]<0&&D.append("path").attr("d",J.value).attr("stroke","var(--color-fg)"),D.append("path").attr("d",A.value).attr("stroke","green"),D.append("path").attr("d",V.value).attr("stroke","red"),D.append("path").attr("d",B.value).attr("stroke","yellow"),"PriceChart.vue"}),$=m(()=>e.chargepoint?"priceChartCanvas"+e.chargepoint.id:"priceChartCanvasGlobal"),x=m(()=>{let D=[];return ne.etPriceList.forEach(Z=>{D.push(Z)}),D.sort((Z,Oe)=>Z-Oe)});function F(){let D=x.value[0];for(let Z of x.value){if(Z>=o.value)break;D=Z}o.value=D}function Le(){let D=x.value[0];for(let Z of x.value)if(Z>o.value){D=Z;break}else D=Z;o.value=D}return Ve(()=>{d.value=!d.value}),(D,Z)=>(l(),v(U,null,[Z[3]||(Z[3]=r("p",{class:"settingsheader mt-2 ms-1"},"Preisbasiertes Laden:",-1)),r("p",_i,"Anbieter: "+S(i(ne).etProvider),1),Z[4]||(Z[4]=r("hr",null,null,-1)),r("div",wi,[r("figure",ki,[(l(),v("svg",xi,[r("g",{id:$.value,origin:E.value,transform:"translate("+u.top+","+u.right+")"},null,8,Si)]))])]),D.chargepoint!=null?(l(),v("div",Mi,[D.chargepoint.etActive?(l(),P(Se,{key:0,id:"pricechart_local",modelValue:o.value,"onUpdate:modelValue":Z[0]||(Z[0]=Oe=>o.value=Oe),min:Math.floor(x.value[0]-1),max:Math.ceil(x.value[x.value.length-1]+1),step:.1,decimals:1,"show-subrange":!0,"subrange-min":x.value[0],"subrange-max":x.value[x.value.length-1],unit:"ct"},null,8,["modelValue","min","max","subrange-min","subrange-max"])):w("",!0)])):w("",!0),r("div",{class:"d-flex justify-content-between px-3 pb-2 pt-0 mt-0"},[r("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:F},Z[1]||(Z[1]=[r("i",{class:"fa fa-sm fa-arrow-left"},null,-1)])),r("button",{type:"button",class:"btn btn-sm jumpbutton",onClick:Le},Z[2]||(Z[2]=[r("i",{class:"fa fa-sm fa-arrow-right"},null,-1)]))]),D.chargepoint!=null?(l(),v("div",$i,[r("span",{class:"me-3 pt-0",onClick:h},[r("button",{type:"button",class:"btn btn-secondary",style:K(k.value),disabled:!n.value}," Bestätigen ",12,Pi)])])):w("",!0)],64))}}),Ta=R(Ii,[["__scopeId","data-v-8d837517"]]),Ci={class:"status-string"},Bi={style:{color:"red"}},Vi={class:"m-0 mt-4 p-0 grid-col-12 tabarea"},Li={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},Oi=["data-bs-target"],Ai=["data-bs-target"],Ti=["data-bs-target"],Ei=["data-bs-target"],zi=["data-bs-target"],Wi=["data-bs-target"],Di=["data-bs-target"],Gi={id:"settingsPanes",class:"tab-content mx-1 p-1 pb-3"},ji=["id"],Ui=["id"],Fi=["id"],Ni=["id"],Hi=["id"],Ri=["id"],Ji=["id"],Yi=L({__name:"CPChargeConfigPanel",props:{chargepoint:{}},emits:["closeConfig"],setup(a){const t=a.chargepoint,n=m(()=>_e[t.chargeTemplate]),s=m(()=>t.id);return Ve(()=>{}),(o,h)=>(l(),v(U,null,[f(N,{title:"Status",icon:"fa-info-circle",fullwidth:!0,class:"item"},{default:_(()=>[r("span",Ci,S(i(t).stateStr),1)]),_:1}),i(t).faultState!=0?(l(),P(N,{key:0,title:"Fehler",class:"grid-col-12",icon:"fa-triangle-exclamation"},{default:_(()=>[r("span",Bi,S(i(t).faultStr),1)]),_:1})):w("",!0),r("div",Vi,[r("nav",Li,[r("a",{class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+s.value},h[0]||(h[0]=[r("i",{class:"fa-solid fa-charging-station"},null,-1)]),8,Oi),o.chargepoint.chargeMode=="instant_charging"?(l(),v("a",{key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+s.value},h[1]||(h[1]=[r("i",{class:"fa-solid fa-lg fa-bolt"},null,-1)]),8,Ai)):w("",!0),o.chargepoint.chargeMode=="pv_charging"?(l(),v("a",{key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+s.value},h[2]||(h[2]=[r("i",{class:"fa-solid fa-solar-panel me-1"},null,-1)]),8,Ti)):w("",!0),o.chargepoint.chargeMode=="scheduled_charging"?(l(),v("a",{key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+s.value},h[3]||(h[3]=[r("i",{class:"fa-solid fa-bullseye me-1"},null,-1)]),8,Ei)):w("",!0),o.chargepoint.timedCharging?(l(),v("a",{key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+s.value},h[4]||(h[4]=[r("i",{class:"fa-solid fa-clock"},null,-1)]),8,zi)):w("",!0),r("a",{class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#carSettings"+s.value},h[5]||(h[5]=[r("i",{class:"fa-solid fa-rectangle-list"},null,-1)]),8,Wi),i(ne).active&&i(t).etActive?(l(),v("a",{key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceChart"+s.value},h[6]||(h[6]=[r("i",{class:"fa-solid fa-chart-line"},null,-1)]),8,Di)):w("",!0)]),r("div",Gi,[r("div",{id:"chargeSettings"+s.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[f(bi,{chargepoint:o.chargepoint},null,8,["chargepoint"])],8,ji),r("div",{id:"instantSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[f(Ns,{chargepoint:i(t),vehicles:i(Y),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Ui),r("div",{id:"pvSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[f(qs,{chargepoint:i(t),vehicles:i(Y),"charge-templates":i(_e)},null,8,["chargepoint","vehicles","charge-templates"])],8,Fi),r("div",{id:"scheduledSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[n.value!=null?(l(),P(ni,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,Ni),r("div",{id:"timeSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[n.value!=null?(l(),P(pi,{key:0,"charge-template-id":i(t).chargeTemplate},null,8,["charge-template-id"])):w("",!0)],8,Hi),r("div",{id:"carSettings"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"car-tab"},[i(Y)[i(t).connectedVehicle]!=null?(l(),P(vi,{key:0,"vehicle-id":i(t).connectedVehicle},null,8,["vehicle-id"])):w("",!0)],8,Ri),r("div",{id:"priceChart"+s.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[i(Y)[i(t).connectedVehicle]!=null?(l(),P(Ta,{key:0,chargepoint:i(t)},null,8,["chargepoint"])):w("",!0)],8,Ji)])])],64))}}),Yt=R(Yi,[["__scopeId","data-v-1164316d"]]),qi={class:"d-flex justify-content-center align-items-center"},Qi=L({__name:"BatterySymbol",props:{soc:{},color:{}},setup(a){const e=a,t=m(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<62?"fa-battery-half":e.soc<87?"fa-battery-three-quarters":"fa-battery-full"),n=m(()=>({color:e.color??"var(--color-menu)"}));return(s,o)=>(l(),v("span",qi,[r("i",{class:q(["fa me-1",t.value]),style:K(n.value)},null,6),H(" "+S(Math.round(s.soc)+"%"),1)]))}}),Ct=R(Qi,[["__scopeId","data-v-a68c844a"]]),Ge=L({__name:"FormatWattH",props:{wattH:{}},setup(a){const e=a,t=m(()=>ut(e.wattH,g.decimalPlaces));return(n,s)=>(l(),v("span",null,S(t.value),1))}}),Zi={class:"wb-widget p-0 m-0 shadow widgetWidth"},Xi={class:"py-4 px-3 d-flex justify-content-between align-items-center titlerow"},Ki={class:"d-flex align-items-center widgetname p-0 m-0"},el={class:"buttonrea d-flex float-right justify-content-end align-items-center"},tl={class:"grid12 pb-3"},al=L({__name:"WbWidgetFlex",props:{variableWidth:{type:Boolean},fullWidth:{type:Boolean}},setup(a){const e=a,t=m(()=>e.fullWidth?"col-12":e.variableWidth&&g.preferWideBoxes?"col-lg-6":"col-lg-4");return(n,s)=>(l(),v("div",{class:q(["p-2 m-0",t.value])},[r("div",Zi,[r("div",Xi,[r("div",Ki,[pe(n.$slots,"title",{},()=>[s[0]||(s[0]=r("div",{class:"p-0"},"(title goes here)",-1))],!0),pe(n.$slots,"subtitle",{},void 0,!0)]),r("div",el,[pe(n.$slots,"buttons",{},void 0,!0)])]),r("div",tl,[pe(n.$slots,"default",{},void 0,!0)])])],2))}}),je=R(al,[["__scopeId","data-v-1d5bc1d9"]]),rl=L({__name:"WbBadge",props:{color:{},bgcolor:{}},setup(a){const e=a,t=m(()=>({color:e.color??"var(--color-bg)","background-color":e.bgcolor??"var(--color-menu)"}));return(n,s)=>(l(),v("span",{class:"pillWbBadge rounded-pill ms-2 px-2",style:K(t.value)},[pe(n.$slots,"default",{},void 0,!0)],4))}}),$e=R(rl,[["__scopeId","data-v-36112fa3"]]),nl={class:"d-flex justify-content-center align-items-center"},ol={key:0,class:"WbBadge rounded-pill errorWbBadge ms-3"},sl={key:0},il={key:1,class:"row m-0 mt-0 p-0"},ll={class:"col m-0 p-0"},cl={key:0},ul={class:"row"},dl={class:"col"},hl={class:"carTitleLine d-flex justify-content-between align-items-center"},pl={key:0,class:"me-1 fa-solid fa-xs fa-star ps-1"},gl={key:1,class:"me-1 fa-solid fa-xs fa-coins ps-0"},ml={key:2,class:"me-0 fa-solid fa-xs fa-clock ps-1"},vl={class:"grid12"},fl={style:{color:"var(--color-charging)"}},yl={style:{color:"var(--color-charging)"}},bl={style:{color:"var(--color-charging)"}},_l={class:"targetCurrent"},wl={key:5,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},kl={class:"d-flex justify-content-stretch align-items-center"},xl={key:0,class:"fa-solid fa-sm fas fa-edit ms-2"},Sl=["id"],Ml=L({__name:"CPChargePoint",props:{chargepoint:{},fullWidth:{type:Boolean}},setup(a){const e=a,t=ee(e.chargepoint),n=m({get(){return e.chargepoint.chargeMode},set($){O[e.chargepoint.id].chargeMode=$}}),s=m(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),o=m(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),h=m(()=>{const $=e.chargepoint.rangeCharged,x=e.chargepoint.chargedSincePlugged,F=e.chargepoint.dailyYield;return x>0?Math.round($/x*F).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),d=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),u=m(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),p=m(()=>{let $="";return e.chargepoint.isLocked?$="fa-lock":e.chargepoint.isCharging?$=" fa-bolt":e.chargepoint.isPluggedIn&&($="fa-plug"),"fa "+$}),c=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{color:"var(--fg)"};default:return{color:ye[e.chargepoint.chargeMode].color}}}),k=m(()=>e.chargepoint.soc),I=m(()=>({color:e.chargepoint.color})),z=m(()=>e.chargepoint.etMaxPrice>=+M.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"}),W=m(()=>e.chargepoint.soc<20?"var(--color-evu)":e.chargepoint.soc>=80?"var(--color-pv)":"var(--color-battery)"),B=ee(!1),A=ee(!1);function V(){oe("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function J(){oe("setSoc",C.value,e.chargepoint.connectedVehicle),A.value=!1}const C=m({get(){return e.chargepoint.soc},set($){O[e.chargepoint.id].soc=$}}),M=m(()=>{const[$]=ne.etPriceList.values();return(Math.round($*10)/10).toFixed(1)}),E=ee(!1);return($,x)=>(l(),v(U,null,[B.value?w("",!0):(l(),P(_t,{key:0,"variable-width":!0,"full-width":e.fullWidth},{title:_(()=>[r("span",nl,[r("span",{style:K(I.value),onClick:x[0]||(x[0]=F=>B.value=!B.value)},[x[12]||(x[12]=r("span",{class:"fa-solid fa-charging-station"}," ",-1)),H(" "+S(e.chargepoint.name),1)],4),t.value.faultState==2?(l(),v("span",ol,"Fehler")):w("",!0)])]),buttons:_(()=>[r("span",{type:"button",class:"ms-2 ps-1 pt-1",style:K(c.value),onClick:x[1]||(x[1]=F=>B.value=!B.value)},x[13]||(x[13]=[r("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]),4)]),footer:_(()=>[B.value?w("",!0):(l(),v("div",cl,[r("div",ul,[r("div",dl,[r("div",hl,[r("h3",{onClick:x[3]||(x[3]=F=>B.value=!B.value)},[x[14]||(x[14]=r("i",{class:"fa-solid fa-sm fa-car me-2"},null,-1)),H(" "+S($.chargepoint.vehicleName)+" ",1),$.chargepoint.hasPriority?(l(),v("span",pl)):w("",!0),$.chargepoint.etActive?(l(),v("span",gl)):w("",!0),$.chargepoint.timedCharging?(l(),v("span",ml)):w("",!0)]),$.chargepoint.isSocConfigured?(l(),P($e,{key:0,bgcolor:W.value},{default:_(()=>[f(Ct,{soc:k.value??0,color:"var(--color-bg)",class:"me-2"},null,8,["soc"]),$.chargepoint.isSocManual?(l(),v("i",{key:0,class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-bg)"},onClick:x[4]||(x[4]=F=>A.value=!A.value)})):w("",!0),$.chargepoint.isSocManual?w("",!0):(l(),v("i",{key:1,type:"button",class:q(["fa-solid fa-sm",$.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),onClick:V},null,2))]),_:1},8,["bgcolor"])):w("",!0)])])]),r("div",vl,[f(Oa,{id:"chargemode-"+$.chargepoint.name,modelValue:n.value,"onUpdate:modelValue":x[5]||(x[5]=F=>n.value=F),class:"chargemodes mt-3 mb-3",options:Object.keys(i(ye)).map(F=>({text:i(ye)[F].name,value:F,color:i(ye)[F].color,icon:i(ye)[F].icon,active:i(ye)[F].mode==$.chargepoint.chargeMode}))},null,8,["id","modelValue","options"]),e.chargepoint.power>0?(l(),P(X,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left mb-3"},{default:_(()=>[r("span",fl,[f(bt,{watt:e.chargepoint.power},null,8,["watt"])])]),_:1})):w("",!0),e.chargepoint.power>0?(l(),P(X,{key:1,heading:"Strom:",class:"grid-col-3"},{default:_(()=>[r("span",yl,S(o.value),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),P(X,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:_(()=>[r("span",bl,S(e.chargepoint.phasesInUse),1)]),_:1})):w("",!0),e.chargepoint.power>0?(l(),P(X,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:_(()=>[r("span",_l,S(s.value),1)]),_:1})):w("",!0),f(X,{heading:"letzte Ladung:",class:"grid-col-4 grid-left"},{default:_(()=>[f(Ge,{"watt-h":Math.max($.chargepoint.chargedSincePlugged,0)},null,8,["watt-h"])]),_:1}),f(X,{heading:"gel. Reichw.:",class:"grid-col-4"},{default:_(()=>[H(S(h.value),1)]),_:1}),$.chargepoint.isSocConfigured?(l(),P(X,{key:4,heading:"Reichweite:",class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(Y)[e.chargepoint.connectedVehicle]?Math.round(i(Y)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):w("",!0),A.value?(l(),v("div",wl,[x[15]||(x[15]=r("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),r("span",kl,[r("span",null,[f(Se,{id:"manualSoc",modelValue:C.value,"onUpdate:modelValue":x[6]||(x[6]=F=>C.value=F),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),r("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:J})])):w("",!0),x[17]||(x[17]=r("hr",{class:"divider grid-col-12"},null,-1)),i(ne).active?(l(),P(X,{key:6,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:_(()=>[f(se,{modelValue:t.value.etActive,"onUpdate:modelValue":x[7]||(x[7]=F=>t.value.etActive=F)},null,8,["modelValue"])]),_:1})):w("",!0),i(ne).active?(l(),P(X,{key:7,heading:"max. Preis:",class:"grid-col-4"},{default:_(()=>[r("span",{type:"button",onClick:x[8]||(x[8]=F=>E.value=!E.value)},[H(S(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-")+" ",1),e.chargepoint.etActive?(l(),v("i",xl)):w("",!0)])]),_:1})):w("",!0),i(ne).active?(l(),P(X,{key:8,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:_(()=>[r("span",{style:K(z.value)},S(M.value)+" ct ",5)]),_:1})):w("",!0),E.value?(l(),v("div",{key:9,id:"priceChartInline"+e.chargepoint.id,class:"d-flex flex-column rounded priceEditor grid-col-12"},[i(Y)[e.chargepoint.connectedVehicle]!=null?(l(),P(Ta,{key:0,chargepoint:e.chargepoint},null,8,["chargepoint"])):w("",!0),r("span",{class:"d-flex ms-2 my-4 pe-3 pt-1 d-flex align-self-end",style:K(c.value),onClick:x[9]||(x[9]=F=>E.value=!1)},x[16]||(x[16]=[r("span",{type:"button",class:"d-flex fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)],8,Sl)):w("",!0)])]))]),default:_(()=>[B.value?w("",!0):(l(),v("div",sl,[r("div",{class:"grid12",onClick:x[2]||(x[2]=F=>B.value=!B.value)},[f(X,{heading:"Status:",class:"grid-col-4 grid-left"},{default:_(()=>[r("span",{style:K({color:u.value})},[r("i",{class:q(p.value)},null,2),H(" "+S(d.value),1)],4)]),_:1}),f(X,{heading:"Geladen:",class:"grid-col-4 grid-left"},{default:_(()=>[f(Ge,{"watt-h":$.chargepoint.dailyYield},null,8,["watt-h"])]),_:1})])])),B.value?(l(),v("div",il,[r("div",ll,[$.chargepoint!=null?(l(),P(Yt,{key:0,chargepoint:$.chargepoint},null,8,["chargepoint"])):w("",!0)])])):w("",!0)]),_:1},8,["full-width"])),B.value?(l(),P(je,{key:1,"full-width":e.fullWidth},{title:_(()=>[r("span",{style:K(I.value),onClick:x[10]||(x[10]=F=>B.value=!B.value)},[x[18]||(x[18]=r("span",{class:"fas fa-gear"}," ",-1)),H(" Einstellungen "+S(e.chargepoint.name),1)],4)]),buttons:_(()=>[r("span",{class:"ms-2 pt-1",style:K(c.value),onClick:x[11]||(x[11]=F=>B.value=!B.value)},x[19]||(x[19]=[r("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]),4)]),default:_(()=>[$.chargepoint!=null?(l(),P(Yt,{key:0,chargepoint:$.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["full-width"])):w("",!0)],64))}}),$l=R(Ml,[["__scopeId","data-v-3a733de3"]]),Pl=["id"],Il={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Cl={class:"modal-content"},Bl={class:"modal-header"},Vl={class:"modal-title"},Ll={class:"modal-body",style:{"background-color":"var(--color-bg)"}},Ol=L({__name:"ModalComponent",props:{modalId:{}},setup(a){const e=a;return Ve(()=>{}),(t,n)=>(l(),v("div",{id:e.modalId,class:"modal fade"},[r("div",Il,[r("div",Cl,[r("div",Bl,[r("h3",Vl,[pe(t.$slots,"title",{},void 0,!0)]),n[0]||(n[0]=r("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[r("i",{class:"fa-solid fa-lg fa-rectangle-xmark m-0 p-0"})],-1))]),r("div",Ll,[pe(t.$slots,"default",{},void 0,!0),n[1]||(n[1]=r("button",{class:"btn btn-secondary float-end mt-3 ms-1","data-bs-dismiss":"modal"}," Schließen ",-1))])])])],8,Pl))}}),Ea=R(Ol,[["__scopeId","data-v-eaefae30"]]),Al={class:"d-flex align-items-center"},Tl={class:"cpname"},El={class:"d-flex float-right justify-content-end align-items-center"},zl=["data-bs-target"],Wl=["data-bs-target"],Dl={class:"subgrid"},Gl={key:0,class:"d-flex justify-content-center align-items-center vehiclestatus"},jl={class:"d-flex flex-column align-items-center px-0"},Ul={class:"d-flex justify-content-center flex-wrap"},Fl={class:"d-flex align-items-center"},Nl={class:"badge phasesInUse rounded-pill"},Hl={class:"d-flex flex-wrap justify-content-center chargeinfo"},Rl={class:"me-1"},Jl={key:0,class:"subgrid socEditRow m-0 p-0"},Yl={class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12"},ql={class:"d-flex justify-content-stretch align-items-center"},Ql=L({__name:"CpsListItem2",props:{chargepoint:{}},setup(a){const e=a,t=ee(!1),n=m(()=>ye[e.chargepoint.chargeMode].icon),s=m(()=>{let V="";return e.chargepoint.isLocked?V="fa-lock":e.chargepoint.isCharging?V=" fa-bolt":e.chargepoint.isPluggedIn&&(V="fa-plug"),"fa "+V}),o=m(()=>{let V="var(--color-axis)";return e.chargepoint.isLocked?V="var(--color-evu)":e.chargepoint.isCharging?V="var(--color-charging)":e.chargepoint.isPluggedIn&&(V="var(--color-battery)"),{color:V,border:`0.5px solid ${V} `}}),h=m(()=>{switch(e.chargepoint.chargeMode){case"stop":return{"background-color":"var(--fg)"};default:return{"background-color":ye[e.chargepoint.chargeMode].color}}}),d=m(()=>Me(e.chargepoint.power,g.decimalPlaces)),u=m(()=>e.chargepoint.current+" A"),p=m(()=>e.chargepoint.phasesInUse),c=m(()=>e.chargepoint.dailyYield>0?ut(e.chargepoint.dailyYield,g.decimalPlaces):"0 Wh"),k=m(()=>"("+Math.round(e.chargepoint.rangeCharged).toString()+" "+e.chargepoint.rangeUnit+")"),I=m(()=>ye[e.chargepoint.chargeMode].name);function z(){oe("socUpdate",1,e.chargepoint.connectedVehicle),O[e.chargepoint.id].waitingForSoc=!0}function W(){oe("setSoc",B.value,e.chargepoint.connectedVehicle),t.value=!1}const B=m({get(){return e.chargepoint.soc},set(V){O[e.chargepoint.id].soc=V}}),A=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei");return(V,J)=>(l(),v(U,null,[f(at,{titlecolor:V.chargepoint.color,fullwidth:!0,small:!0},{title:_(()=>[r("div",Al,[r("span",Tl,S(V.chargepoint.name),1),r("span",{class:"badge rounded-pill statusbadge mx-2",style:K(o.value)},[r("i",{class:q([s.value,"me-1"])},null,2),H(" "+S(A.value),1)],4)])]),buttons:_(()=>[r("div",El,[r("span",{class:"badge rounded-pill modebadge mx-2",type:"button",style:K(h.value),"data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},[r("i",{class:q(["fa me-1",n.value])},null,2),H(" "+S(I.value),1)],12,zl),r("span",{class:"fa-solid ms-2 fa-lg fa-edit ps-1",type:"button","data-bs-toggle":"modal","data-bs-target":"#cpsconfig-"+V.chargepoint.id},null,8,Wl)])]),default:_(()=>[r("div",Dl,[f(X,{heading:V.chargepoint.vehicleName,small:!0,class:"grid-left grid-col-4"},{default:_(()=>[V.chargepoint.isSocConfigured?(l(),v("span",Gl,[V.chargepoint.soc?(l(),P(Ct,{key:0,class:"me-1",soc:V.chargepoint.soc},null,8,["soc"])):w("",!0),V.chargepoint.isSocConfigured&&V.chargepoint.isSocManual?(l(),v("i",{key:1,type:"button",class:"fa-solid fa-sm fas fa-edit",style:{color:"var(--color-menu)"},onClick:J[0]||(J[0]=C=>t.value=!t.value)})):w("",!0),V.chargepoint.isSocConfigured&&!V.chargepoint.isSocManual?(l(),v("i",{key:2,type:"button",class:q(["fa-solid fa-sm me-2",V.chargepoint.waitingForSoc?"fa-spinner fa-spin":"fa-sync"]),style:{color:"var(--color-menu)"},onClick:z},null,2)):w("",!0)])):w("",!0)]),_:1},8,["heading"]),f(X,{heading:"Parameter:",small:!0,class:"grid-col-4"},{default:_(()=>[r("div",jl,[r("span",Ul,[r("span",null,S(d.value),1),r("span",Fl,[r("span",Nl,S(p.value),1),r("span",null,S(u.value),1)])])])]),_:1}),f(X,{heading:"Geladen:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[r("div",Hl,[r("span",Rl,S(c.value),1),r("span",null,S(k.value),1)])]),_:1})]),t.value?(l(),v("div",Jl,[r("div",Yl,[J[2]||(J[2]=r("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),r("span",ql,[r("span",null,[f(Se,{id:"manualSoc",modelValue:B.value,"onUpdate:modelValue":J[1]||(J[1]=C=>B.value=C),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),r("span",{type:"button",class:"fa-solid d-flex fa-lg me-2 mb-3 align-self-end fa-circle-check",onClick:W})])])):w("",!0)]),_:1},8,["titlecolor"]),(l(),P(Xa,{to:"body"},[(l(),P(Ea,{key:V.chargepoint.id,"modal-id":"cpsconfig-"+V.chargepoint.id},{title:_(()=>[H(" Konfiguration: "+S(V.chargepoint.name),1)]),default:_(()=>[V.chargepoint!=null?(l(),P(Yt,{key:0,chargepoint:V.chargepoint},null,8,["chargepoint"])):w("",!0)]),_:1},8,["modal-id"]))]))],64))}}),Zl=R(Ql,[["__scopeId","data-v-25e4aa5d"]]),Xl=L({__name:"CpSimpleList2",setup(a){const e=m(()=>Object.values(O));return(t,n)=>(l(),P(je,{"variable-width":!0},{title:_(()=>n[0]||(n[0]=[r("span",{class:"fa-solid fa-charging-station"}," ",-1),H(" Ladepunkte ")])),buttons:_(()=>[i(ne).active?(l(),P($e,{key:0,bgcolor:"var(--color-menu)"},{default:_(()=>[H("Strompreis: "+S(i(ne).etCurrentPriceString),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),v(U,null,te(e.value,(s,o)=>(l(),v("div",{key:o,class:"subgrid pb-2"},[f(Zl,{chargepoint:s},null,8,["chargepoint"])]))),128))]),_:1}))}}),Kl=R(Xl,[["__scopeId","data-v-b8c6b557"]]),Tt=L({__name:"ChargePointList",props:{id:{},compact:{type:Boolean}},setup(a){let e,t;const n=a,s=m(()=>{let p=Object.values(O);return u(),p}),o=m(()=>h.value+" "+d.value),h=m(()=>{switch(Object.values(O).length){case 0:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 1:return g.preferWideBoxes?"col-lg-6":"col-lg-4";case 2:return g.preferWideBoxes?"col-lg-12":"col-lg-8 ";default:return"col-lg-12"}}),d=m(()=>"swiper-chargepoints-"+n.id);function u(){let p=document.querySelector("."+d.value);if(p&&(t=p,e=t.swiper),e){let c="1";if(De.value)switch(Object.values(O).length){case 0:case 1:c="1";break;case 2:c="2";break;default:c="3"}t.setAttribute("slides-per-view",c),e.update()}}return Ve(()=>{let p=document.querySelector("."+d.value);p&&(t=p,e=t.swiper),window.addEventListener("resize",u),window.document.addEventListener("visibilitychange",u)}),(p,c)=>(l(),v(U,null,[n.compact?w("",!0):(l(),v("swiper-container",{key:0,"space-between":0,"slides-per-view":1,pagination:{clickable:!0},class:q(["cplist m-0 p-0 d-flex align-items-stretch",o.value])},[(l(!0),v(U,null,te(s.value,k=>(l(),v("swiper-slide",{key:k.id},[r("div",{class:q([i(De)?"mb-0":"mb-5","d-flex align-items-stretch flex-fill"])},[f($l,{chargepoint:k,"full-width":!0},null,8,["chargepoint"])],2)]))),128))],2)),n.compact?(l(),P(Kl,{key:1})):w("",!0)],64))}}),ec={class:"container-fluid p-0 m-0"},tc={class:"row p-0 m-0"},ac={class:"d-grid gap-2"},rc=["onClick"],nc={class:"col-md-4 p-1"},oc={class:"d-grid gap-2"},sc={key:0},ic={class:"row justify-content-center m-1 p-0"},lc={class:"col-lg-4 p-1 m-0"},cc={class:"d-grid gap-2"},uc={class:"col-lg-4 p-1 m-0"},dc={class:"d-grid gap-2"},hc={class:"col-lg-4 p-1 m-0"},pc={class:"d-grid gap-2"},gc=L({__name:"BBSelect",props:{cpId:{}},setup(a){const e=a,t=[{mode:"instant_charging",name:"Sofort",color:"var(--color-charging)"},{mode:"pv_charging",name:"PV",color:"var(--color-pv)"},{mode:"scheduled_charging",name:"Zielladen",color:"var(--color-battery)"},{mode:"standby",name:"Standby",color:"var(--color-axis)"},{mode:"stop",name:"Stop",color:"var(--color-axis)"}],n=m(()=>O[e.cpId]);function s(p){return p==n.value.chargeMode?"btn btn-success buttonTextSize":"btn btn-secondary buttonTextSize"}function o(p){return de.pvBatteryPriority==p?"btn-success":"btn-secondary"}function h(p){n.value.chargeMode=p}function d(p){n.value.isLocked=p}function u(p){de.pvBatteryPriority=p}return(p,c)=>(l(),v("div",ec,[r("div",tc,[(l(),v(U,null,te(t,(k,I)=>r("div",{key:I,class:"col-md-4 p-1"},[r("div",ac,[r("button",{type:"button",class:q(s(k.mode)),style:{},onClick:z=>h(k.mode)},S(k.name),11,rc)])])),64)),r("div",nc,[r("div",oc,[n.value.isLocked?(l(),v("button",{key:0,type:"button",class:"btn btn-outline-success buttonTextSize","data-bs-dismiss":"modal",onClick:c[0]||(c[0]=k=>d(!1))}," Entsperren ")):w("",!0),n.value.isLocked?w("",!0):(l(),v("button",{key:1,type:"button",class:"btn btn-outline-danger buttonTextSize","data-bs-dismiss":"modal",onClick:c[1]||(c[1]=k=>d(!0))}," Sperren "))])])]),i(de).isBatteryConfigured?(l(),v("div",sc,[c[8]||(c[8]=r("hr",null,null,-1)),c[9]||(c[9]=r("div",{class:"row"},[r("div",{class:"col text-center"},"Vorrang im Lademodus PV-Laden:")],-1)),r("div",ic,[r("div",lc,[r("div",cc,[r("button",{id:"evPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("ev_mode")]),"data-dismiss":"modal",priority:"1",onClick:c[2]||(c[2]=k=>u("ev_mode"))},c[5]||(c[5]=[H(" EV "),r("span",{class:"fas fa-car ms-2"}," ",-1)]),2)])]),r("div",uc,[r("div",dc,[r("button",{id:"batteryPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[3]||(c[3]=k=>u("bat_mode"))},c[6]||(c[6]=[H(" Speicher "),r("span",{class:"fas fa-car-battery ms-2"}," ",-1)]),2)])]),r("div",hc,[r("div",pc,[r("button",{id:"minsocPriorityBtn",type:"button",class:q(["priorityModeBtn btn btn-secondary buttonTextSize",o("min_soc_bat_mode")]),"data-dismiss":"modal",priority:"0",onClick:c[4]||(c[4]=k=>u("min_soc_bat_mode"))},c[7]||(c[7]=[H(" MinSoc "),r("span",{class:"fas fa-battery-half"}," ",-1)]),2)])])])])):w("",!0)]))}}),mc={class:"col-lg-4 p-0 m-0 mt-1"},vc={class:"d-grid gap-2"},fc=["data-bs-target"],yc={class:"m-0 p-0 d-flex justify-content-between align-items-center"},bc={class:"mx-1 badge rounded-pill smallTextSize plugIndicator"},_c={key:0,class:"ms-2"},wc={class:"m-0 p-0"},kc={key:0,class:"ps-1"},xc=L({__name:"BbChargeButton",props:{chargepoint:{}},setup(a){const e=a,t="chargeSelectModal"+e.chargepoint.id,n=m(()=>ye[e.chargepoint.chargeMode].name),s=m(()=>{let c={background:"var(--color-menu)"};return e.chargepoint.isLocked?c.background="var(--color-evu)":e.chargepoint.isCharging?c.background="var(--color-charging)":e.chargepoint.isPluggedIn&&(c.background="var(--color-battery)"),c}),o=m(()=>{{let c={background:ye[e.chargepoint.chargeMode].color,color:"white"};switch(e.chargepoint.chargeMode){case fe.instant_charging:e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break;case fe.standby:case fe.stop:c.background="darkgrey",c.color="black";break;case fe.scheduled_charging:e.chargepoint.isPluggedIn&&!e.chargepoint.isCharging&&!e.chargepoint.isLocked&&(c=p(c));break}return c}}),h=m(()=>ye[e.chargepoint.chargeMode].icon),d=m(()=>{switch(de.pvBatteryPriority){case"ev_mode":return"fa-car";case"bat_mode":return"fa-car-battery";case"min_soc_bat_mode":return"fa-battery-half";default:return console.log("default"),""}}),u=m(()=>{let c="fa-ellipsis";return e.chargepoint.isLocked?c="fa-lock":e.chargepoint.isCharging?c=" fa-bolt":e.chargepoint.isPluggedIn&&(c="fa-plug"),"fa "+c});function p(c){let k=c.color;return c.color=c.background,c.background=k,c}return(c,k)=>(l(),v("div",mc,[r("div",vc,[r("button",{type:"button",class:"btn mx-1 mb-0 p-1 mediumTextSize chargeButton shadow",style:K(s.value),"data-bs-toggle":"modal","data-bs-target":"#"+t},[r("div",yc,[r("span",bc,[r("i",{class:q(u.value)},null,2),c.chargepoint.isCharging?(l(),v("span",_c,S(i(Me)(c.chargepoint.power)),1)):w("",!0)]),r("span",wc,S(c.chargepoint.name),1),r("span",{class:"mx-2 m-0 badge rounded-pill smallTextSize modeIndicator",style:K(o.value)},[r("i",{class:q(["fa me-1",h.value])},null,2),H(" "+S(n.value)+" ",1),c.chargepoint.chargeMode==i(fe).pv_charging&&i(de).isBatteryConfigured?(l(),v("span",kc,[k[0]||(k[0]=H(" ( ")),r("i",{class:q(["fa m-0",d.value])},null,2),k[1]||(k[1]=H(") "))])):w("",!0)],4)])],12,fc)]),f(Ea,{"modal-id":t},{title:_(()=>[H(" Lademodus für "+S(c.chargepoint.vehicleName),1)]),default:_(()=>[f(gc,{"cp-id":c.chargepoint.id},null,8,["cp-id"])]),_:1})]))}}),Sc=R(xc,[["__scopeId","data-v-31df6764"]]),Mc={class:"row p-0 mt-0 mb-1 m-0"},$c={class:"col p-0 m-0"},Pc={class:"container-fluid p-0 m-0"},Ic={class:"row p-0 m-0 d-flex justify-content-center align-items-center"},Cc={key:0,class:"col time-display"},Bc=L({__name:"ButtonBar",setup(a){return(e,t)=>(l(),v("div",Mc,[r("div",$c,[r("div",Pc,[r("div",Ic,[i(g).showClock=="buttonbar"?(l(),v("span",Cc,S(i(La)(i(Jt))),1)):w("",!0),(l(!0),v(U,null,te(i(O),(n,s)=>(l(),P(Sc,{key:s,chargepoint:n,"charge-point-count":Object.values(i(O)).length},null,8,["chargepoint","charge-point-count"]))),128))])])])]))}}),Vc=R(Bc,[["__scopeId","data-v-791e4be0"]]),Lc={class:"battery-title"},Oc={class:"subgrid pt-1"},Ac=L({__name:"BLBattery",props:{bat:{}},setup(a){const e=a,t=m(()=>e.bat.power<0?`Liefert (${Me(-e.bat.power)})`:e.bat.power>0?`Lädt (${Me(e.bat.power)})`:"Bereit"),n=m(()=>e.bat.power<0?"var(--color-pv)":e.bat.power>0?"var(--color-battery)":"var(--color-menu)");return(s,o)=>(l(),P(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[r("span",Lc,S(s.bat.name),1)]),buttons:_(()=>[f($e,{bgcolor:n.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[r("div",Oc,[f(X,{heading:"Ladestand:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[f(Ct,{soc:e.bat.soc},null,8,["soc"])]),_:1}),f(X,{heading:"Geladen:",small:!0,class:"grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.bat.dailyYieldImport},null,8,["watt-h"])]),_:1}),f(X,{heading:"Geliefert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.bat.dailyYieldExport},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Tc=R(Ac,[["__scopeId","data-v-f7f825f7"]]),Ec={class:"px-3 subgrid grid-12"},zc=L({__name:"BatteryList",setup(a){const e=m(()=>Q.batOut.power>0?`Liefert (${Me(Q.batOut.power)})`:j.batIn.power>0?`Lädt (${Me(j.batIn.power)})`:"Bereit:"),t=m(()=>Q.batOut.power>0?"var(--color-pv)":j.batIn.power>0?"var(--color-battery)":"var(--color-menu)"),n=m(()=>{let s=0;return he.value.forEach(o=>{s+=o.dailyYieldImport}),s});return(s,o)=>i(de).isBatteryConfigured?(l(),P(je,{key:0,"variable-width":!0,"full-width":!1},{title:_(()=>o[0]||(o[0]=[r("span",{class:"fas fa-car-battery me-2",style:{color:"var(--color-battery)"}}," ",-1),r("span",null,"Speicher",-1)])),buttons:_(()=>[f($e,{bgcolor:t.value},{default:_(()=>[H(S(e.value),1)]),_:1},8,["bgcolor"])]),default:_(()=>[r("div",Ec,[f(X,{heading:"Ladestand:",class:"grid-left grid-col-4"},{default:_(()=>[f(Ct,{color:"var(--color-battery)",soc:i(de).batterySoc},null,8,["soc"])]),_:1}),f(X,{heading:"Geladen:",class:"grid-col-4"},{default:_(()=>[r("span",null,S(i(ut)(n.value)),1)]),_:1}),f(X,{heading:"Geliefert",class:"grid-right grid-col-4"},{default:_(()=>[r("span",null,S(i(ut)(i(Q).batOut.energy)),1)]),_:1})]),(l(!0),v(U,null,te(i(he),([h,d])=>(l(),P(Tc,{key:h,bat:d},null,8,["bat"]))),128))]),_:1})):w("",!0)}}),Et=R(zc,[["__scopeId","data-v-cc4da23c"]]),Wc={class:"devicename"},Dc={class:"subgrid"},Gc=L({__name:"SHListItem",props:{device:{}},setup(a){const e=a,t=m(()=>e.device.status=="on"?"fa-toggle-on fa-xl":e.device.status=="waiting"?"fa-spinner fa-spin":"fa-toggle-off fa-xl"),n=m(()=>{let d="var(--color-switchRed)";switch(e.device.status){case"on":d="var(--color-switchGreen)";break;case"detection":d="var(--color-switchBlue)";break;case"timeout":d="var(--color-switchWhite)";break;case"waiting":d="var(--color-menu)";break;default:d="var(--color-switchRed)"}return{color:d}});function s(){e.device.isAutomatic||(e.device.status=="on"?oe("shSwitchOn",0,e.device.id):oe("shSwitchOn",1,e.device.id),ae.get(e.device.id).status="waiting")}function o(){e.device.isAutomatic?oe("shSetManual",1,e.device.id):oe("shSetManual",0,e.device.id)}const h=m(()=>e.device.isAutomatic?"Auto":"Man");return(d,u)=>(l(),P(at,{titlecolor:d.device.color,fullwidth:!0},{title:_(()=>[r("span",Wc,S(d.device.name),1)]),buttons:_(()=>[(l(!0),v(U,null,te(d.device.temp,(p,c)=>(l(),v("span",{key:c},[p<300?(l(),P($e,{key:0,bgcolor:"var(--color-battery)"},{default:_(()=>[r("span",null,S(i(Fr)(p)),1)]),_:2},1024)):w("",!0)]))),128)),e.device.canSwitch?(l(),v("span",{key:0,class:q([t.value,"fa-solid statusbutton mr-2 ms-2"]),style:K(n.value),onClick:s},null,6)):w("",!0),e.device.canSwitch?(l(),P($e,{key:1,type:"button",onClick:o},{default:_(()=>[H(S(h.value),1)]),_:1})):w("",!0)]),default:_(()=>[r("div",Dc,[f(X,{heading:"Leistung:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[f(bt,{watt:d.device.power},null,8,["watt"])]),_:1}),f(X,{heading:"Energie:",small:!0,class:"grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":d.device.energy},null,8,["watt-h"])]),_:1}),f(X,{heading:"Laufzeit:",small:!0,class:"grid-col-4 grid-right"},{default:_(()=>[H(S(i(jr)(d.device.runningTime)),1)]),_:1})])]),_:1},8,["titlecolor"]))}}),jc=R(Gc,[["__scopeId","data-v-20651ac6"]]),Uc={class:"sh-title py-4"},Fc=["id","onUpdate:modelValue","value"],Nc=["for"],Hc=3,Rc=L({__name:"SmartHomeList",setup(a){const e=m(()=>De.value?t.value.reduce((h,d)=>{const u=h;let p=h[h.length-1];return p.length>=Hc?h.push([d]):p.push(d),u},[[]]):[t.value]),t=m(()=>[...ae.values()].filter(h=>h.configured));function n(h){return"Geräte"+(De.value&&e.value.length>1?"("+(h+1)+")":"")}function s(){o.value=!o.value}const o=ee(!1);return(h,d)=>(l(),v(U,null,[(l(!0),v(U,null,te(e.value,(u,p)=>(l(),P(je,{key:p,"variable-width":!0},{title:_(()=>[r("span",{onClick:s},[d[0]||(d[0]=r("span",{class:"fas fa-plug me-2",style:{color:"var(--color-devices)"}}," ",-1)),r("span",Uc,S(n(p)),1)])]),buttons:_(()=>[r("span",{class:"ms-2 pt-1",onClick:s},d[1]||(d[1]=[r("span",{class:"fa-solid fa-lg ps-1 fa-ellipsis-vertical"},null,-1)]))]),default:_(()=>[(l(!0),v(U,null,te(u,c=>(l(),P(jc,{key:c.id,device:c,class:"subgrid pb-2"},null,8,["device"]))),128))]),_:2},1024))),128)),o.value?(l(),P(je,{key:0},{title:_(()=>[r("span",{class:"smarthome",onClick:s},d[2]||(d[2]=[r("span",{class:"fas fa-gear"}," ",-1),H(" Einstellungen")]))]),buttons:_(()=>[r("span",{class:"ms-2 pt-1",onClick:s},d[3]||(d[3]=[r("span",{class:"fa-solid fa-lg ps-1 fa-circle-check"},null,-1)]))]),default:_(()=>[f(N,{title:"Im Energie-Graph anzeigen:",icon:"fa-chart-column",fullwidth:!0},{default:_(()=>[(l(!0),v(U,null,te(t.value,(u,p)=>(l(),v("div",{key:p},[ft(r("input",{id:"check"+p,"onUpdate:modelValue":c=>u.showInGraph=c,class:"form-check-input",type:"checkbox",value:u},null,8,Fc),[[Ma,u.showInGraph]]),r("label",{class:"form-check-label px-2",for:"check"+p},S(u.name),9,Nc)]))),128))]),_:1}),r("div",{class:"row p-0 m-0",onClick:s},d[4]||(d[4]=[r("div",{class:"col-12 mb-3 pe-3 mt-0"},[r("button",{class:"btn btn-sm btn-secondary float-end"},"Schließen")],-1)]))]),_:1})):w("",!0)],64))}}),zt=R(Rc,[["__scopeId","data-v-5b5cf6b3"]]),Jc={class:"countername"},Yc={class:"subgrid pt-1"},qc=L({__name:"ClCounter",props:{counter:{}},setup(a){const e=a,t=m(()=>e.counter.power>0?"Bezug":"Export"),n=m(()=>e.counter.power>0?"var(--color-evu)":"var(--color-pv)");return(s,o)=>(l(),P(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[r("span",Jc,S(s.counter.name),1)]),buttons:_(()=>[e.counter.power!=0?(l(),P($e,{key:0,bgcolor:n.value},{default:_(()=>[H(S(t.value),1)]),_:1},8,["bgcolor"])):w("",!0),f($e,{color:"var(--color-bg)"},{default:_(()=>[H(" ID: "+S(e.counter.id),1)]),_:1})]),default:_(()=>[r("div",Yc,[f(X,{heading:"Leistung:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[f(bt,{watt:Math.abs(e.counter.power)},null,8,["watt"])]),_:1}),f(X,{heading:"Bezogen:",small:!0,class:"grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.counter.energy_imported},null,8,["watt-h"])]),_:1}),f(X,{heading:"Exportiert:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.counter.energy_exported},null,8,["watt-h"])]),_:1})])]),_:1}))}}),Qc=R(qc,[["__scopeId","data-v-01dd8c4d"]]);class Zc{constructor(e){b(this,"id");b(this,"name","Zähler");b(this,"power",0);b(this,"energy_imported",0);b(this,"energy_exported",0);b(this,"grid",!1);b(this,"type","counter");b(this,"color","var(--color-evu)");b(this,"energyPv",0);b(this,"energyBat",0);b(this,"pvPercentage",0);b(this,"icon","");this.id=e}}const ke=le({});function Xc(a,e){if(a in ke)console.info("Duplicate counter message: "+a);else switch(ke[a]=new Zc(a),ke[a].type=e,e){case"counter":ke[a].color="var(--color-evu)";break;case"inverter":ke[a].color="var(--color-pv)";break;case"cp":ke[a].color="var(--color-charging)";break;case"bat":ke[a].color="var(--color-bat)";break}}const Kc=L({__name:"CounterList",setup(a){return(e,t)=>(l(),P(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[r("span",{class:"fas fa-bolt me-2",style:{color:"var(--color-evu)"}}," ",-1),r("span",null,"Zähler",-1)])),default:_(()=>[(l(!0),v(U,null,te(i(ke),(n,s)=>(l(),v("div",{key:s,class:"subgrid pb-2"},[f(Qc,{counter:n},null,8,["counter"])]))),128))]),_:1}))}}),Wt=R(Kc,[["__scopeId","data-v-5f059284"]]),eu={class:"vehiclename"},tu={class:"subgrid"},au=L({__name:"VlVehicle",props:{vehicle:{}},setup(a){const e=a,t=m(()=>{let s="Unterwegs",o=e.vehicle.chargepoint;return o!=null&&(o.isCharging?s="Lädt ("+o.name+")":o.isPluggedIn&&(s="Bereit ("+o.name+")")),s}),n=m(()=>{let s=e.vehicle.chargepoint;return s!=null?s.isLocked?"var(--color-evu)":s.isCharging?"var(--color-charging)":s.isPluggedIn?"var(--color-battery)":"var(--color-axis)":"var(--color-axis)"});return(s,o)=>(l(),P(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[r("span",eu,S(e.vehicle.name),1)]),default:_(()=>[r("div",tu,[f(X,{heading:"Status:",small:!0,class:"grid-left grid-col-4"},{default:_(()=>[r("span",{style:K({color:n.value}),class:"d-flex justify-content-center align-items-center status-string"},S(t.value),5)]),_:1}),f(X,{heading:"Ladestand:",small:!0,class:"grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.soc))+" % ",1)]),_:1}),f(X,{heading:"Reichweite:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[H(S(Math.round(e.vehicle.range))+" km ",1)]),_:1})])]),_:1}))}}),ru=R(au,[["__scopeId","data-v-9e2cb63e"]]),nu=L({__name:"VehicleList",setup(a){return(e,t)=>(l(),P(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[r("span",{class:"fas fa-car me-2",style:{color:"var(--color-charging)"}}," ",-1),r("span",null,"Fahrzeuge",-1)])),default:_(()=>[(l(!0),v(U,null,te(Object.values(i(Y)).filter(n=>n.visible),(n,s)=>(l(),v("div",{key:s,class:"subgrid"},[f(ru,{vehicle:n},null,8,["vehicle"])]))),128))]),_:1}))}}),Dt=R(nu,[["__scopeId","data-v-23b437ea"]]),ou={class:"grapharea"},su={id:"pricechart",class:"p-1 m-0 pricefigure"},iu={viewBox:"0 0 400 280"},lu=["id","origin","transform"],rt=380,Gt=250,jt=12,cu=L({__name:"GlobalPriceChart",props:{id:{}},setup(a){const e=a,t=ee(!1),n={top:0,bottom:15,left:20,right:0},s=m(()=>{let A=[];return ne.etPriceList.size>0&&ne.etPriceList.forEach((V,J)=>{A.push([J,V])}),A}),o=m(()=>s.value.length>1?(rt-n.left-n.right)/s.value.length:0),h=m(()=>{let A=Be(s.value,V=>V[0]);return A[1]&&(A[1]=new Date(A[1]),A[1].setTime(A[1].getTime()+36e5)),tt().range([n.left,rt-n.right]).domain(A)}),d=m(()=>{let A=[0,0];return s.value.length>0&&(A=Be(s.value,V=>V[1]),A[0]=Math.floor(A[0])-1,A[1]=Math.floor(A[1])+1),A}),u=m(()=>Re().range([Gt-n.bottom,0]).domain(d.value)),p=m(()=>{const A=He(),V=[[n.left,u.value(g.lowerPriceBound)],[rt-n.right,u.value(g.lowerPriceBound)]];return A(V)}),c=m(()=>{const A=He(),V=[[n.left,u.value(g.upperPriceBound)],[rt-n.right,u.value(g.upperPriceBound)]];return A(V)}),k=m(()=>{const A=He(),V=[[n.left,u.value(0)],[rt-n.right,u.value(0)]];return A(V)}),I=m(()=>ht(h.value).ticks(s.value.length).tickSize(5).tickSizeInner(-Gt).tickFormat(A=>A.getHours()%6==0?it("%H:%M")(A):"")),z=m(()=>vt(u.value).ticks(d.value[1]-d.value[0]).tickSize(0).tickSizeInner(-(rt-n.right-n.left)).tickFormat(A=>A.toString())),W=m(()=>{t.value==!0;const A=ue("g#"+B.value);A.selectAll("*").remove(),A.selectAll("bar").data(s.value).enter().append("g").append("rect").attr("class","bar").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("width",o.value).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("fill","var(--color-charging)");const J=A.append("g").attr("class","axis").call(I.value);J.attr("transform","translate(0,"+(Gt-n.bottom)+")"),J.selectAll(".tick").attr("font-size",jt).attr("color","var(--color-bg)"),J.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x.getHours()%6==0?"2":"0.5"),J.select(".domain").attr("stroke","var(--color-bg");const C=A.append("g").attr("class","axis").call(z.value);C.attr("transform","translate("+n.left+",0)"),C.selectAll(".tick").attr("font-size",jt).attr("color","var(--color-bg)"),C.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",x=>x%5==0?"2":"0.5"),C.select(".domain").attr("stroke","var(--color-bg)"),d.value[0]<0&&A.append("path").attr("d",k.value).attr("stroke","var(--color-fg)"),A.append("path").attr("d",p.value).attr("stroke","green"),A.append("path").attr("d",c.value).attr("stroke","red");const M=A.selectAll("ttip").data(s.value).enter().append("g").attr("class","ttarea");M.append("rect").attr("x",x=>h.value(x[0])).attr("y",x=>u.value(x[1])).attr("height",x=>u.value(d.value[0])-u.value(x[1])).attr("class","ttrect").attr("width",o.value).attr("opacity","1%").attr("fill","var(--color-charging)");const E=M.append("g").attr("class","ttmessage").attr("transform",x=>"translate("+(h.value(x[0])-30+o.value/2)+","+(u.value(x[1])-16)+")");E.append("rect").attr("rx",5).attr("width","60").attr("height","30").attr("fill","var(--color-menu)");const $=E.append("text").attr("text-anchor","middle").attr("x",30).attr("y",12).attr("font-size",jt).attr("fill","var(--color-bg)");return $.append("tspan").attr("x",30).attr("dy","0em").text(x=>it("%H:%M")(x[0])),$.append("tspan").attr("x",30).attr("dy","1.1em").text(x=>Math.round(x[1]*10)/10+" ct"),"PriceChart.vue"}),B=m(()=>"priceChartCanvas"+e.id);return Ve(()=>{t.value=!t.value}),(A,V)=>(l(),P(je,{"variable-width":!0},{title:_(()=>V[0]||(V[0]=[r("span",{class:"fas fa-coins me-2",style:{color:"var(--color-battery)"}}," ",-1),r("span",null,"Strompreis",-1)])),buttons:_(()=>[i(ne).active?(l(),P($e,{key:0,bgcolor:"var(--color-charging)"},{default:_(()=>[H(S(i(ne).etCurrentPriceString),1)]),_:1})):w("",!0),i(ne).active?(l(),P($e,{key:1,bgcolor:"var(--color-menu)"},{default:_(()=>[H(S(i(ne).etProvider),1)]),_:1})):w("",!0)]),default:_(()=>[r("div",ou,[r("figure",su,[(l(),v("svg",iu,[r("g",{id:B.value,origin:W.value,transform:"translate("+n.top+","+n.left+") "},null,8,lu)]))])])]),_:1}))}}),Ut=R(cu,[["__scopeId","data-v-6000c955"]]),uu={class:"subgrid pt-1"},du=L({__name:"IlInverter",props:{inverter:{}},setup(a){const e=a,t=m(()=>({color:e.inverter.color}));return(n,s)=>(l(),P(at,{titlecolor:"var(--color-title)",fullwidth:!0},{title:_(()=>[r("span",{class:"invertername",style:K(t.value)},S(n.inverter.name),5)]),buttons:_(()=>[e.inverter.power<0?(l(),P($e,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i(Me)(-e.inverter.power)),1)]),_:1})):w("",!0)]),default:_(()=>[r("div",uu,[f(X,{heading:"Heute:",small:!0,class:"grid-col-4 grid-left"},{default:_(()=>[f(Ge,{"watt-h":e.inverter.energy},null,8,["watt-h"])]),_:1}),f(X,{heading:"Monat:",small:!0,class:"grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.inverter.energy_month},null,8,["watt-h"])]),_:1}),f(X,{heading:"Jahr:",small:!0,class:"grid-right grid-col-4"},{default:_(()=>[f(Ge,{"watt-h":e.inverter.energy_year},null,8,["watt-h"])]),_:1})])]),_:1}))}}),hu=R(du,[["__scopeId","data-v-258d8f17"]]),pu=L({__name:"InverterList",setup(a){return(e,t)=>(l(),P(je,{"variable-width":!0},{title:_(()=>t[0]||(t[0]=[r("span",{class:"fas fa-solar-panel me-2",style:{color:"var(--color-pv)"}}," ",-1),r("span",null,"Wechselrichter",-1)])),buttons:_(()=>[i(Q).pv.power>0?(l(),P($e,{key:0,bgcolor:"var(--color-pv)"},{default:_(()=>[H(S(i(Me)(i(Q).pv.power)),1)]),_:1})):w("",!0)]),default:_(()=>[(l(!0),v(U,null,te(i(we),([n,s])=>(l(),v("div",{key:n,class:"subgrid pb-2"},[f(hu,{inverter:s},null,8,["inverter"])]))),128))]),_:1}))}}),Ft=R(pu,[["__scopeId","data-v-b7a71f81"]]),gu={class:"row py-0 px-0 m-0"},mu=["breakpoints"],vu=L({__name:"CarouselFix",setup(a){let e,t;const n=ee(!1),s=m(()=>n.value?{992:{slidesPerView:1,spaceBetween:0}}:{992:{slidesPerView:3,spaceBetween:0}});return Ka(()=>g.zoomGraph,o=>{if(e){let h=o?"1":"3";t.setAttribute("slides-per-view",h),e.activeIndex=g.zoomedWidget,e.update()}}),Ve(()=>{let o=document.querySelector(".swiper-carousel");o&&(t=o,e=t.swiper)}),(o,h)=>(l(),v("div",gu,[r("swiper-container",{"space-between":0,pagination:{clickable:!0},"slides-per-view":"1",class:"p-0 m-0 swiper-carousel",breakpoints:s.value},[r("swiper-slide",null,[r("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item1",{},void 0,!0)],2)]),r("swiper-slide",null,[r("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item2",{},void 0,!0)],2)]),r("swiper-slide",null,[r("div",{class:q([i(De)?"mb-0":"mb-5","flex-fill d-flex align-items-stretch"])},[pe(o.$slots,"item3",{},void 0,!0)],2)])],8,mu)]))}}),fu=R(vu,[["__scopeId","data-v-17424929"]]);function yu(a,e){a=="openWB/graph/boolDisplayLiveGraph"?de.displayLiveGraph=+e==1:a.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?bu(a,e):a=="openWB/graph/lastlivevaluesJson"?_u(a,e):a=="openWB/graph/config/duration"&&(ge.duration=JSON.parse(e))}function bu(a,e){if(!ge.initialized){let t=[];const n=e.toString().split(` `);n.length>1?t=n.map(h=>JSON.parse(h)):t=[];const s=a.match(/(\d+)$/g),o=s?s[0]:"";o!=""&&typeof ge.rawDataPacks[+o-1]>"u"&&(ge.rawDataPacks[+o-1]=t,ge.initCounter++)}if(ge.initCounter==16){const t=[];ge.unsubscribeRefresh(),ge.initialized=!0,ge.rawDataPacks.forEach(n=>{n.forEach(s=>{const o=za(s);t.push(o)})}),yt(t),ge.subscribeUpdates()}}function _u(a,e){const t=JSON.parse(e),n=za(t);ge.graphRefreshCounter++,yt(y.data.concat(n)),ge.graphRefreshCounter>60&&ge.activate()}function za(a){const e=Object.values(O).length>0?Object.values(O)[0].connectedVehicle:0,t=Object.values(O).length>1?Object.values(O)[1].connectedVehicle:1,n="ev"+e+"-soc",s="ev"+t+"-soc",o={};o.date=+a.timestamp*1e3,+a.grid>0?(o.evuIn=+a.grid,o.evuOut=0):+a.grid<=0?(o.evuIn=0,o.evuOut=-a.grid):(o.evuIn=0,o.evuOut=0),+a["pv-all"]>=0?(o.pv=+a["pv-all"],o.inverter=0):(o.pv=0,o.inverter=-a["pv-all"]),o.house=+a["house-power"],+a["bat-all-power"]>0?(o.batOut=0,o.batIn=+a["bat-all-power"]):+a["bat-all-power"]<0?(o.batOut=-a["bat-all-power"],o.batIn=0):(o.batOut=0,o.batIn=0),a["bat-all-soc"]?o.batSoc=+a["bat-all-soc"]:o.batSoc=0,a[n]&&(o["soc"+e]=+a[n]),a[s]&&(o["soc"+t]=+a[s]),o.charging=+a["charging-all"];for(let h=0;h<10;h++){const d="cp"+h;o[d]=+(a[d+"-power"]??0)}return o.selfUsage=o.pv-o.evuOut,o.selfUsage<0&&(o.selfUsage=0),o.devices=0,o}const wu=["evuIn","pv","batOut","evuOut","charging","house"];let $t=[];function ku(a,e){const{entries:t,names:n,totals:s}=JSON.parse(e);Ne.value=new Map(Object.entries(n)),ra(),$t=[],Xt.forEach(h=>{T.setEnergyPv(h,0),T.setEnergyBat(h,0)});const o=xu(t);yt(o),Kt(s,$t),g.debug&&Mu(t,s,o),y.graphMode=="today"&&setTimeout(()=>ce.activate(),3e5)}function xu(a){const e=[];let t={};return a.forEach(n=>{t=Su(n);const s=t;e.push(s)}),e}function Su(a){const e={};e.date=a.timestamp*1e3,e.evuOut=0,e.evuIn=0,Object.entries(a.counter).forEach(([s,o])=>{o.grid&&(e.evuOut+=o.power_exported,e.evuIn+=o.power_imported,$t.includes(s)||$t.push(s))}),e.evuOut==0&&e.evuIn==0&&Object.entries(a.counter).forEach(s=>{e.evuOut+=s[1].power_exported,e.evuIn+=s[1].power_imported}),Object.entries(a.pv).forEach(([s,o])=>{s!="all"?e[s]=o.power_exported:e.pv=o.power_exported}),Object.entries(a.bat).length>0?(e.batIn=a.bat.all.power_imported,e.batOut=a.bat.all.power_exported,e.batSoc=a.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(a.cp).forEach(([s,o])=>{s!="all"?(e[s]=o.power_imported,T.keys().includes(s)||T.addItem(s)):e.charging=o.power_imported}),Object.entries(a.ev).forEach(([s,o])=>{s!="all"&&(e["soc"+s.substring(2)]=o.soc)}),e.devices=0;let t=0;return Object.entries(a.sh).forEach(([s,o])=>{var h;s!="all"&&(e[s]=o.power_imported??0,T.keys().includes(s)||(T.addItem(s),T.items[s].showInGraph=ae.get(+s.slice(2)).showInGraph),(h=ae.get(+s.slice(2)))!=null&&h.countAsHouse?t+=e[s]:e.devices+=o.power_imported??0)}),e.selfUsage=Math.max(0,e.pv-e.evuOut),a.hc&&a.hc.all?e.house=a.hc.all.power_imported-t:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(s=>!wu.includes(s)&&s!="charging").forEach(s=>{Sr(s,e)}):Object.keys(e).forEach(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}function Mu(a,e,t){console.debug("---------------------------------------- Graph Data -"),console.debug(["--- Incoming graph data:",a]),console.debug(["--- Incoming energy data:",e]),console.debug(["--- Data to be displayed:",t]),console.debug("-----------------------------------------------------")}let kt={};const oa=["charging","house","batIn","devices"],$u=["evuIn","pv","batOut","batIn","evuOut","devices","sh1","sh2","sh3","sh4","sh5","sh6","sh7","sh8","sh9"];let et=[];function Pu(a,e){const{entries:t,names:n,totals:s}=JSON.parse(e);Ne.value=new Map(Object.entries(n)),ra(),et=[],oa.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Kt(s,et)}function Iu(a,e){const{entries:t,names:n,totals:s}=JSON.parse(e);Ne.value=new Map(Object.entries(n)),ra(),et=[],oa.forEach(o=>{T.items[o].energyPv=0,T.items[o].energyBat=0}),t.length>0&&yt(Wa(t)),Kt(s,et)}function Wa(a){const e=[];let t={};return kt={},a.forEach(n=>{t=Cu(n),e.push(t),Object.keys(t).forEach(s=>{s!="date"&&(t[s]<0&&(console.warn(`Negative energy value for ${s} in row ${t.date}. Ignoring the value.`),t[s]=0),kt[s]?kt[s]+=t[s]:kt[s]=t[s])})}),e}function Cu(a){const e={},t=er("%Y%m%d")(a.date);t&&(e.date=y.graphMode=="month"?t.getDate():t.getMonth()+1),e.evuOut=0,e.evuIn=0;let n=0,s=0;return Object.entries(a.counter).forEach(([h,d])=>{n+=d.energy_exported,s+=d.energy_imported,d.grid&&(e.evuOut+=d.energy_exported,e.evuIn+=d.energy_imported,et.includes(h)||et.push(h))}),et.length==0&&(e.evuOut=n,e.evuIn=s),e.pv=a.pv.all.energy_exported,Object.entries(a.bat).length>0?(a.bat.all.energy_imported>=0?e.batIn=a.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),a.bat.all.energy_exported>=0?e.batOut=a.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(a.cp).forEach(([h,d])=>{h!="all"?(T.keys().includes(h)||T.addItem(h),e[h]=d.energy_imported):e.charging=d.energy_imported}),Object.entries(a.ev).forEach(([h,d])=>{h!="all"&&(e["soc-"+h]=d.soc)}),e.devices=Object.entries(a.sh).reduce((h,d)=>(T.keys().includes(d[0])||T.addItem(d[0]),d[1].energy_imported>=0?h+=d[1].energy_imported:console.warn(`Negative energy value for device ${d[0]} in row ${e.date}. Ignoring this value`),h),0),a.hc&&a.hc.all?e.house=a.hc.all.energy_imported:e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?T.keys().filter(h=>!$u.includes(h)).forEach(h=>{Mr(h,e)}):oa.map(h=>{e[h+"Pv"]=0,e[h+"Bat"]=0}),e}function Bu(a,e){const t=Vu(a);if(t&&!he.value.has(t)){console.warn("Invalid battery index: ",t);return}a=="openWB/bat/config/configured"?de.isBatteryConfigured=e=="true":a=="openWB/bat/get/power"?+e>0?(j.batIn.power=+e,Q.batOut.power=0):(j.batIn.power=0,Q.batOut.power=-e):a=="openWB/bat/get/soc"?de.batterySoc=+e:a=="openWB/bat/get/daily_exported"?Q.batOut.energy=+e:a=="openWB/bat/get/daily_imported"?j.batIn.energy=+e:t&&he.value.has(t)&&(a.match(/^openwb\/bat\/[0-9]+\/get\/daily_exported$/i)?he.value.get(t).dailyYieldExport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/daily_imported$/i)?he.value.get(t).dailyYieldImport=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?he.value.get(t).exported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?he.value.get(t).faultState=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?he.value.get(t).faultStr=e:a.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?he.value.get(t).imported=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?he.value.get(t).power=+e:a.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(he.value.get(t).soc=+e))}function Vu(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function Lu(a,e){if(a=="openWB/optional/et/provider")JSON.parse(e).type==null?ne.active=!1:(ne.active=!0,ne.etProvider=JSON.parse(e).name);else if(a=="openWB/optional/et/get/prices"){const t=JSON.parse(e);ne.etPriceList=new Map,Object.keys(t).forEach(n=>{ne.etPriceList.set(new Date(+n*1e3),t[n]*1e5)})}}function Ou(a,e){const t=Da(a);if(t&&!(t in O)){console.warn("Invalid chargepoint id received: "+t);return}if(a=="openWB/chargepoint/get/power"?j.charging.power=+e:a=="openWB/chargepoint/get/daily_imported"&&(j.charging.energy=+e),a=="openWB/chargepoint/get/daily_exported")de.cpDailyExported=+e;else if(t){if(a.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(O[t]){const n=JSON.parse(e);O[t].name=n.name,O[t].icon=n.name,ie["cp"+t]?(ie["cp"+t].name=n.name,ie["cp"+t].icon=n.name):ie["cp"+t]={name:n.name,icon:n.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+t);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))O[t].stateStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))O[t].faultStr=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))O[t].faultState=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))O[t].power=+e;else if(a.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))O[t].dailyYield=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))O[t].isPluggedIn=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))O[t].isCharging=e=="true";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))O[t].updateIsLocked(e=="true");else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))O[t].isEnabled=e=="1";else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))O[t].phasesInUse=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))O[t].current=+e;else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))O[t].currents=JSON.parse(e);else if(a.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const n=JSON.parse(e);O[t].chargedSincePlugged=n.imported_since_plugged}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const n=JSON.parse(e);O[t].soc=n.soc,O[t].waitingForSoc=!1,O[t].rangeCharged=n.range_charged,O[t].rangeUnit=n.range_unit}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const n=JSON.parse(e);O[t].vehicleName=String(n.name),O[t].updateConnectedVehicle(+n.id)}else if(a.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const n=JSON.parse(e);switch(n.chargemode){case"instant_charging":O[t].updateChargeMode(fe.instant_charging);break;case"pv_charging":O[t].updateChargeMode(fe.pv_charging);break;case"scheduled_charging":O[t].updateChargeMode(fe.scheduled_charging);break;case"standby":O[t].updateChargeMode(fe.standby);break;case"stop":O[t].updateChargeMode(fe.stop);break}O[t].chargeTemplate=n.charge_template,O[t].averageConsumption=n.average_consumption}}}function Au(a,e){const t=Da(a);if(t!=null){if(!(t in Y)){const n=new fr(t);Y[t]=n}if(a.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(O).forEach(n=>{n.connectedVehicle==t&&(n.vehicleName=JSON.parse(e))}),Y[t].name=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))Y[t].soc=JSON.parse(e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?Y[t].range=0:Y[t].range=+e;else if(a.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))Y[t].updateChargeTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))Y[t].updateEvTemplateId(+e);else if(a.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const n=JSON.parse(e);Object.values(O).forEach(s=>{s.connectedVehicle==t&&(s.isSocConfigured=n.type!==null,s.isSocManual=n.type=="manual")})}}}function Tu(a,e){if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const n=+t[0],s=JSON.parse(e);_e[n]=s,Eu(n,s)}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/time_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),n=a.match(/[0-9]+$/i);if(t&&n){const s=+t[0].replace(/[^0-9]+/g,""),o=+n[0],h=JSON.parse(e);s in gt||(gt[s]=[]),gt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/chargemode\/scheduled_charging\/plans\/[0-9]+$/i)){const t=a.match(/(?:\/)([0-9]+)(?:\/)/g),n=a.match(/[0-9]+$/i);if(t&&n){const s=+t[0].replace(/[^0-9]+/g,""),o=+n[0],h=JSON.parse(e);s in pt||(pt[s]=[]),pt[s][o]=h}}else if(a.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const t=a.match(/[0-9]+$/i);if(t){const n=+t[0],s=JSON.parse(e);Rt[n]=s}}}function Eu(a,e){Object.values(O).forEach(t=>{t.chargeTemplate==a&&(t.updateCpPriority(e.prio),t.updateInstantChargeLimitMode(e.chargemode.instant_charging.limit.selected),t.updateInstantTargetCurrent(e.chargemode.instant_charging.current),t.updateInstantTargetSoc(e.chargemode.instant_charging.limit.soc),t.updateInstantMaxEnergy(e.chargemode.instant_charging.limit.amount),t.updatePvFeedInLimit(e.chargemode.pv_charging.feed_in_limit),t.updatePvMinCurrent(e.chargemode.pv_charging.min_current),t.updatePvMaxSoc(e.chargemode.pv_charging.max_soc),t.updatePvMinSoc(e.chargemode.pv_charging.min_soc),t.updatePvMinSocCurrent(e.chargemode.pv_charging.min_soc_current))})}function Da(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}function zu(a,e){a.match(/^openWB\/LegacySmarthome\/config\//i)?Wu(a,e):a.match(/^openWB\/LegacySmarthome\/Devices\//i)&&Du(a,e)}function Wu(a,e){const t=Ga(a);if(t==null)return;ae.has(t)||qt(t);const n=ae.get(t);a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?n.configured=e!="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(n.name=e.toString(),n.icon=e.toString(),ie["sh"+t].name=e.toString(),ie["sh"+t].icon=e.toString()):a.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?n.isAutomatic=e=="0":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?n.canSwitch=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?n.countAsHouse=e=="1":a.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(n.tempConfigured=+e)}function Du(a,e){const t=Ga(a);if(t==null){console.warn("Smarthome: Missing index in "+a);return}ae.has(t)||qt(t);const n=ae.get(t);if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))n.power=+e,Gu("power");else if(!a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))n.runningTime=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))n.temp[0]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))n.temp[1]=+e;else if(a.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))n.temp[2]=+e;else if(a.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:n.status="off";break;case 11:n.status="on";break;case 20:n.status="detection";break;case 30:n.status="timeout";break;default:n.status="off"}}}function Gu(a){switch(a){case"power":j.devices.power=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.power,0);break;case"energy":j.devices.energy=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,t)=>e+t.energy,0);break;default:console.error("Unknown category")}}function Ga(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Pt=le([]);class sa{constructor(e,t,n,s){b(this,"name");b(this,"children");b(this,"count");b(this,"lastValue");this.name=e,this.children=t,this.count=n,this.lastValue=s}insert(e,t){if(e.length){const n=e.splice(1);if(e[0]==this.name)if(n.length){let s=!1;if(this.children.forEach(o=>{o.name==n[0]&&(o.insert(n,t),s=!0)}),!s){const o=new sa(n[0],[],0,"");o.insert(n,t),this.children.push(o)}}else this.count=this.count+1,this.lastValue=t}}}function ju(a,e){const t=a.split("/");if(t.length){let n=!1;if(Pt.forEach(s=>{s.name==t[0]&&(s.insert(t,e),n=!0)}),!n){const s=new sa(t[0],[],0,"");Pt.push(s),s.insert(t,e)}}}const Uu=["openWB/counter/#","openWB/bat/#","openWB/pv/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+Qt()+"/#"];function Fu(){gr(Nu),Uu.forEach(a=>{Ke(a)}),ve()}function Nu(a,e){ju(a,e.toString());const t=e.toString();a.match(/^openwb\/counter\/[0-9]+\//i)?Hu(a,t):a.match(/^openwb\/counter\//i)?Ru(a,t):a.match(/^openwb\/bat\//i)?Bu(a,t):a.match(/^openwb\/pv\//i)?Ju(a,t):a.match(/^openwb\/chargepoint\//i)?Ou(a,t):a.match(/^openwb\/vehicle\/template\//i)?Tu(a,t):a.match(/^openwb\/vehicle\//i)?Au(a,t):a.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?Yu(a,t):a.match(/^openwb\/graph\//i)?yu(a,t):a.match(/^openwb\/log\/daily\//i)?ku(a,t):a.match(/^openwb\/log\/monthly\//i)?Pu(a,t):a.match(/^openwb\/log\/yearly\//i)?Iu(a,t):a.match(/^openwb\/optional\/et\//i)?Lu(a,t):a.match(/^openwb\/system\//i)?Qu(a,t):a.match(/^openwb\/LegacySmartHome\//i)?zu(a,t):a.match(/^openwb\/command\//i)&&Zu(a,t)}function Hu(a,e){const t=a.split("/"),n=+t[2];if(n==de.evuId?qu(a,e):t[3]=="config",t[3]=="get"&&n in ke)switch(t[4]){case"power":ke[n].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":ke[n].energy_imported=+e;break;case"daily_exported":ke[n].energy_exported=+e;break}}function Ru(a,e){if(a.match(/^openwb\/counter\/get\/hierarchy$/i)){const t=JSON.parse(e);if(t.length){br(),rs();for(const n of t)n.type=="counter"&&(de.evuId=n.id);ja(t[0])}}else a.match(/^openwb\/counter\/set\/home_consumption$/i)?j.house.power=+e:a.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(j.house.energy=+e)}function ja(a){switch(a.type){case"counter":Xc(a.id,a.type);break;case"cp":yr(a.id);break;case"bat":Aa(a.id);break}a.children.forEach(e=>ja(e))}function Ju(a,e){const t=Xu(a);t&&!we.value.has(t)&&Er(t),a=="openWB/pv/get/power"?Q.pv.power=-e:a=="openWB/pv/get/daily_exported"?Q.pv.energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/power$/i)?we.value.get(t).power=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/daily_exported$/i)?we.value.get(t).energy=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/monthly_exported$/i)?we.value.get(t).energy_month=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/yearly_exported$/i)?we.value.get(t).energy_year=+e:a.match(/^openWB\/pv\/[0-9]+\/get\/exported$/i)&&(we.value.get(t).energy_total=+e)}function Yu(a,e){const t=a.split("/");if(t.length>0)switch(t[4]){case"bat_mode":de.updatePvBatteryPriority(JSON.parse(e));break}}function qu(a,e){switch(a.split("/")[4]){case"power":+e>0?(Q.evuIn.power=+e,j.evuOut.power=0):(Q.evuIn.power=0,j.evuOut.power=-e);break;case"daily_imported":Q.evuIn.energy=+e;break;case"daily_exported":j.evuOut.energy=+e;break}}function Qu(a,e){if(a.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const t=JSON.parse(e);switch(t.type){case"counter":case"consumption_counter":ke[t.id]&&(ke[t.id].name=t.name);break;case"inverter":case"inverter_secondary":we.value.has(t.id)||we.value.set(t.id,new $a(t.id)),we.value.get(t.id).name=t.name;break;case"bat":he.value.has(t.id)||Aa(t.id),he.value.get(t.id).name=t.name}}}function Zu(a,e){const t=a.split("/");if(a.match(/^openWB\/command\/[a-z]+\/error$/i)&&t[2]==Qt()){const n=JSON.parse(e);console.error(`Error message from openWB: Command: ${n.command} Data: JSON.stringify(err.data) Error: - ${n.error}`)}}function Xu(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Ku={key:0,class:"fas fa-caret-down"},ed={key:1,class:"fas fa-caret-right"},td={key:0,class:"content p-2 m-2"},ad={key:1,class:"sublist col-md-9 m-0 p-0 ps-2"},rd=L({__name:"MqttNode",props:{node:{},level:{},hide:{type:Boolean},expandAll:{type:Boolean}},setup(a){const e=a;let t=ee(!e.hide),n=ee(!1);const s=m(()=>e.node.name),o=m(()=>[...e.node.children].sort((c,k)=>c.namee.node.count>0?"("+e.node.count+")":""),d=m(()=>e.node.children.length),u=m(()=>e.node.lastValue!=""?{"font-style":"italic","grid-column-start":e.level,"grid-column-end":-1}:{"grid-column-start":e.level,"grid-column-end":-1});function p(){d.value>0&&(t.value=!t.value),e.node.lastValue!=""&&(n.value=!n.value)}return(c,k)=>{const I=tr("MqttNode",!0);return l(),v(U,null,[r("div",{class:"name py-2 px-2 m-0",style:K(u.value),onClick:p},[(i(t)||e.expandAll)&&d.value>0||i(n)?(l(),v("span",Ku)):(l(),v("span",ed)),H(" "+S(s.value)+S(h.value),1)],4),i(n)?(l(),v("div",td,[r("code",null,S(e.node.lastValue),1)])):w("",!0),(i(t)||e.expandAll)&&d.value>0?(l(),v("div",ad,[(l(!0),v(U,null,te(o.value,(z,W)=>(l(),P(I,{key:W,level:e.level+1,node:z,hide:!0,"expand-all":e.expandAll},null,8,["level","node","expand-all"]))),128))])):w("",!0)],64)}}}),nd=R(rd,[["__scopeId","data-v-df7e578a"]]),od={class:"mqviewer"},sd={class:"row pt-2"},id={class:"col"},ld={key:0,class:"topiclist"},cd=L({__name:"MQTTViewer",setup(a){Ve(()=>{});const e=ee(!1);function t(){e.value=!e.value}const n=m(()=>e.value?"active":"");return(s,o)=>(l(),v("div",od,[r("div",sd,[r("div",id,[o[0]||(o[0]=r("h3",{class:"mqtitle ps-2"},"MQTT Message Viewer",-1)),o[1]||(o[1]=r("hr",null,null,-1)),r("button",{class:q(["btn btn-small btn-outline-primary ms-2",n.value]),onClick:t}," Expand All ",2),o[2]||(o[2]=r("hr",null,null,-1))])]),i(Pt)[0]?(l(),v("div",ld,[(l(!0),v(U,null,te(i(Pt)[0].children.sort((h,d)=>h.name(l(),P(nd,{key:d,node:h,level:1,hide:!0,"expand-all":e.value},null,8,["node","expand-all"]))),128))])):w("",!0)]))}}),ud=R(cd,[["__scopeId","data-v-a349646d"]]),dd=["value"],hd=L({__name:"SelectInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=e,s=m({get(){return t.modelValue},set(o){n("update:modelValue",o)}});return(o,h)=>ft((l(),v("select",{id:"selectme","onUpdate:modelValue":h[0]||(h[0]=d=>s.value=d),class:"form-select"},[(l(!0),v(U,null,te(o.options,(d,u)=>(l(),v("option",{key:u,value:d[1]},S(d[0]),9,dd))),128))],512)),[[ar,s.value]])}}),pd=R(hd,[["__scopeId","data-v-5e33ce1f"]]),gd={class:"subgrid m-0 p-0"},md={class:"settingscolumn"},vd={class:"settingscolumn"},fd={class:"settingscolumn"},yd=L({__name:"ThemeSettings",emits:["reset-arcs"],setup(a,{emit:e}){const t=e,n=[["Dunkel","dark"],["Hell","light"],["Blau","blue"]],s=[["3 kW","0"],["3,1 kW","1"],["3,14 kW","2"],["3,141 kW","3"],["3141 W","4"]],o=[["Orange","normal"],["Grün/Violett","standard"],["Bunt","advanced"]],h=[["Aus","off"],["Menü","navbar"],["Buttonleiste","buttonbar"]],d=[["Aus","no"],['"Alles"-Reiter',"infoview"],["Immer","always"]];return(u,p)=>(l(),P(je,{"full-width":!0},{title:_(()=>p[23]||(p[23]=[H(" Look & Feel ")])),buttons:_(()=>p[24]||(p[24]=[r("span",{type:"button",class:"float-end mt-0 ms-1","data-bs-toggle":"collapse","data-bs-target":"#themesettings"},[r("span",null,[r("i",{class:"fa-solid fa-circle-check"})])],-1)])),default:_(()=>[r("div",gd,[r("div",md,[f(N,{fullwidth:!0,title:"Farbschema",icon:"fa-adjust",infotext:"Hintergrundfarbe"},{default:_(()=>[f(We,{modelValue:i(g).displayMode,"onUpdate:modelValue":p[0]||(p[0]=c=>i(g).displayMode=c),options:n},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Farbschema Smart-Home-Geräte",icon:"fa-palette",infotext:"Für die Smart-Home-Geräte stehen mehrere Schemata zur Verfügung."},{default:_(()=>[f(We,{modelValue:i(g).smartHomeColors,"onUpdate:modelValue":p[1]||(p[1]=c=>i(g).smartHomeColors=c),options:o},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Grafik: Raster",icon:"fa-th",infotext:"Verwende ein Hintergrundraster in den Grafiken"},{default:_(()=>[f(se,{modelValue:i(g).showGrid,"onUpdate:modelValue":p[2]||(p[2]=c=>i(g).showGrid=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Variable Bogenlänge",icon:"fa-chart-area",infotext:"Im Graph 'Aktuelle Leistung' können die Bögen immer die volle Länge haben, oder entsprechend des aktuellen Gesamtleistung verkürzt dargestellt werden."},{default:_(()=>[f(se,{modelValue:i(g).showRelativeArcs,"onUpdate:modelValue":p[3]||(p[3]=c=>i(g).showRelativeArcs=c)},null,8,["modelValue"])]),_:1}),i(g).showRelativeArcs?(l(),P(N,{key:0,fullwidth:!0,title:"Bögen zurücksetzen",icon:"fa-undo",infotext:"Durch Click auf den Button wird die Maximallänge der Bögen auf den aktuellen Wert gesetzt."},{default:_(()=>[i(g).showRelativeArcs?(l(),v("button",{key:0,class:"btn btn-secondary",onClick:p[4]||(p[4]=c=>t("reset-arcs"))}," Reset ")):w("",!0)]),_:1})):w("",!0),f(N,{fullwidth:!0,title:"Anzahl Dezimalstellen",icon:"fa-sliders-h",infotext:"Alle kW- und kWh-Werte werden mit der gewählten Anzahl an Stellen angezeigt."},{default:_(()=>[f(pd,{modelValue:i(g).decimalPlaces,"onUpdate:modelValue":p[5]||(p[5]=c=>i(g).decimalPlaces=c),options:s},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Uhrzeit anzeigen",icon:"fa-clock",infotext:"Zeige die aktuelle Uhrzeit an. In der Menüleiste oder neben den Lade-Buttons."},{default:_(()=>[f(We,{modelValue:i(g).showClock,"onUpdate:modelValue":p[6]||(p[6]=c=>i(g).showClock=c),options:h},null,8,["modelValue"])]),_:1})]),r("div",vd,[f(N,{fullwidth:!0,title:"Kompakte Ladepunktliste",icon:"fa-list",infotext:"Zeige eine einzelne Ladepunktliste statt separater Element pro Ladepunkt."},{default:_(()=>[f(We,{modelValue:i(g).shortCpList,"onUpdate:modelValue":p[7]||(p[7]=c=>i(g).shortCpList=c),options:d},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Buttonleiste für Ladepunkte",icon:"fa-window-maximize",infotext:"Informationen zu Ladepunkten über den Diagrammen anzeigen."},{default:_(()=>[f(se,{modelValue:i(g).showButtonBar,"onUpdate:modelValue":p[8]||(p[8]=c=>i(g).showButtonBar=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Filter-Buttons",icon:"fa-filter",infotext:"Hauptseite mit Buttons zur Auswahl der Kategorie."},{default:_(()=>[f(se,{modelValue:i(g).showQuickAccess,"onUpdate:modelValue":p[9]||(p[9]=c=>i(g).showQuickAccess=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Breite Widgets",icon:"fa-desktop",infotext:"Widgets immer breit machen"},{default:_(()=>[f(se,{modelValue:i(g).preferWideBoxes,"onUpdate:modelValue":p[10]||(p[10]=c=>i(g).preferWideBoxes=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Stufenlose Displaybreite",icon:"fa-maximize",infotext:"Die Breite des Displays wird immer voll ausgenutzt. Dies kann in einigen Fällen zu inkorrekter Darstellung führen."},{default:_(()=>[f(se,{modelValue:i(g).fluidDisplay,"onUpdate:modelValue":p[11]||(p[11]=c=>i(g).fluidDisplay=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Animationen",icon:"fa-film",infotext:"Animationen anzeigen"},{default:_(()=>[f(se,{modelValue:i(g).showAnimations,"onUpdate:modelValue":p[12]||(p[12]=c=>i(g).showAnimations=c)},null,8,["modelValue"])]),_:1})]),r("div",fd,[f(N,{fullwidth:!0,title:"Zähler anzeigen",icon:"fa-chart-bar",infotext:"Zeige die Werte zusätzlich angelegter Zähler"},{default:_(()=>[f(se,{modelValue:i(g).showCounters,"onUpdate:modelValue":p[13]||(p[13]=c=>i(g).showCounters=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Fahrzeuge anzeigen",icon:"fa-car",infotext:"Zeige alle Fahrzeuge mit Ladestand und Reichweite"},{default:_(()=>[f(se,{modelValue:i(g).showVehicles,"onUpdate:modelValue":p[14]||(p[14]=c=>i(g).showVehicles=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Standardfahrzeug anzeigen",icon:"fa-car",infotext:"Zeige das Standard-Fahrzeug in der Fahzeugliste"},{default:_(()=>[f(se,{modelValue:i(g).showStandardVehicle,"onUpdate:modelValue":p[15]||(p[15]=c=>i(g).showStandardVehicle=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Preistabelle anzeigen",icon:"fa-car",infotext:"Zeige die Strompreistabelle in einer separaten Box an"},{default:_(()=>[f(se,{modelValue:i(g).showPrices,"onUpdate:modelValue":p[16]||(p[16]=c=>i(g).showPrices=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Untere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der unteren Markierung festlegen"},{default:_(()=>[f(Se,{id:"lowerPriceBound",modelValue:i(g).lowerPriceBound,"onUpdate:modelValue":p[17]||(p[17]=c=>i(g).lowerPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Obere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der oberen Markierung festlegen"},{default:_(()=>[f(Se,{id:"upperPriceBound",modelValue:i(g).upperPriceBound,"onUpdate:modelValue":p[18]||(p[18]=c=>i(g).upperPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Wechselrichter-Details anzeigen",icon:"fa-solar-panel",infotext:"Zeige Details zu den einzelnen Wechselrichtern"},{default:_(()=>[f(se,{modelValue:i(g).showInverters,"onUpdate:modelValue":p[19]||(p[19]=c=>i(g).showInverters=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Alternatives Energie-Widget",icon:"fa-chart-area",infotext:"Horizontale Darstellung der Energie-Werte"},{default:_(()=>[f(se,{modelValue:i(g).alternativeEnergy,"onUpdate:modelValue":p[20]||(p[20]=c=>i(g).alternativeEnergy=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"IFrame-Support für Einstellungen (Experimentell)",icon:"fa-gear",infotext:"Erlaubt das Lesen der Einstellungen, wenn das UI in andere Applikationen eingebettet ist (z.B. HomeAssistant). Erfordert SSL. Experimentelles Feature."},{default:_(()=>[f(se,{modelValue:i(g).sslPrefs,"onUpdate:modelValue":p[21]||(p[21]=c=>i(g).sslPrefs=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Debug-Modus",icon:"fa-bug-slash",infotext:"Kontrollausgaben in der Console sowie Anzeige von Bildschirmbreite und MQ-Viewer"},{default:_(()=>[f(se,{modelValue:i(g).debug,"onUpdate:modelValue":p[22]||(p[22]=c=>i(g).debug=c)},null,8,["modelValue"])]),_:1})]),p[25]||(p[25]=r("div",{class:"grid-col-12 mb-3 me-3"},[r("button",{class:"btn btn-sm btn-secondary float-end","data-bs-toggle":"collapse","data-bs-target":"#themesettings"}," Schließen ")],-1))])]),_:1}))}}),bd=R(yd,[["__scopeId","data-v-5cfb2916"]]),_d={class:"container-fluid px-2 m-0 theme-colors"},wd={id:"themesettings",class:"collapse"},kd={key:2,class:"row py-0 px-0 m-0"},xd={key:3,class:"row py-0 m-0 d-flex justify-content-center"},Sd={key:4,class:"nav nav-tabs nav-justified mx-1 mt-2",role:"tablist"},Md={key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pricecharttabbed"},$d={key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#vehiclelist"},Pd={key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#batterylist"},Id={key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#smarthomelist"},Cd={key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#counterlist"},Bd={key:5,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#inverterlist"},Vd={key:5,id:"cpContent",class:"tab-content mx-0 pt-1"},Ld={id:"showAll",class:"tab-pane active",role:"tabpanel","aria-labelledby":"showall-tab"},Od={class:"row py-0 m-0 d-flex justify-content-center"},Ad={id:"chargepointlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"chargepoint-tab"},Td={class:"row py-0 m-0 d-flex justify-content-center"},Ed={id:"vehiclelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"vehicle-tab"},zd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Wd={id:"batterylist",class:"tab-pane",role:"tabpanel","aria-labelledby":"battery-tab"},Dd={class:"row py-0 m-0 d-flex justify-content-center"},Gd={id:"smarthomelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"smarthome-tab"},jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Ud={id:"counterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"counter-tab"},Fd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Nd={id:"inverterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"inverter-tab"},Hd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Rd={id:"pricecharttabbed",class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},Jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Yd={key:0,class:"row p-2 mt-5"},qd={class:"col p-2"},Qd={class:"d-flex justify-content-between"},Zd={class:"mx-4"},Xd={key:0},Kd=L({__name:"ColorsTheme",setup(a){const e=ee(!1),t=m(()=>[...ae.values()].filter(h=>h.configured).length>0);function n(){Ba()}function s(){e.value=!e.value}Ve(()=>{n(),window.addEventListener("resize",Br),window.addEventListener("focus",o),Fu()});function o(){document.hasFocus()&&ve(!0)}return(h,d)=>(l(),v(U,null,[r("div",_d,[r("div",wd,[f(bd,{onResetArcs:i(Or)},null,8,["onResetArcs"])]),i(g).showButtonBar?(l(),P(Vc,{key:0})):w("",!0),w("",!0),(l(),v("div",kd,[f(fu,null,rr({item1:_(()=>[f(hn)]),item2:_(()=>[f(mo)]),_:2},[i(g).alternativeEnergy?{name:"item3",fn:_(()=>[f(ps)]),key:"0"}:{name:"item3",fn:_(()=>[f(Go)]),key:"1"}]),1024)])),i(g).showQuickAccess?w("",!0):(l(),v("div",xd,[f(Tt,{id:"1",compact:i(g).shortCpList=="always"},null,8,["compact"]),i(g).showPrices?(l(),P(Ut,{key:0,id:"NoTabs"})):w("",!0),i(g).showVehicles?(l(),P(Dt,{key:1})):w("",!0),f(Et),t.value?(l(),P(zt,{key:2})):w("",!0),i(g).showCounters?(l(),P(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),P(Ft,{key:4})):w("",!0)])),i(g).showQuickAccess?(l(),v("nav",Sd,[d[6]||(d[6]=nr('AllesLadepunkte',2)),i(g).showPrices?(l(),v("a",Md,d[0]||(d[0]=[r("i",{class:"fa-solid fa-lg fa-coins"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Strompreis",-1)]))):w("",!0),i(g).showVehicles?(l(),v("a",$d,d[1]||(d[1]=[r("i",{class:"fa-solid fa-lg fa-car"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Fahrzeuge",-1)]))):w("",!0),i(de).isBatteryConfigured?(l(),v("a",Pd,d[2]||(d[2]=[r("i",{class:"fa-solid fa-lg fa-car-battery"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Speicher",-1)]))):w("",!0),t.value?(l(),v("a",Id,d[3]||(d[3]=[r("i",{class:"fa-solid fa-lg fa-plug"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Smart Home",-1)]))):w("",!0),i(g).showCounters?(l(),v("a",Cd,d[4]||(d[4]=[r("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Zähler",-1)]))):w("",!0),i(g).showInverters?(l(),v("a",Bd,d[5]||(d[5]=[r("i",{class:"fa-solid fa-lg fa-solar-panel"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Wechselrichter",-1)]))):w("",!0)])):w("",!0),i(g).showQuickAccess?(l(),v("div",Vd,[r("div",Ld,[r("div",Od,[f(Tt,{id:"2",compact:i(g).shortCpList!="no"},null,8,["compact"]),i(g).showPrices?(l(),P(Ut,{key:0,id:"Overview"})):w("",!0),i(g).showVehicles?(l(),P(Dt,{key:1})):w("",!0),f(Et),t.value?(l(),P(zt,{key:2})):w("",!0),i(g).showCounters?(l(),P(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),P(Ft,{key:4})):w("",!0)])]),r("div",Ad,[r("div",Td,[f(Tt,{id:"3",compact:i(g).shortCpList=="always"},null,8,["compact"])])]),r("div",Ed,[i(g).showVehicles?(l(),v("div",zd,[f(Dt)])):w("",!0)]),r("div",Wd,[r("div",Dd,[f(Et)])]),r("div",Gd,[t.value?(l(),v("div",jd,[f(zt)])):w("",!0)]),r("div",Ud,[i(g).showCounters?(l(),v("div",Fd,[f(Wt)])):w("",!0)]),r("div",Nd,[i(g).showInverters?(l(),v("div",Hd,[f(Ft)])):w("",!0)]),r("div",Rd,[i(g).showPrices?(l(),v("div",Jd,[f(Ut,{id:"Tabbed"})])):w("",!0)])])):w("",!0)]),i(g).debug?(l(),v("div",Yd,[r("div",qd,[d[7]||(d[7]=r("hr",null,null,-1)),r("div",Qd,[r("p",Zd,"Screen Width: "+S(i(Mt).x),1),r("button",{class:"btn btn-sm btn-secondary mx-4",onClick:s}," MQ Viewer ")]),e.value?(l(),v("hr",Xd)):w("",!0),e.value?(l(),P(ud,{key:1})):w("",!0)])])):w("",!0)],64))}}),eh=R(Kd,[["__scopeId","data-v-668af4f2"]]),th={class:"navbar navbar-expand-lg px-0 mb-0"},ah={key:0,class:"position-absolute-50 navbar-text ms-4 navbar-time",style:{color:"var(--color-menu)"}},rh=L({__name:"NavigationBar",setup(a){let e;const t=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return Ve(()=>{e=setInterval(()=>{Jt.value=new Date},1e3)}),or(()=>{clearInterval(e)}),(n,s)=>(l(),v(U,null,[r("nav",th,[r("div",{class:q(t.value)},[s[0]||(s[0]=r("a",{href:"/",class:"navbar-brand"},[r("span",null,"openWB")],-1)),i(g).showClock=="navbar"?(l(),v("span",ah,S(i(La)(i(Jt))),1)):w("",!0),s[1]||(s[1]=r("button",{class:"navbar-toggler togglebutton ps-5",type:"button","data-bs-toggle":"collapse","data-bs-target":"#mainNavbar","aria-controls":"mainNavbar","aria-expanded":"false","aria-label":"Toggle navigation"},[r("span",{class:"fa-solid fa-ellipsis-vertical"})],-1)),s[2]||(s[2]=r("div",{id:"mainNavbar",class:"collapse navbar-collapse justify-content-end"},[r("div",{class:"nav navbar-nav"},[r("a",{id:"navStatus",class:"nav-link",href:"../../settings/#/Status"},"Status"),r("div",{class:"nav-item dropdown"},[r("a",{id:"loggingDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Auswertungen "),r("i",{class:"fa-solid fa-caret-down"})]),r("div",{class:"dropdown-menu","aria-labelledby":"loggingDropdown"},[r("a",{href:"../../settings/#/Logging/ChargeLog",class:"dropdown-item"},"Ladeprotokoll"),r("a",{href:"../../settings/#/Logging/Chart",class:"dropdown-item"},"Diagramme")])]),r("div",{class:"nav-item dropdown"},[r("a",{id:"settingsDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Einstellungen "),r("span",{class:"fa-solid fa-caret-down"})]),r("div",{class:"dropdown-menu","aria-labelledby":"settingsDropdown"},[r("a",{id:"navSettings",class:"nav-link",href:"../../settings/index.html"},"openWB"),r("a",{class:"nav-link","data-bs-toggle":"collapse","data-bs-target":"#themesettings","aria-expanded":"false","aria-controls":"themeSettings"},[r("span",null,[H("Look&Feel"),r("span",{class:"fa-solid fa-caret-down"})])])])])])],-1))],2)]),r("div",{class:q(t.value)},s[3]||(s[3]=[r("hr",{class:"m-0 p-0 mb-2"},null,-1)]),2)],64))}}),nh=R(rh,[["__scopeId","data-v-ed619966"]]),oh={id:"app",class:"m-0 p-0"},sh={class:"row p-0 m-0"},ih={class:"col-12 p-0 m-0"},lh=L({__name:"App",setup(a){const e=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return(t,n)=>(l(),v("div",oh,[f(nh),r("div",{class:q(["p-0",e.value])},[r("div",sh,[r("div",ih,[f(eh)])])],2)]))}}),ch=sr(lh);ir();ch.mount("#app"); + ${n.error}`)}}function Xu(a){let e=0;try{const t=a.match(/(?:\/)([0-9]+)(?=\/)/g);return t?(e=+t[0].replace(/[^0-9]+/g,""),e):void 0}catch(t){console.warn("Parser error in getIndex for topic "+a+": "+t)}}const Ku={key:0,class:"fas fa-caret-down"},ed={key:1,class:"fas fa-caret-right"},td={key:0,class:"content p-2 m-2"},ad={key:1,class:"sublist col-md-9 m-0 p-0 ps-2"},rd=L({__name:"MqttNode",props:{node:{},level:{},hide:{type:Boolean},expandAll:{type:Boolean}},setup(a){const e=a;let t=ee(!e.hide),n=ee(!1);const s=m(()=>e.node.name),o=m(()=>[...e.node.children].sort((c,k)=>c.namee.node.count>0?"("+e.node.count+")":""),d=m(()=>e.node.children.length),u=m(()=>e.node.lastValue!=""?{"font-style":"italic","grid-column-start":e.level,"grid-column-end":-1}:{"grid-column-start":e.level,"grid-column-end":-1});function p(){d.value>0&&(t.value=!t.value),e.node.lastValue!=""&&(n.value=!n.value)}return(c,k)=>{const I=tr("MqttNode",!0);return l(),v(U,null,[r("div",{class:"name py-2 px-2 m-0",style:K(u.value),onClick:p},[(i(t)||e.expandAll)&&d.value>0||i(n)?(l(),v("span",Ku)):(l(),v("span",ed)),H(" "+S(s.value)+S(h.value),1)],4),i(n)?(l(),v("div",td,[r("code",null,S(e.node.lastValue),1)])):w("",!0),(i(t)||e.expandAll)&&d.value>0?(l(),v("div",ad,[(l(!0),v(U,null,te(o.value,(z,W)=>(l(),P(I,{key:W,level:e.level+1,node:z,hide:!0,"expand-all":e.expandAll},null,8,["level","node","expand-all"]))),128))])):w("",!0)],64)}}}),nd=R(rd,[["__scopeId","data-v-df7e578a"]]),od={class:"mqviewer"},sd={class:"row pt-2"},id={class:"col"},ld={key:0,class:"topiclist"},cd=L({__name:"MQTTViewer",setup(a){Ve(()=>{});const e=ee(!1);function t(){e.value=!e.value}const n=m(()=>e.value?"active":"");return(s,o)=>(l(),v("div",od,[r("div",sd,[r("div",id,[o[0]||(o[0]=r("h3",{class:"mqtitle ps-2"},"MQTT Message Viewer",-1)),o[1]||(o[1]=r("hr",null,null,-1)),r("button",{class:q(["btn btn-small btn-outline-primary ms-2",n.value]),onClick:t}," Expand All ",2),o[2]||(o[2]=r("hr",null,null,-1))])]),i(Pt)[0]?(l(),v("div",ld,[(l(!0),v(U,null,te(i(Pt)[0].children.sort((h,d)=>h.name(l(),P(nd,{key:d,node:h,level:1,hide:!0,"expand-all":e.value},null,8,["node","expand-all"]))),128))])):w("",!0)]))}}),ud=R(cd,[["__scopeId","data-v-a349646d"]]),dd=["value"],hd=L({__name:"SelectInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=a,n=e,s=m({get(){return t.modelValue},set(o){n("update:modelValue",o)}});return(o,h)=>ft((l(),v("select",{id:"selectme","onUpdate:modelValue":h[0]||(h[0]=d=>s.value=d),class:"form-select"},[(l(!0),v(U,null,te(o.options,(d,u)=>(l(),v("option",{key:u,value:d[1]},S(d[0]),9,dd))),128))],512)),[[ar,s.value]])}}),pd=R(hd,[["__scopeId","data-v-5e33ce1f"]]),gd={class:"subgrid m-0 p-0"},md={class:"settingscolumn"},vd={class:"settingscolumn"},fd={class:"settingscolumn"},yd=L({__name:"ThemeSettings",emits:["reset-arcs"],setup(a,{emit:e}){const t=e,n=[["Dunkel","dark"],["Hell","light"],["Blau","blue"]],s=[["3 kW","0"],["3,1 kW","1"],["3,14 kW","2"],["3,141 kW","3"],["3141 W","4"]],o=[["Orange","normal"],["Grün/Violett","standard"],["Bunt","advanced"]],h=[["Aus","off"],["Menü","navbar"],["Buttonleiste","buttonbar"]],d=[["Aus","no"],['"Alles"-Reiter',"infoview"],["Immer","always"]];return(u,p)=>(l(),P(je,{"full-width":!0},{title:_(()=>p[23]||(p[23]=[H(" Look & Feel ")])),buttons:_(()=>p[24]||(p[24]=[r("span",{type:"button",class:"float-end mt-0 ms-1","data-bs-toggle":"collapse","data-bs-target":"#themesettings"},[r("span",null,[r("i",{class:"fa-solid fa-circle-check"})])],-1)])),default:_(()=>[r("div",gd,[r("div",md,[f(N,{fullwidth:!0,title:"Farbschema",icon:"fa-adjust",infotext:"Hintergrundfarbe"},{default:_(()=>[f(We,{modelValue:i(g).displayMode,"onUpdate:modelValue":p[0]||(p[0]=c=>i(g).displayMode=c),options:n},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Farbschema Smart-Home-Geräte",icon:"fa-palette",infotext:"Für die Smart-Home-Geräte stehen mehrere Schemata zur Verfügung."},{default:_(()=>[f(We,{modelValue:i(g).smartHomeColors,"onUpdate:modelValue":p[1]||(p[1]=c=>i(g).smartHomeColors=c),options:o},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Grafik: Raster",icon:"fa-th",infotext:"Verwende ein Hintergrundraster in den Grafiken"},{default:_(()=>[f(se,{modelValue:i(g).showGrid,"onUpdate:modelValue":p[2]||(p[2]=c=>i(g).showGrid=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Variable Bogenlänge",icon:"fa-chart-area",infotext:"Im Graph 'Aktuelle Leistung' können die Bögen immer die volle Länge haben, oder entsprechend des aktuellen Gesamtleistung verkürzt dargestellt werden."},{default:_(()=>[f(se,{modelValue:i(g).showRelativeArcs,"onUpdate:modelValue":p[3]||(p[3]=c=>i(g).showRelativeArcs=c)},null,8,["modelValue"])]),_:1}),i(g).showRelativeArcs?(l(),P(N,{key:0,fullwidth:!0,title:"Bögen zurücksetzen",icon:"fa-undo",infotext:"Durch Click auf den Button wird die Maximallänge der Bögen auf den aktuellen Wert gesetzt."},{default:_(()=>[i(g).showRelativeArcs?(l(),v("button",{key:0,class:"btn btn-secondary",onClick:p[4]||(p[4]=c=>t("reset-arcs"))}," Reset ")):w("",!0)]),_:1})):w("",!0),f(N,{fullwidth:!0,title:"Anzahl Dezimalstellen",icon:"fa-sliders-h",infotext:"Alle kW- und kWh-Werte werden mit der gewählten Anzahl an Stellen angezeigt."},{default:_(()=>[f(pd,{modelValue:i(g).decimalPlaces,"onUpdate:modelValue":p[5]||(p[5]=c=>i(g).decimalPlaces=c),options:s},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Uhrzeit anzeigen",icon:"fa-clock",infotext:"Zeige die aktuelle Uhrzeit an. In der Menüleiste oder neben den Lade-Buttons."},{default:_(()=>[f(We,{modelValue:i(g).showClock,"onUpdate:modelValue":p[6]||(p[6]=c=>i(g).showClock=c),options:h},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Kompakte Ladepunktliste",icon:"fa-list",infotext:"Zeige eine einzelne Ladepunktliste statt separater Element pro Ladepunkt."},{default:_(()=>[f(We,{modelValue:i(g).shortCpList,"onUpdate:modelValue":p[7]||(p[7]=c=>i(g).shortCpList=c),options:d},null,8,["modelValue"])]),_:1})]),r("div",vd,[f(N,{fullwidth:!0,title:"Buttonleiste für Ladepunkte",icon:"fa-window-maximize",infotext:"Informationen zu Ladepunkten über den Diagrammen anzeigen."},{default:_(()=>[f(se,{modelValue:i(g).showButtonBar,"onUpdate:modelValue":p[8]||(p[8]=c=>i(g).showButtonBar=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Filter-Buttons",icon:"fa-filter",infotext:"Hauptseite mit Buttons zur Auswahl der Kategorie."},{default:_(()=>[f(se,{modelValue:i(g).showQuickAccess,"onUpdate:modelValue":p[9]||(p[9]=c=>i(g).showQuickAccess=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Breite Widgets",icon:"fa-desktop",infotext:"Widgets immer breit machen"},{default:_(()=>[f(se,{modelValue:i(g).preferWideBoxes,"onUpdate:modelValue":p[10]||(p[10]=c=>i(g).preferWideBoxes=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Stufenlose Displaybreite",icon:"fa-maximize",infotext:"Die Breite des Displays wird immer voll ausgenutzt. Dies kann in einigen Fällen zu inkorrekter Darstellung führen."},{default:_(()=>[f(se,{modelValue:i(g).fluidDisplay,"onUpdate:modelValue":p[11]||(p[11]=c=>i(g).fluidDisplay=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Animationen",icon:"fa-film",infotext:"Animationen anzeigen"},{default:_(()=>[f(se,{modelValue:i(g).showAnimations,"onUpdate:modelValue":p[12]||(p[12]=c=>i(g).showAnimations=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Zähler anzeigen",icon:"fa-chart-bar",infotext:"Zeige die Werte zusätzlich angelegter Zähler"},{default:_(()=>[f(se,{modelValue:i(g).showCounters,"onUpdate:modelValue":p[13]||(p[13]=c=>i(g).showCounters=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Fahrzeuge anzeigen",icon:"fa-car",infotext:"Zeige alle Fahrzeuge mit Ladestand und Reichweite"},{default:_(()=>[f(se,{modelValue:i(g).showVehicles,"onUpdate:modelValue":p[14]||(p[14]=c=>i(g).showVehicles=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Standardfahrzeug anzeigen",icon:"fa-car",infotext:"Zeige das Standard-Fahrzeug in der Fahzeugliste"},{default:_(()=>[f(se,{modelValue:i(g).showStandardVehicle,"onUpdate:modelValue":p[15]||(p[15]=c=>i(g).showStandardVehicle=c)},null,8,["modelValue"])]),_:1})]),r("div",fd,[f(N,{fullwidth:!0,title:"Wechselrichter-Details anzeigen",icon:"fa-solar-panel",infotext:"Zeige Details zu den einzelnen Wechselrichtern"},{default:_(()=>[f(se,{modelValue:i(g).showInverters,"onUpdate:modelValue":p[16]||(p[16]=c=>i(g).showInverters=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Alternatives Energie-Widget",icon:"fa-chart-area",infotext:"Horizontale Darstellung der Energie-Werte"},{default:_(()=>[f(se,{modelValue:i(g).alternativeEnergy,"onUpdate:modelValue":p[17]||(p[17]=c=>i(g).alternativeEnergy=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Preistabelle anzeigen",icon:"fa-car",infotext:"Zeige die Strompreistabelle in einer separaten Box an"},{default:_(()=>[f(se,{modelValue:i(g).showPrices,"onUpdate:modelValue":p[18]||(p[18]=c=>i(g).showPrices=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Untere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der unteren Markierung festlegen"},{default:_(()=>[f(Se,{id:"lowerPriceBound",modelValue:i(g).lowerPriceBound,"onUpdate:modelValue":p[19]||(p[19]=c=>i(g).lowerPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Obere Markierung in der Preistabelle",icon:"fa-car",infotext:"Position der oberen Markierung festlegen"},{default:_(()=>[f(Se,{id:"upperPriceBound",modelValue:i(g).upperPriceBound,"onUpdate:modelValue":p[20]||(p[20]=c=>i(g).upperPriceBound=c),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"IFrame-Support für Einstellungen (Experimentell)",icon:"fa-gear",infotext:"Erlaubt das Lesen der Einstellungen, wenn das UI in andere Applikationen eingebettet ist (z.B. HomeAssistant). Erfordert SSL. Experimentelles Feature."},{default:_(()=>[f(se,{modelValue:i(g).sslPrefs,"onUpdate:modelValue":p[21]||(p[21]=c=>i(g).sslPrefs=c)},null,8,["modelValue"])]),_:1}),f(N,{fullwidth:!0,title:"Debug-Modus",icon:"fa-bug-slash",infotext:"Kontrollausgaben in der Console sowie Anzeige von Bildschirmbreite und MQ-Viewer"},{default:_(()=>[f(se,{modelValue:i(g).debug,"onUpdate:modelValue":p[22]||(p[22]=c=>i(g).debug=c)},null,8,["modelValue"])]),_:1})]),p[25]||(p[25]=r("div",{class:"grid-col-12 mb-3 me-3"},[r("button",{class:"btn btn-sm btn-secondary float-end","data-bs-toggle":"collapse","data-bs-target":"#themesettings"}," Schließen ")],-1))])]),_:1}))}}),bd=R(yd,[["__scopeId","data-v-9ccd1aee"]]),_d={class:"container-fluid px-2 m-0 theme-colors"},wd={id:"themesettings",class:"collapse"},kd={key:2,class:"row py-0 px-0 m-0"},xd={key:3,class:"row py-0 m-0 d-flex justify-content-center"},Sd={key:4,class:"nav nav-tabs nav-justified mx-1 mt-2",role:"tablist"},Md={key:0,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pricecharttabbed"},$d={key:1,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#vehiclelist"},Pd={key:2,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#batterylist"},Id={key:3,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#smarthomelist"},Cd={key:4,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#counterlist"},Bd={key:5,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#inverterlist"},Vd={key:5,id:"cpContent",class:"tab-content mx-0 pt-1"},Ld={id:"showAll",class:"tab-pane active",role:"tabpanel","aria-labelledby":"showall-tab"},Od={class:"row py-0 m-0 d-flex justify-content-center"},Ad={id:"chargepointlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"chargepoint-tab"},Td={class:"row py-0 m-0 d-flex justify-content-center"},Ed={id:"vehiclelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"vehicle-tab"},zd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Wd={id:"batterylist",class:"tab-pane",role:"tabpanel","aria-labelledby":"battery-tab"},Dd={class:"row py-0 m-0 d-flex justify-content-center"},Gd={id:"smarthomelist",class:"tab-pane",role:"tabpanel","aria-labelledby":"smarthome-tab"},jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Ud={id:"counterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"counter-tab"},Fd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Nd={id:"inverterlist",class:"tab-pane",role:"tabpanel","aria-labelledby":"inverter-tab"},Hd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Rd={id:"pricecharttabbed",class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},Jd={key:0,class:"row py-0 m-0 d-flex justify-content-center"},Yd={key:0,class:"row p-2 mt-5"},qd={class:"col p-2"},Qd={class:"d-flex justify-content-between"},Zd={class:"mx-4"},Xd={key:0},Kd=L({__name:"ColorsTheme",setup(a){const e=ee(!1),t=m(()=>[...ae.values()].filter(h=>h.configured).length>0);function n(){Ba()}function s(){e.value=!e.value}Ve(()=>{n(),window.addEventListener("resize",Br),window.addEventListener("focus",o),Fu()});function o(){document.hasFocus()&&ve(!0)}return(h,d)=>(l(),v(U,null,[r("div",_d,[r("div",wd,[f(bd,{onResetArcs:i(Or)},null,8,["onResetArcs"])]),i(g).showButtonBar?(l(),P(Vc,{key:0})):w("",!0),w("",!0),(l(),v("div",kd,[f(fu,null,rr({item1:_(()=>[f(hn)]),item2:_(()=>[f(mo)]),_:2},[i(g).alternativeEnergy?{name:"item3",fn:_(()=>[f(ps)]),key:"0"}:{name:"item3",fn:_(()=>[f(Go)]),key:"1"}]),1024)])),i(g).showQuickAccess?w("",!0):(l(),v("div",xd,[f(Tt,{id:"1",compact:i(g).shortCpList=="always"},null,8,["compact"]),i(g).showPrices?(l(),P(Ut,{key:0,id:"NoTabs"})):w("",!0),i(g).showVehicles?(l(),P(Dt,{key:1})):w("",!0),f(Et),t.value?(l(),P(zt,{key:2})):w("",!0),i(g).showCounters?(l(),P(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),P(Ft,{key:4})):w("",!0)])),i(g).showQuickAccess?(l(),v("nav",Sd,[d[6]||(d[6]=nr('AllesLadepunkte',2)),i(g).showPrices?(l(),v("a",Md,d[0]||(d[0]=[r("i",{class:"fa-solid fa-lg fa-coins"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Strompreis",-1)]))):w("",!0),i(g).showVehicles?(l(),v("a",$d,d[1]||(d[1]=[r("i",{class:"fa-solid fa-lg fa-car"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Fahrzeuge",-1)]))):w("",!0),i(de).isBatteryConfigured?(l(),v("a",Pd,d[2]||(d[2]=[r("i",{class:"fa-solid fa-lg fa-car-battery"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Speicher",-1)]))):w("",!0),t.value?(l(),v("a",Id,d[3]||(d[3]=[r("i",{class:"fa-solid fa-lg fa-plug"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Smart Home",-1)]))):w("",!0),i(g).showCounters?(l(),v("a",Cd,d[4]||(d[4]=[r("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Zähler",-1)]))):w("",!0),i(g).showInverters?(l(),v("a",Bd,d[5]||(d[5]=[r("i",{class:"fa-solid fa-lg fa-solar-panel"},null,-1),r("span",{class:"d-none d-md-inline ms-2"},"Wechselrichter",-1)]))):w("",!0)])):w("",!0),i(g).showQuickAccess?(l(),v("div",Vd,[r("div",Ld,[r("div",Od,[f(Tt,{id:"2",compact:i(g).shortCpList!="no"},null,8,["compact"]),i(g).showPrices?(l(),P(Ut,{key:0,id:"Overview"})):w("",!0),i(g).showVehicles?(l(),P(Dt,{key:1})):w("",!0),f(Et),t.value?(l(),P(zt,{key:2})):w("",!0),i(g).showCounters?(l(),P(Wt,{key:3})):w("",!0),i(g).showInverters?(l(),P(Ft,{key:4})):w("",!0)])]),r("div",Ad,[r("div",Td,[f(Tt,{id:"3",compact:i(g).shortCpList=="always"},null,8,["compact"])])]),r("div",Ed,[i(g).showVehicles?(l(),v("div",zd,[f(Dt)])):w("",!0)]),r("div",Wd,[r("div",Dd,[f(Et)])]),r("div",Gd,[t.value?(l(),v("div",jd,[f(zt)])):w("",!0)]),r("div",Ud,[i(g).showCounters?(l(),v("div",Fd,[f(Wt)])):w("",!0)]),r("div",Nd,[i(g).showInverters?(l(),v("div",Hd,[f(Ft)])):w("",!0)]),r("div",Rd,[i(g).showPrices?(l(),v("div",Jd,[f(Ut,{id:"Tabbed"})])):w("",!0)])])):w("",!0)]),i(g).debug?(l(),v("div",Yd,[r("div",qd,[d[7]||(d[7]=r("hr",null,null,-1)),r("div",Qd,[r("p",Zd,"Screen Width: "+S(i(Mt).x),1),r("button",{class:"btn btn-sm btn-secondary mx-4",onClick:s}," MQ Viewer ")]),e.value?(l(),v("hr",Xd)):w("",!0),e.value?(l(),P(ud,{key:1})):w("",!0)])])):w("",!0)],64))}}),eh=R(Kd,[["__scopeId","data-v-668af4f2"]]),th={class:"navbar navbar-expand-lg px-0 mb-0"},ah={key:0,class:"position-absolute-50 navbar-text ms-4 navbar-time",style:{color:"var(--color-menu)"}},rh=L({__name:"NavigationBar",setup(a){let e;const t=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return Ve(()=>{e=setInterval(()=>{Jt.value=new Date},1e3)}),or(()=>{clearInterval(e)}),(n,s)=>(l(),v(U,null,[r("nav",th,[r("div",{class:q(t.value)},[s[0]||(s[0]=r("a",{href:"/",class:"navbar-brand"},[r("span",null,"openWB")],-1)),i(g).showClock=="navbar"?(l(),v("span",ah,S(i(La)(i(Jt))),1)):w("",!0),s[1]||(s[1]=r("button",{class:"navbar-toggler togglebutton ps-5",type:"button","data-bs-toggle":"collapse","data-bs-target":"#mainNavbar","aria-controls":"mainNavbar","aria-expanded":"false","aria-label":"Toggle navigation"},[r("span",{class:"fa-solid fa-ellipsis-vertical"})],-1)),s[2]||(s[2]=r("div",{id:"mainNavbar",class:"collapse navbar-collapse justify-content-end"},[r("div",{class:"nav navbar-nav"},[r("a",{id:"navStatus",class:"nav-link",href:"../../settings/#/Status"},"Status"),r("div",{class:"nav-item dropdown"},[r("a",{id:"loggingDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Auswertungen "),r("i",{class:"fa-solid fa-caret-down"})]),r("div",{class:"dropdown-menu","aria-labelledby":"loggingDropdown"},[r("a",{href:"../../settings/#/Logging/ChargeLog",class:"dropdown-item"},"Ladeprotokoll"),r("a",{href:"../../settings/#/Logging/Chart",class:"dropdown-item"},"Diagramme")])]),r("div",{class:"nav-item dropdown"},[r("a",{id:"settingsDropdown",class:"nav-link",href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[H("Einstellungen "),r("span",{class:"fa-solid fa-caret-down"})]),r("div",{class:"dropdown-menu","aria-labelledby":"settingsDropdown"},[r("a",{id:"navSettings",class:"nav-link",href:"../../settings/index.html"},"openWB"),r("a",{class:"nav-link","data-bs-toggle":"collapse","data-bs-target":"#themesettings","aria-expanded":"false","aria-controls":"themeSettings"},[r("span",null,[H("Look&Feel"),r("span",{class:"fa-solid fa-caret-down"})])])])])])],-1))],2)]),r("div",{class:q(t.value)},s[3]||(s[3]=[r("hr",{class:"m-0 p-0 mb-2"},null,-1)]),2)],64))}}),nh=R(rh,[["__scopeId","data-v-ed619966"]]),oh={id:"app",class:"m-0 p-0"},sh={class:"row p-0 m-0"},ih={class:"col-12 p-0 m-0"},lh=L({__name:"App",setup(a){const e=m(()=>g.fluidDisplay?"container-fluid":"container-lg");return(t,n)=>(l(),v("div",oh,[f(nh),r("div",{class:q(["p-0",e.value])},[r("div",sh,[r("div",ih,[f(eh)])])],2)]))}}),ch=sr(lh);ir();ch.mount("#app"); diff --git a/packages/modules/web_themes/colors/web/index.html b/packages/modules/web_themes/colors/web/index.html index d704398269..c845881779 100644 --- a/packages/modules/web_themes/colors/web/index.html +++ b/packages/modules/web_themes/colors/web/index.html @@ -24,9 +24,9 @@ openWB - + - +