homebridge-config-ui-x 5.11.2-beta.2 → 5.11.2-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -2
- package/dist/core/auth/auth.controller.d.ts +4 -0
- package/dist/core/config/config.interfaces.d.ts +14 -0
- package/dist/core/config/config.service.d.ts +6 -0
- package/dist/core/config/config.service.js +8 -0
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/core/config/config.startup.js +48 -17
- package/dist/core/config/config.startup.js.map +1 -1
- package/dist/core/feature-flags/feature-flags.registry.js +5 -0
- package/dist/core/feature-flags/feature-flags.registry.js.map +1 -1
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js +1 -0
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
- package/dist/core/spa/spa-html.service.d.ts +5 -0
- package/dist/core/spa/spa-html.service.js +32 -0
- package/dist/core/spa/spa-html.service.js.map +1 -0
- package/dist/core/spa/spa.filter.d.ts +3 -0
- package/dist/core/spa/spa.filter.js +22 -2
- package/dist/core/spa/spa.filter.js.map +1 -1
- package/dist/core/ssl/ssl-cert-generator.service.d.ts +15 -0
- package/dist/core/ssl/ssl-cert-generator.service.js +125 -0
- package/dist/core/ssl/ssl-cert-generator.service.js.map +1 -0
- package/dist/globalDefaults.js +3 -0
- package/dist/globalDefaults.js.map +1 -1
- package/dist/main.js +18 -4
- package/dist/main.js.map +1 -1
- package/dist/modules/accessories/accessories.controller.d.ts +1 -1
- package/dist/modules/accessories/accessories.interfaces.d.ts +94 -0
- package/dist/modules/accessories/accessories.interfaces.js +2 -0
- package/dist/modules/accessories/accessories.interfaces.js.map +1 -0
- package/dist/modules/accessories/accessories.module.js +2 -0
- package/dist/modules/accessories/accessories.module.js.map +1 -1
- package/dist/modules/accessories/accessories.service.d.ts +21 -3
- package/dist/modules/accessories/accessories.service.js +280 -17
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +9 -0
- package/dist/modules/config-editor/config-editor.controller.d.ts +4 -0
- package/dist/modules/config-editor/config-editor.controller.js +64 -0
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/config-editor/config-editor.service.d.ts +6 -1
- package/dist/modules/config-editor/config-editor.service.js +45 -1
- package/dist/modules/config-editor/config-editor.service.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/dist/modules/plugins/plugins.service.js +15 -0
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +50 -0
- package/dist/modules/server/server.controller.js +201 -2
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +48 -0
- package/dist/modules/server/server.service.js +502 -14
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.gateway.d.ts +2 -0
- package/dist/modules/status/status.interfaces.d.ts +11 -0
- package/dist/modules/status/status.service.d.ts +4 -1
- package/dist/modules/status/status.service.js +21 -2
- package/dist/modules/status/status.service.js.map +1 -1
- package/docs/matter-todo.md +15 -0
- package/docs/ssl-upload-pr.md +103 -0
- package/package.json +3 -1
- package/public/3rdpartylicenses.txt +595 -621
- package/public/assets/matter.svg +8 -0
- package/public/assets/plugin-ui-utils/ui.js +3 -0
- package/public/assets/plugin-ui-utils/ui.js.map +1 -1
- package/public/chunk-2TQEV57U.js +2 -0
- package/public/chunk-2Y6QBPFY.js +1 -0
- package/public/chunk-3LKYOCGJ.js +1 -0
- package/public/chunk-3YTNATAH.js +1 -0
- package/public/chunk-42Y35W3J.js +2 -0
- package/public/chunk-47QTMPRY.js +1 -0
- package/public/chunk-4KXPUEE3.js +4 -0
- package/public/chunk-4PQ5WRGK.js +1 -0
- package/public/chunk-4TAGCB7R.js +1 -0
- package/public/chunk-4VLAXCSY.js +1 -0
- package/public/chunk-5K3S6ZXB.js +1 -0
- package/public/chunk-6BRZAIW2.js +3 -0
- package/public/chunk-6QJUZNZL.js +1 -0
- package/public/chunk-6ZOSTYPR.js +1 -0
- package/public/{chunk-ZV26JTV7.js → chunk-7JNVXXNR.js} +1 -1
- package/public/chunk-7PPGGAHV.js +1 -0
- package/public/chunk-AM5CKSLZ.js +1 -0
- package/public/chunk-B4AJQJMI.js +1 -0
- package/public/chunk-BBRC6PRL.js +1 -0
- package/public/chunk-BGCYR25X.js +1 -0
- package/public/chunk-BHA7V2NQ.js +1 -0
- package/public/{chunk-KI6BE77G.js → chunk-BMOLDRJ3.js} +1 -1
- package/public/chunk-BVJS76CN.js +1 -0
- package/public/chunk-CNUIQJSO.js +1 -0
- package/public/chunk-CPECPTSN.js +1 -0
- package/public/{chunk-75KR2TK6.js → chunk-DBMKB5Z2.js} +1 -1
- package/public/chunk-DEM3FH7C.js +1 -0
- package/public/chunk-E35SHTFY.js +1 -0
- package/public/chunk-EAYA44IV.js +1 -0
- package/public/chunk-EBHP3YOF.js +1 -0
- package/public/chunk-EMF6ZINV.js +4 -0
- package/public/chunk-FJB6YCFU.js +1 -0
- package/public/chunk-FKJY3Z2V.js +1 -0
- package/public/chunk-FQDRGOO5.js +1 -0
- package/public/chunk-FRMRAPF2.js +1 -0
- package/public/chunk-FYHEIYSO.js +5 -0
- package/public/chunk-GEQRIXEF.js +1 -0
- package/public/chunk-GJ42U6LP.js +16 -0
- package/public/chunk-GT2YL2TI.js +1 -0
- package/public/chunk-GTIVJH6Y.js +1 -0
- package/public/chunk-GYMWB5SQ.js +1 -0
- package/public/chunk-H2D3SCVU.js +1 -0
- package/public/{chunk-OMFNURQZ.js → chunk-H7F7H5MW.js} +1 -1
- package/public/chunk-HKOUIAFO.js +1 -0
- package/public/chunk-I5V7VF5M.js +1 -0
- package/public/chunk-IBFLM7UM.js +1 -0
- package/public/chunk-IZHFI46L.js +2 -0
- package/public/chunk-JNSPIONO.js +1 -0
- package/public/chunk-JUCPYKUR.js +1 -0
- package/public/chunk-KJH2IPMR.js +1 -0
- package/public/chunk-KPSGNAPN.js +1 -0
- package/public/chunk-LH4WRTR2.js +1 -0
- package/public/chunk-LHXNE56J.js +1 -0
- package/public/chunk-LOEOVQRM.js +1 -0
- package/public/chunk-LRB7FQNQ.js +1 -0
- package/public/chunk-LTYAICHT.js +1 -0
- package/public/chunk-LVBVUIJY.js +12 -0
- package/public/chunk-MKV5RAJQ.js +4 -0
- package/public/chunk-MPQEE6FH.js +1 -0
- package/public/chunk-MRPQNEON.js +35 -0
- package/public/chunk-MS4K4KAK.js +5 -0
- package/public/chunk-N6AN65NK.js +3 -0
- package/public/chunk-NCLG2ZY5.js +1 -0
- package/public/chunk-OHJQJ73S.js +1 -0
- package/public/chunk-P3DOEH3R.js +1 -0
- package/public/chunk-PEOTW7KR.js +1 -0
- package/public/chunk-PQM33D72.js +1 -0
- package/public/chunk-Q4PUZM2R.js +1 -0
- package/public/chunk-QBG7SKRK.js +68 -0
- package/public/chunk-QGLAR7UC.js +1 -0
- package/public/chunk-QK4CWVVD.js +1 -0
- package/public/chunk-QPGHC7OK.js +1 -0
- package/public/chunk-RAG53DHZ.js +1 -0
- package/public/chunk-RHJRKBK2.js +1 -0
- package/public/chunk-RQ42YKAP.js +1 -0
- package/public/chunk-S4BMZ4C4.js +1 -0
- package/public/chunk-S4O5HRCM.js +1 -0
- package/public/chunk-SE6AXFTZ.js +1 -0
- package/public/chunk-SIODBMHU.js +1 -0
- package/public/chunk-SS725Q7L.js +1 -0
- package/public/chunk-STXA2UWR.js +1 -0
- package/public/chunk-SVEGWVQJ.js +1 -0
- package/public/chunk-T472BWYK.js +1 -0
- package/public/chunk-TPGJVI7J.js +1 -0
- package/public/chunk-TRDYZJYI.js +1 -0
- package/public/chunk-TTX3XSDC.js +1 -0
- package/public/chunk-TVEZZ2CK.js +1 -0
- package/public/chunk-UDXPJS32.js +1 -0
- package/public/chunk-UO7KCTHV.js +1 -0
- package/public/chunk-UOOJPKZJ.js +1 -0
- package/public/chunk-VAD47NOZ.js +1 -0
- package/public/chunk-VBQ2CSUE.js +1 -0
- package/public/chunk-VWBS6KRT.js +1 -0
- package/public/chunk-VYAAI7PY.js +1 -0
- package/public/chunk-WBTFILXV.js +19 -0
- package/public/chunk-WO6QHRQI.js +1 -0
- package/public/chunk-WOMMYJV2.js +1 -0
- package/public/chunk-WOXYSKNU.js +1 -0
- package/public/{chunk-BKCIVF4W.js → chunk-WX345PMX.js} +52 -2
- package/public/chunk-XGK5YFH6.js +19 -0
- package/public/chunk-XLJ6VVK3.js +8 -0
- package/public/chunk-XPSIQPO4.js +1 -0
- package/public/chunk-XQXAVYM6.js +1 -0
- package/public/chunk-YBGB3IOQ.js +1 -0
- package/public/chunk-YHH6UACV.js +1 -0
- package/public/chunk-YLRX4V4V.js +1 -0
- package/public/chunk-YM6RL7NW.js +1 -0
- package/public/chunk-YMEXNW5V.js +1 -0
- package/public/chunk-YSJHLHJ6.js +1 -0
- package/public/chunk-ZCGZM7LU.js +1 -0
- package/public/chunk-ZDUAXPNP.js +1 -0
- package/public/index.html +2 -2
- package/public/main-SPPQL5YI.js +1 -0
- package/public/media/matter-P563JGDL.svg +8 -0
- package/public/polyfills-34U4WL3Z.js +1 -0
- package/public/styles-CT2LPGES.css +1 -0
- package/scripts/extract-plugin-alias.js +53 -2
- package/public/chunk-2VYCMFLK.js +0 -1
- package/public/chunk-337WAYBF.js +0 -1
- package/public/chunk-3F6KNL45.js +0 -5
- package/public/chunk-3GUIMBZA.js +0 -50
- package/public/chunk-4BH7J5ZU.js +0 -1
- package/public/chunk-4MSKGZXZ.js +0 -1
- package/public/chunk-4STYOKXR.js +0 -1
- package/public/chunk-5GRM2PNI.js +0 -8
- package/public/chunk-6C5CYDDU.js +0 -1
- package/public/chunk-6T52JN5R.js +0 -1
- package/public/chunk-7EKDGIG7.js +0 -1
- package/public/chunk-7O3SPIWC.js +0 -1
- package/public/chunk-ACK5QKZR.js +0 -1
- package/public/chunk-ADJ6TEYQ.js +0 -5
- package/public/chunk-ADWZU2CD.js +0 -1
- package/public/chunk-AGDDSLXN.js +0 -1
- package/public/chunk-ASZKPQUN.js +0 -1
- package/public/chunk-AZY2DNUN.js +0 -1
- package/public/chunk-B6MBMYJR.js +0 -1
- package/public/chunk-BBLJIMXX.js +0 -1
- package/public/chunk-BON2K2BD.js +0 -2
- package/public/chunk-BRP3EHP7.js +0 -1
- package/public/chunk-C5VP7CRC.js +0 -1
- package/public/chunk-C6X7E5CS.js +0 -1
- package/public/chunk-CM3N3C3W.js +0 -1
- package/public/chunk-CV2KW5FI.js +0 -1
- package/public/chunk-EDQF53QR.js +0 -1
- package/public/chunk-EZJQ5APU.js +0 -1
- package/public/chunk-FRNPHIV3.js +0 -1
- package/public/chunk-GBTKBQ2X.js +0 -16
- package/public/chunk-HDF4JHFI.js +0 -4
- package/public/chunk-JEUVQW5P.js +0 -1
- package/public/chunk-KWAS7MXI.js +0 -1
- package/public/chunk-KWC5QURK.js +0 -8
- package/public/chunk-KXNC6WH6.js +0 -1
- package/public/chunk-MMBLECEN.js +0 -1
- package/public/chunk-NQB7BEZZ.js +0 -1
- package/public/chunk-OKAPP6YO.js +0 -1
- package/public/chunk-OM7GHRRK.js +0 -1
- package/public/chunk-OOM2PIRM.js +0 -5
- package/public/chunk-OZKGVJ4N.js +0 -1
- package/public/chunk-PT24GQ5K.js +0 -1
- package/public/chunk-QPI2YWGC.js +0 -1
- package/public/chunk-QQRM2O4S.js +0 -3
- package/public/chunk-QXD4RXA4.js +0 -1
- package/public/chunk-QZU43P2A.js +0 -1
- package/public/chunk-R3Y3VSF7.js +0 -4
- package/public/chunk-R7Q4CXAE.js +0 -1
- package/public/chunk-RAG7VYNH.js +0 -40
- package/public/chunk-RY3E4AUI.js +0 -1
- package/public/chunk-SCWBTFUY.js +0 -1
- package/public/chunk-SRFINKMY.js +0 -1
- package/public/chunk-TRDROX2J.js +0 -1
- package/public/chunk-UH7ZNLL5.js +0 -19
- package/public/chunk-V2WJ2SKN.js +0 -1
- package/public/chunk-VZ3XY34I.js +0 -2
- package/public/chunk-W663VLRG.js +0 -1
- package/public/chunk-WDXU4PPN.js +0 -1
- package/public/chunk-WEXOQCVG.js +0 -1
- package/public/chunk-XDFBUXFD.js +0 -1
- package/public/chunk-XPGJPK66.js +0 -4
- package/public/chunk-YXLLPJEL.js +0 -1
- package/public/chunk-ZXUIFQS4.js +0 -51
- package/public/main-YD5INHXP.js +0 -1
- package/public/polyfills-5KWHJ7II.js +0 -2
- package/public/styles-7EFV5QBG.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as oe}from"./chunk-TUN7H57E.js";import{a as le}from"./chunk-FYHEIYSO.js";import{a as se}from"./chunk-TPGJVI7J.js";import{a as pe}from"./chunk-5K3S6ZXB.js";import{a as de}from"./chunk-3LKYOCGJ.js";import{a as re}from"./chunk-DBMKB5Z2.js";import{a as we,c as ke}from"./chunk-BMOLDRJ3.js";import{a as $t}from"./chunk-QGLAR7UC.js";import{a as Te}from"./chunk-H7F7H5MW.js";import{a as ae}from"./chunk-6ZOSTYPR.js";import{g as St,m as W,n as _t,t as yt}from"./chunk-MS4K4KAK.js";import{e as J,f as Wt}from"./chunk-TRDYZJYI.js";import{a as $}from"./chunk-BGCYR25X.js";import"./chunk-E35SHTFY.js";import{A as ie,B as ne,C as mt,D as ut,b as pt,c as vt,e as ct,f as Gt,i as jt,j as M,k as qt,l as bt,m as Qt,n as Jt,q as xt,t as Xt,u as Yt,w as Zt,x as te,y as ee}from"./chunk-UO7KCTHV.js";import{b as X}from"./chunk-T472BWYK.js";import{E as O,F as L,H as z,J as Kt,K as U,h as dt,j as Ot,u as zt,v as Ut}from"./chunk-2TQEV57U.js";import{$c as Bt,Ab as u,Ac as rt,Cb as K,Db as G,Eb as j,Ec as o,F,Fb as _,Fc as s,Gb as a,Gc as Q,Hb as l,Ib as c,Jb as b,Kb as x,Lb as P,Oc as it,Pc as lt,Rb as B,Sb as A,Ua as et,Va as Pt,Xb as T,Yb as V,Za as i,Zb as g,aa as k,ad as gt,cd as ot,db as Rt,ec as st,ed as ht,fc as ft,ga as E,gc as Tt,ha as w,hc as nt,ic as q,jc as D,kc as d,lc as h,ma as Ct,mc as C,nb as H,nc as Dt,rc as Vt,sa as v,sc as Nt,tc as At,uc as at,vc as Ht,xc as Lt,yb as f,yc as Y,zb as m,zc as N}from"./chunk-MKV5RAJQ.js";import{a as Et,b as wt,g as kt,h as I}from"./chunk-B4AJQJMI.js";var ce=(e,p)=>({"green-text":e,"grey-text":p});function Be(e,p){if(e&1){let t=B();a(0,"li",9)(1,"div",10),d(2),c(3,"br"),a(4,"small",11),c(5,"i",12),o(6,"translate"),d(7," \xB7 "),a(8,"span",13),d(9),l(),d(10),o(11,"titlecase"),l()(),a(12,"div",14)(13,"input",23),o(14,"translate"),T("click",function(){let r=E(t).$implicit,y=g();return w(y.toggleList(r._username))}),l(),c(15,"label",24),l()()}if(e&2){let t=p.$implicit,n=g();i(2),C(" ",t.name," "),i(3),D(N(18,ce,t._isPaired,!t._isPaired)),_("ngbTooltip",s(6,12,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150),i(4),h(t._username),i(),C(" \xB7 ",s(11,14,t._category)," "),i(3),_("id","hidePluginUpdates_"+t._username)("checked",!n.isInList(t._username))("disabled",n.clicked()),f("aria-label",s(14,16,"form.button_allow")+" "+t.name),i(2),_("for","hidePluginUpdates_"+t._username)}}function $e(e,p){e&1&&(d(0),o(1,"translate")),e&2&&C(" ",s(1,1,"form.button_save")," ")}function Fe(e,p){e&1&&c(0,"i",22)}var me=(()=>{class e{$activeModal=k(W);$api=k(U);$settings=k(X);$toastr=k(z);$translate=k(O);existingBlacklist=it.required({});clicked=v(!1,{});mainPairing=v({},{});pairings=v([],{});originalBlacklist=[];updatedBlacklist=[];get blacklistHasUpdated(){return this.updatedBlacklist.join(",")!==this.originalBlacklist.join(",")}ngOnInit(){return I(this,null,function*(){this.updatedBlacklist=this.existingBlacklist().map(t=>t.trim().toUpperCase()).sort((t,n)=>t.localeCompare(n)),this.originalBlacklist=[...this.updatedBlacklist];try{let t=yield this.$api.get("/server/pairings");this.mainPairing.set(t.find(n=>n._main)),this.pairings.set(t.filter(n=>!n._main).sort((n,r)=>n.name.localeCompare(r.name)))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(t){this.updatedBlacklist.includes(t)?this.updatedBlacklist=this.updatedBlacklist.filter(n=>n!==t):(this.updatedBlacklist.push(t),this.updatedBlacklist.sort((n,r)=>n.localeCompare(r)))}isInList(t){return this.updatedBlacklist.includes(t)}updateBlacklist(){return I(this,null,function*(){this.clicked.set(!0);try{yield this.$api.put("/config-editor/ui/accessory-control/instance-blacklist",{body:this.updatedBlacklist}),this.$settings.setEnvItem("accessoryControl.instanceBlacklist",this.updatedBlacklist),this.$activeModal.close()}catch(t){this.clicked.set(!1),console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],inputs:{existingBlacklist:[1,"existingBlacklist"]},decls:45,vars:36,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-list-check","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"grey-text"],["container","body","triggers","hover","placement","left",1,"fas","fa-link",3,"ngbTooltip","openDelay"],[1,"font-monospace"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","controlMainBridge",1,"rendux-input",3,"click","checked","disabled"],["for","controlMainBridge",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"],["type","checkbox",1,"rendux-input",3,"click","id","checked","disabled"],[1,"rendux-label","ms-3",3,"for"]],template:function(n,r){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),d(3),o(4,"translate"),l(),a(5,"button",3),o(6,"translate"),T("click",function(){return r.dismissModal()}),l()(),a(7,"div",4)(8,"div",5),c(9,"i",6),l(),a(10,"ul",7)(11,"li"),d(12),o(13,"translate"),l(),a(14,"li"),d(15),o(16,"translate"),l()(),a(17,"ul",8)(18,"li",9)(19,"div",10),d(20),c(21,"br"),a(22,"small",11),c(23,"i",12),o(24,"translate"),d(25," \xB7 "),a(26,"span",13),d(27),l(),d(28," \xB7 Homebridge "),l()(),a(29,"div",14)(30,"input",15),o(31,"translate"),T("click",function(){return r.toggleList(r.mainPairing()._username)}),l(),c(32,"label",16),l()(),G(33,Be,16,21,"li",9,K),l()(),a(35,"div",17)(36,"div",10)(37,"button",18),T("click",function(){return r.dismissModal()}),d(38),o(39,"translate"),l()(),c(40,"div",19),a(41,"div",20)(42,"button",21),T("click",function(){return r.updateBlacklist()}),m(43,$e,2,3),m(44,Fe,1,0,"i",22),l()()()()),n&2&&(i(3),h(s(4,19,"settings.security.ui_control")),i(2),_("disabled",r.clicked()),f("aria-label",s(6,21,"form.button_close")),i(7),h(s(13,23,"settings.security.ui_control_desc")),i(3),h(s(16,25,"settings.security.ui_control_desc_2")),i(5),C(" ",r.mainPairing().name),i(3),D(N(33,ce,r.mainPairing()._isPaired,!r.mainPairing()._isPaired)),_("ngbTooltip",s(24,27,r.mainPairing()._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150),i(4),h(r.mainPairing()._username),i(3),_("checked",!r.isInList(r.mainPairing()._username))("disabled",r.clicked()),f("aria-label",s(31,29,"plugins.manage.hide_updates")),i(3),j(r.pairings()),i(4),_("disabled",r.clicked()),i(),C(" ",s(39,31,"form.button_close")," "),i(4),_("disabled",!r.blacklistHasUpdated||r.clicked),i(),u(r.clicked?-1:43),i(),u(r.clicked?44:-1))},dependencies:[mt,yt,L,dt],encapsulation:2})}return e})();var fe=kt(Te(),1);var ue=kt(we(),1),_e=kt(ke(),1);var Me=e=>({maxBackupSizeText:e});function Pe(e,p){if(e&1&&P(0,"input",10),e&2){let t=g(2);A("value",t.selectedBackup.fileName)}}function Re(e,p){if(e&1){let t=B();b(0,"input",12),V("change",function(r){E(t);let y=g(2);return w(y.handleRestoreFileInput(r.target.files))}),x()}}function De(e,p){if(e&1&&(b(0,"div",4)(1,"div",7),P(2,"i",8),x(),b(3,"ul",9)(4,"li"),d(5),o(6,"translate"),x(),b(7,"li"),d(8),o(9,"translate"),x(),b(10,"li"),d(11),o(12,"translate"),x(),b(13,"li"),d(14),o(15,"translate"),x()(),m(16,Pe,1,1,"input",10),m(17,Re,1,0,"input",11),x()),e&2){let t=g();i(5),h(s(6,6,"backup.restore_help_one")),i(3),h(s(9,8,"backup.restore_help_two")),i(3),h(Q(12,10,"backup.restore_max_size",Y(15,Me,t.maxFileSizeText))),i(3),h(s(15,13,"backup.restore_warning")),i(2),u(t.selectedBackup?16:-1),i(),u(t.selectedBackup?-1:17)}}function Ve(e,p){if(e&1){let t=B();b(0,"button",18),o(1,"translate"),V("click",function(){E(t);let r=g(2);return w(r.dismissModal())}),d(2),o(3,"translate"),x()}if(e&2){let t=g(2);A("disabled",t.clicked()),f("aria-label",s(1,3,"form.button_close")),i(2),C(" ",s(3,5,"form.button_close")," ")}}function Ne(e,p){if(e&1){let t=B();b(0,"button",18),o(1,"translate"),V("click",function(){E(t);let r=g(2);return w(r.reopenBackupModal())}),d(2),o(3,"translate"),x()}if(e&2){let t=g(2);A("disabled",t.clicked()),f("aria-label",s(1,3,"form.button_back")),i(2),C(" ",s(3,5,"form.button_back")," ")}}function Ae(e,p){e&1&&P(0,"i",19)}function He(e,p){if(e&1&&(b(0,"span"),d(1),x()),e&2){let t=g(3);i(),C("",t.uploadPercent(),"% - ")}}function Le(e,p){e&1&&(b(0,"span"),d(1),o(2,"translate"),x()),e&2&&(i(),h(s(2,1,"backup.label_extracting")))}function Oe(e,p){e&1&&(b(0,"span"),d(1),o(2,"translate"),x()),e&2&&(i(),h(s(2,1,"backup.label_uploading")))}function ze(e,p){if(e&1&&(b(0,"span"),m(1,Ae,1,0,"i",19),m(2,He,2,1,"span"),m(3,Le,3,3,"span"),m(4,Oe,3,3,"span"),x()),e&2){let t=g(2);i(),u(!t.uploadPercent()||t.uploadPercent()===100?1:-1),i(),u(t.uploadPercent()&&t.uploadPercent()!==100?2:-1),i(),u(t.uploadPercent()===100?3:-1),i(),u(t.uploadPercent()!==100?4:-1)}}function Ue(e,p){e&1&&(d(0),o(1,"translate")),e&2&&C(" ",s(1,1,"form.button_restore")," ")}function We(e,p){if(e&1){let t=B();b(0,"div",6)(1,"div",13),m(2,Ve,4,7,"button",14),m(3,Ne,4,7,"button",14),x(),P(4,"div",15),b(5,"div",16)(6,"button",17),V("click",function(){E(t);let r=g();return w(r.onRestoreBackupClick())}),m(7,ze,5,4,"span"),m(8,Ue,2,3),x()()()}if(e&2){let t=g();i(2),u(t.setupWizardRestore?2:-1),i(),u(t.setupWizardRestore?-1:3),i(3),A("disabled",!t.selectedBackup()&&!t.selectedFile()||t.clicked),i(),u(t.clicked()?7:-1),i(),u(t.clicked?-1:8)}}function Ke(e,p){if(e&1){let t=B();b(0,"div",6),P(1,"div",13),b(2,"div",15)(3,"button",20),V("click",function(){E(t);let r=g();return w(r.postBackupRestart())}),d(4),o(5,"translate"),x()(),P(6,"div",16),x()}e&2&&(i(4),C(" ",s(5,1,"menu.hbrestart.title")," "))}var ge=(()=>{class e{$activeModal=k(W);$api=k(U);$modal=k(_t);$router=k(J);$toastr=k(z);$translate=k(O);$ws=k(ae);setupWizardRestore=it(!1,{});selectedBackup=it(null,{});clicked=v(!1,{});selectedFile=v(null,{});restoreInProgress=v(!1,{});restoreStarted=v(!1,{});restoreFailed=v(!1,{});restoreArchiveType=v("homebridge",{});uploadPercent=v(0,{});io;term=new _e.Terminal;termTarget;fitAddon=new ue.FitAddon;maxFileSizeText=globalThis.backup.maxBackupSizeText;ngOnInit(){return I(this,null,function*(){this.io=this.$ws.connectToNamespace("backup"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",t=>{this.term.write(t)}),this.setupWizardRestore&&(this.restoreStarted.set(!0),this.restoreInProgress.set(!0),this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType()==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType()==="hbfx"&&this.uploadHbfxArchive()}handleRestoreFileInput(t){t.length?(this.selectedFile.set(t[0]),this.selectedFile()?.name.endsWith(".hbfx")?this.restoreArchiveType.set("hbfx"):this.restoreArchiveType.set("homebridge")):this.selectedFile.set(null)}postBackupRestart(){this.$api.put("/backup/restart",{}).then(()=>{this.$activeModal.close(!0),this.$router.navigate(["/"])}).catch(()=>{})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(It,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}dismissModal(){this.$activeModal.dismiss("Dismiss")}uploadHomebridgeArchive(){this.term.reset(),this.clicked.set(!0);let t=new FormData;t.append("restoreArchive",this.selectedFile(),this.selectedFile()?.name),this.$api.post("/backup/restore",t).then(()=>{this.restoreStarted.set(!0),this.restoreInProgress.set(!0),setTimeout(()=>{this.startRestore()},500),this.clicked.set(!1)}).catch(n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked.set(!1)})}restoreScheduledBackup(){return I(this,null,function*(){this.term.reset(),this.clicked.set(!0),this.$api.post(`/backup/scheduled-backups/${this.selectedBackup().id}/restore`,{}).then(()=>{this.restoreStarted.set(!0),this.restoreInProgress.set(!0),setTimeout(()=>{this.startRestore()},500),this.clicked.set(!1)}).catch(t=>{console.error(t),this.$toastr.error(t.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked.set(!1)})})}startRestore(){return I(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress.set(!1),this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:t=>{this.restoreFailed.set(!0),console.error(t),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}uploadHbfxArchive(){this.term.reset(),this.clicked.set(!0);let t=new FormData;t.append("restoreArchive",this.selectedFile(),this.selectedFile()?.name),this.$api.post("/backup/restore/hbfx",t,{reportProgress:!0,observe:"events"}).then(n=>{n.type===zt.UploadProgress?this.uploadPercent.set(Math.round(100*n.loaded/n.total)):n instanceof Ut&&(this.restoreStarted.set(!0),this.restoreInProgress.set(!0),setTimeout(()=>{this.startHbfxRestore()},500),this.clicked.set(!1))}).catch(n=>{this.clicked.set(!1),console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))})}startHbfxRestore(){return I(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress.set(!1),this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:t=>{this.restoreFailed.set(!0),console.error(t),this.$toastr.error(this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],inputs:{setupWizardRestore:[1,"setupWizardRestore"],selectedBackup:[1,"selectedBackup"]},decls:11,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","text","disabled","",1,"form-control","custom-input",3,"value"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control"],["type","file","id","restoreFileUpload","accept","application/gzip, .gz, .hbfx",1,"form-control",3,"change"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"fa","fa-circle-notch","fa-spin"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(n,r){n&1&&(b(0,"div",0)(1,"div",1)(2,"h5",2),d(3),o(4,"translate"),x(),b(5,"button",3),o(6,"translate"),V("click",function(){return r.dismissModal()}),x()(),m(7,De,18,17,"div",4),P(8,"div",5),m(9,We,9,5,"div",6),m(10,Ke,7,3,"div",6),x()),n&2&&(i(3),h(s(4,7,"backup.title_backup")),i(2),A("disabled",r.restoreInProgress()),f("aria-label",s(6,9,"form.button_close")),i(2),u(!r.restoreStarted()&&!r.setupWizardRestore?7:-1),i(),A("hidden",!r.restoreStarted()),i(),u(!r.restoreStarted()||r.restoreFailed()===!0?9:-1),i(),u(!r.restoreInProgress()&&r.restoreStarted?10:-1))},dependencies:[L],encapsulation:2})}return e})();var he=(e,p)=>({"fa-arrow-right":e,"fa-cog fa-spin":p}),Ge=e=>({backupTime:e,dayCount:7}),je=(e,p)=>({"fa-trash":e,"fa-cog fa-spin":p}),qe=(e,p)=>({backupSize:e,maxBackupSizeText:p});function Qe(e,p){if(e&1&&(d(0),o(1,"date"),o(2,"translate")),e&2){let t=g(2);C(" ",Q(2,4,"backup.scheduled_backup_time",Y(7,Ge,Q(1,1,t.backupTime(),"shortTime")))," ")}}function Je(e,p){e&1&&(d(0),o(1,"translate")),e&2&&C(" ",s(1,1,"plugins.settings.restart_required")," ")}function Xe(e,p){if(e&1&&m(0,Qe,3,9)(1,Je,2,3),e&2){let t=g();u(t.backupTime()?0:1)}}function Ye(e,p){if(e&1&&(d(0),o(1,"translate")),e&2){let t=g();C(" ",s(1,1,t.backupTime()?"plugins.settings.restart_required":"backup.scheduled_backup_disabled")," ")}}function Ze(e,p){if(e&1&&(a(0,"span",33),o(1,"translate"),c(2,"i",40),d(3),l()),e&2){let t=g().$implicit;_("ngbTooltip",Q(1,3,"backup.backup_exceeds_max_size",N(6,qe,t.size+"MB",t.maxBackupSizeText)))("openDelay",150),i(3),C(" ",t.size,"MB ")}}function ti(e,p){if(e&1&&(a(0,"span"),d(1),l()),e&2){let t=g().$implicit;i(),C("",t.size,"MB")}}function ei(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span")(2,"span",32),d(3),o(4,"date"),l(),c(5,"br"),a(6,"small",23),d(7),o(8,"date"),m(9,Ze,4,9,"span",33),m(10,ti,2,1,"span"),l()(),a(11,"span",34)(12,"button",35),o(13,"translate"),o(14,"translate"),T("click",function(){let r=E(t).$implicit,y=g(2);return w(y.restore(r))}),c(15,"i",36),l(),a(16,"button",37),o(17,"translate"),o(18,"translate"),T("click",function(){let r=E(t).$implicit,y=g(2);return w(y.download(r))}),c(19,"i",38),l(),a(20,"button",39),o(21,"translate"),o(22,"translate"),T("click",function(){let r=E(t).$implicit,y=g(2);return w(y.delete(r))}),c(23,"i",25),l()()()}if(e&2){let t=p.$implicit,n=g(2);i(2),_("ngbTooltip",t.fileName)("openDelay",150),i(),C(" ",Q(4,20,t.timestamp,"mediumDate")," "),i(4),C(" ",Q(8,23,t.timestamp,"shortTime")," \xB7 "),i(2),u(t.size>t.maxBackupSize?9:-1),i(),u(t.size<=t.maxBackupSize?10:-1),i(2),_("disabled",n.clicked()||n.deleting||t.size>t.maxBackupSize)("ngbTooltip",s(13,26,"form.button_restore"))("openDelay",150),f("aria-label",s(14,28,"form.button_restore")),i(4),_("disabled",n.clicked()||n.deleting)("ngbTooltip",s(17,30,"form.button_download"))("openDelay",150),f("aria-label",s(18,32,"form.button_download")),i(4),_("disabled",n.clicked()||n.deleting)("ngbTooltip",s(21,34,"form.button_delete"))("openDelay",150),f("aria-label",s(22,36,"form.button_delete")),i(3),D(N(38,je,t.id!==n.deleting(),t.id===n.deleting()))}}function ii(e,p){if(e&1&&(a(0,"ul",27)(1,"li",9)(2,"h6",10),d(3),o(4,"translate"),l()(),G(5,ei,24,41,"li",22,K),l()),e&2){let t=g();i(3),h(s(4,1,"backup.files_auto")),i(2),j(t.scheduledBackups())}}var It=(()=>{class e{destroyRef=k(Ct);$activeModal=k(W);$api=k(U);$backup=k(pe);$modal=k(_t);$router=k(J);$settings=k(X);$toastr=k(z);$translate=k(O);clicked=v(!1,{});scheduledBackups=v([],{});backupTime=v("",{});deleting=v(null,{});currentSettingEnabled=v(!1,{});currentSettingPath=v("",{});Date=Date;restartToastIsShown=!1;enabledFormControl=new M(!1);pathFormControl=new M("");ngOnInit(){this.getScheduledBackups(),this.getNextBackup(),this.currentSettingEnabled.set(!this.$settings.env.scheduledBackupDisable),this.currentSettingPath.set(this.$settings.env.scheduledBackupPath),this.enabledFormControl.patchValue(this.currentSettingEnabled()),this.pathFormControl.patchValue(this.currentSettingPath()),this.enabledFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(t=>I(this,null,function*(){this.currentSettingEnabled.set(t),yield this.saveUiSettingChange("scheduledBackupDisable",!this.currentSettingEnabled())})),this.pathFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(t=>I(this,null,function*(){this.currentSettingPath.set(t),yield this.saveUiSettingChange("scheduledBackupPath",this.currentSettingPath())}))}download(t){this.$api.get(`/backup/scheduled-backups/${t.id}`,{observe:"response",responseType:"blob"}).then(n=>{let r=t.fileName||"homebridge-backup.tar.gz",y=n.body.size;if(y>globalThis.backup.maxBackupSize){let R=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(y/1048576).toFixed(1)}MB`});this.$toastr.warning(R,this.$translate.instant("toast.title_warning"))}(0,fe.saveAs)(n.body,r)}).catch(n=>{console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))})}restore(t){this.$activeModal.close();let n=this.$modal.open(ge,{size:"lg",backdrop:"static"});n.componentInstance.selectedBackup=t}delete(t){this.deleting.set(t.id),this.$api.delete(`/backup/scheduled-backups/${t.id}`).then(()=>{this.getScheduledBackups(),this.deleting.set(null)}).catch(n=>{this.deleting.set(null),console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))})}onDownloadBackupClick(){return I(this,null,function*(){this.clicked.set(!0);try{yield this.$backup.downloadBackup(),this.clicked.set(!1)}catch(t){this.clicked.set(!1),console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}onCreateBackupClick(){return I(this,null,function*(){this.clicked.set(!0);try{yield this.$api.post("/backup",{}),this.clicked.set(!1),this.getScheduledBackups()}catch(t){this.clicked.set(!1),console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}saveUiSettingChange(t,n){return I(this,null,function*(){try{yield this.$api.put("/config-editor/ui",{key:t,value:n}),this.$settings.setEnvItem(t,n),this.showRestartToast()}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}})}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").then(t=>{this.scheduledBackups.set(t)}).catch(t=>console.error(t))}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").then(t=>{this.backupTime.set(t.next)}).catch(t=>{console.error(t)})}showRestartToast(){if(!this.restartToastIsShown){this.restartToastIsShown=!0;let t=this.$toastr.info(this.$translate.instant("settings.changes.saved"),this.$translate.instant("menu.hbrestart.title"),{timeOut:0,tapToDismiss:!0,disableTimeOut:!0,positionClass:"toast-bottom-right",enableHtml:!0});t&&t.onTap&&t.onTap.pipe($(this.destroyRef)).subscribe(()=>{this.$router.navigate(["/restart"])})}}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:92,vars:82,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"grey-text","small"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","/home/pi/homebridge-backups",1,"form-control","custom-input","font-monospace",3,"formControl"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"small","grey-text"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","disableScheduledBackups",1,"rendux-input",3,"formControl"],["for","disableScheduledBackups",1,"rendux-label"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary","m-0","ms-3","py-1",3,"click","disabled"],[1,"fas"],[1,"fas","fa-arrow-right"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],["container","modal","triggers","hover",3,"ngbTooltip","openDelay"],["container","modal","triggers","hover",1,"red-text",3,"ngbTooltip","openDelay"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-3","py-1",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-history"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-download"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-exclamation-circle"]],template:function(n,r){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),d(3),o(4,"translate"),l(),a(5,"button",3),o(6,"translate"),T("click",function(){return r.dismissModal()}),l()(),a(7,"div",4)(8,"div",5),c(9,"i",6),l(),a(10,"ul",7)(11,"li"),d(12),o(13,"translate"),l(),a(14,"li"),d(15),o(16,"translate"),l(),a(17,"li"),d(18),o(19,"translate"),l()(),a(20,"ul",8)(21,"li",9)(22,"h6",10),d(23),o(24,"translate"),l()(),a(25,"li",11)(26,"div",12),d(27),o(28,"translate"),c(29,"br"),a(30,"span",13),d(31),o(32,"translate"),l()(),a(33,"div",14),c(34,"input",15),o(35,"translate"),l()(),a(36,"li",16)(37,"div",17),d(38),o(39,"translate"),c(40,"br"),a(41,"span",18),m(42,Xe,2,1)(43,Ye,2,3),l()(),a(44,"div",19),c(45,"input",20),o(46,"translate"),c(47,"label",21),l()(),a(48,"li",22)(49,"div")(50,"span"),d(51),o(52,"translate"),l(),c(53,"br"),a(54,"small",23),d(55),o(56,"translate"),l()(),a(57,"button",24),o(58,"translate"),T("click",function(){return r.onDownloadBackupClick()}),c(59,"i",25),l()(),a(60,"li",22)(61,"div")(62,"span"),d(63),o(64,"translate"),l(),c(65,"br"),a(66,"small",23),d(67),o(68,"translate"),l()(),a(69,"button",24),o(70,"translate"),T("click",function(){return r.onCreateBackupClick()}),c(71,"i",25),l()(),a(72,"li",22)(73,"div")(74,"span"),d(75),o(76,"translate"),l(),c(77,"br"),a(78,"small",23),d(79),o(80,"translate"),l()(),a(81,"button",24),o(82,"translate"),T("click",function(){return r.restore(null)}),c(83,"i",26),l()()(),m(84,ii,7,3,"ul",27),l(),a(85,"div",28),c(86,"div",17),a(87,"div",29)(88,"button",30),T("click",function(){return r.dismissModal()}),d(89),o(90,"translate"),l()(),c(91,"div",31),l()()),n&2&&(i(3),h(s(4,34,"backup.title_backup")),i(2),_("disabled",r.clicked()||r.deleting),f("aria-label",s(6,36,"form.button_close")),i(7),h(s(13,38,"backup.backup_help_one")),i(3),h(s(16,40,"backup.backup_help_two")),i(3),h(s(19,42,"backup.backup_warning")),i(5),h(s(24,44,"backup.settings_title")),i(4),C(" ",s(28,46,"backup.settings_path")),i(4),h(s(32,48,"backup.settings_path_desc")),i(3),_("formControl",r.pathFormControl),f("aria-label",s(35,50,"backup.settings_path")),i(4),C(" ",s(39,52,"backup.settings_enable")),i(4),u(r.enabledFormControl.value?42:43),i(3),_("formControl",r.enabledFormControl),f("aria-label",s(46,54,"backup.settings_enable")),i(6),h(s(52,56,"backup.backup_now")),i(4),h(s(56,58,"backup.backup_now_desc")),i(2),_("disabled",r.clicked()),f("aria-label",s(58,60,"backup.backup_now")),i(2),D(N(76,he,!r.clicked(),r.clicked())),i(4),h(s(64,62,"backup.backup_now")),i(4),h(s(68,64,"backup.backup_now_save_desc")),i(2),_("disabled",r.clicked()),f("aria-label",s(70,66,"backup.backup_now")),i(2),D(N(79,he,!r.clicked(),r.clicked())),i(4),h(s(76,68,"backup.restore_now")),i(4),h(s(80,70,"backup.restore_now_desc")),i(2),_("disabled",r.clicked()),f("aria-label",s(82,72,"backup.restore_now")),i(3),u(r.scheduledBackups().length?84:-1),i(4),_("disabled",r.clicked()||r.deleting),i(),C(" ",s(90,74,"form.button_close")," "))},dependencies:[yt,ut,vt,pt,ct,xt,Ot,L],encapsulation:2})}return e})();function ni(e,p){e&1&&(a(0,"div",12),c(1,"i",13),l(),a(2,"p",14),d(3),o(4,"translate"),l()),e&2&&(i(3),h(s(4,1,"reset.no_accessories")))}function ai(e,p){e&1&&(a(0,"div",12),c(1,"i",15),l(),a(2,"ul",16)(3,"li"),d(4),o(5,"translate"),l(),a(6,"li"),d(7),o(8,"translate"),l(),a(9,"li"),d(10),o(11,"translate"),l()(),a(12,"ngb-alert",17)(13,"p",18),d(14),o(15,"translate"),l()()),e&2&&(i(4),h(s(5,5,"reset.accessory_all.list_1")),i(3),h(s(8,7,"reset.accessory_all.list_2")),i(3),h(s(11,9,"reset.accessory_all.list_3")),i(2),_("dismissible",!1),i(2),h(s(15,11,"reset.action_is_irreversible")))}function oi(e,p){if(e&1){let t=B();a(0,"button",19),o(1,"translate"),T("click",function(){E(t);let r=g();return w(r.dismissModal())}),d(2),o(3,"translate"),l()}if(e&2){let t=g();_("disabled",t.clicked),f("aria-label",s(1,3,"form.button_close")),i(2),C(" ",s(3,5,"form.button_close")," ")}}function si(e,p){if(e&1){let t=B();a(0,"button",20),o(1,"translate"),T("click",function(){E(t);let r=g();return w(r.dismissModal())}),d(2),o(3,"translate"),l()}e&2&&(f("aria-label",s(1,2,"form.button_close")),i(2),C(" ",s(3,4,"form.button_close")," "))}function ri(e,p){e&1&&(d(0),o(1,"translate")),e&2&&C(" ",s(1,1,"form.button_remove")," ")}function li(e,p){e&1&&c(0,"i",22)}function di(e,p){if(e&1){let t=B();a(0,"button",21),T("click",function(){E(t);let r=g();return w(r.onResetCachedAccessoriesClick())}),m(1,ri,2,3),m(2,li,1,0,"i",22),l()}if(e&2){let t=g();_("disabled",t.clicked),i(),u(t.clicked?-1:1),i(),u(t.clicked?2:-1)}}var ve=(()=>{class e{$activeModal=k(W);$api=k(U);$router=k(J);$toastr=k(z);$translate=k(O);clicked=v(!1,{});cachedAccessories=v([],{});ngOnInit(){this.loadCachedAccessories()}onResetCachedAccessoriesClick(){return this.clicked.set(!0),this.$api.put("/server/reset-cached-accessories",{}).then(()=>{this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})}).catch(t=>{this.clicked.set(!1),console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadCachedAccessories(){return I(this,null,function*(){try{this.cachedAccessories.set(yield this.$api.get("/server/cached-accessories"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,r){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),d(3),o(4,"translate"),l(),a(5,"button",3),o(6,"translate"),T("click",function(){return r.dismissModal()}),l()(),a(7,"div",4),m(8,ni,5,3),m(9,ai,16,13),l(),a(10,"div",5)(11,"div",6),m(12,oi,4,7,"button",7),l(),a(13,"div",8),m(14,si,4,6,"button",9),l(),a(15,"div",10),m(16,di,3,3,"button",11),l()()()),n&2&&(i(3),h(s(4,8,"reset.accessory_all.title")),i(2),_("disabled",r.clicked),f("aria-label",s(6,10,"form.button_close")),i(3),u(r.cachedAccessories.length===0?8:-1),i(),u(r.cachedAccessories.length>0?9:-1),i(3),u(r.cachedAccessories.length>0?12:-1),i(2),u(r.cachedAccessories.length===0?14:-1),i(2),u(r.cachedAccessories.length>0?16:-1))},dependencies:[St,L],encapsulation:2})}return e})();var pi=(e,p)=>({"fa-matter":e,"fa-hap":p}),ci=(e,p)=>({"btn-danger":e,"btn-elegant":p}),mi=(e,p,t)=>({"fa-broom":e,"fa-undo":p,"fa-spinner fa-pulse":t});function ui(e,p){e&1&&(b(0,"div",12),P(1,"i",13),x(),b(2,"p",14),d(3),o(4,"translate"),x()),e&2&&(i(3),h(s(4,1,"reset.bridge_accessories.empty")))}function _i(e,p){if(e&1){let t=B();b(0,"li",18)(1,"span",19),P(2,"i",20),x(),b(3,"span",21),d(4),P(5,"br"),b(6,"small",22)(7,"span",23),d(8),x()()(),b(9,"button",24),o(10,"translate"),V("click",function(){let r=E(t).$implicit,y=g(2);return w(y.toggleList(r._id,r._protocol))}),P(11,"i",25),x()()}if(e&2){let t=p.$implicit,n=g(2);i(2),D(N(12,pi,t._protocol==="matter",t._protocol!=="matter")),i(2),C(" ",t.name," "),i(4),h(t._username),i(),D(N(15,ci,!n.isInList(t._id,t._protocol),n.isInList(t._id,t._protocol))),A("disabled",n.clicked),f("aria-label",s(10,10,"form.button_delete")),i(2),D(rt(18,mi,!n.isInList(t._id,t._protocol),n.isInList(t._id,t._protocol)&&!n.clicked,n.isInList(t._id,t._protocol)&&n.clicked))}}function gi(e,p){if(e&1&&(b(0,"div",12),P(1,"i",15),x(),b(2,"ul",16)(3,"li"),d(4),o(5,"translate"),x(),b(6,"li"),d(7),o(8,"translate"),x(),b(9,"li"),d(10),o(11,"translate"),x()(),b(12,"ul",17),G(13,_i,12,22,"li",18,K),x()),e&2){let t=g();i(4),h(s(5,3,"reset.bridge_accessories.list_1")),i(3),h(s(8,5,"reset.clear_cache_single.list_3")),i(3),h(s(11,7,"reset.bridge_accessories.list_2")),i(3),j(t.pairings)}}function hi(e,p){if(e&1){let t=B();b(0,"button",26),V("click",function(){E(t);let r=g();return w(r.dismissModal())}),d(1),o(2,"translate"),x()}if(e&2){let t=g();A("disabled",t.clicked),i(),C(" ",s(2,2,"form.button_close")," ")}}function Ci(e,p){if(e&1){let t=B();b(0,"button",27),V("click",function(){E(t);let r=g();return w(r.dismissModal())}),d(1),o(2,"translate"),x()}e&2&&(i(),C(" ",s(2,1,"form.button_close")," "))}function fi(e,p){e&1&&P(0,"i",29)}function vi(e,p){if(e&1&&d(0),e&2){let t=g(3);C(" (",t.toDelete.length,") ")}}function bi(e,p){if(e&1&&(d(0),o(1,"translate"),m(2,vi,1,1)),e&2){let t=g(2);C(" ",s(1,2,"form.button_remove")," "),i(2),u(t.toDelete.length>0?2:-1)}}function xi(e,p){if(e&1){let t=B();b(0,"button",28),V("click",function(){E(t);let r=g();return w(r.cleanBridges())}),m(1,fi,1,0,"i",29)(2,bi,3,4),x()}if(e&2){let t=g();A("disabled",!t.toDelete.length||t.clicked),i(),u(t.clicked?1:2)}}var be=(()=>{class e{$activeModal=k(W);$api=k(U);$router=k(J);$settings=k(X);$toastr=k(z);$translate=k(O);clicked=v(!1,{});pairings=v([],{});toDelete=v([],{});isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");ngOnInit(){this.loadPairings()}cleanBridges(){return this.clicked.set(!0),this.$api.delete("/server/pairings/accessories",{body:this.toDelete()}).then(()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})}).catch(t=>{this.clicked.set(!1),console.error(t),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))})}toggleList(t,n){this.toDelete().some(r=>r.id===t&&r.protocol===n)?this.toDelete.set(this.toDelete().filter(r=>r.id!==t||r.protocol!==n)):this.toDelete.update(r=>[...r,{id:t,protocol:n}])}isInList(t,n){return this.toDelete().some(r=>r.id===t&&r.protocol===n)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadPairings(){return I(this,null,function*(){try{let t=(yield this.$api.get("/server/pairings")).filter(r=>r._category==="bridge"&&!r._main).sort((r,y)=>r.name.localeCompare(y.name)),n=[];for(let r of t)n.push(wt(Et({},r),{_protocol:"hap",_displayName:r.name})),this.isMatterSupported&&r._matter&&n.push(wt(Et({},r),{_protocol:"matter",_displayName:r.name}));this.pairings.set(n)}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"me-3"],[1,"fas","fa-lg"],[1,"flex-grow-1"],[1,"grey-text"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled"],[1,"fas"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,r){n&1&&(b(0,"div",0)(1,"div",1)(2,"h5",2),d(3),o(4,"translate"),x(),b(5,"button",3),o(6,"translate"),V("click",function(){return r.dismissModal()}),x()(),b(7,"div",4),m(8,ui,5,3),m(9,gi,15,9),x(),b(10,"div",5)(11,"div",6),m(12,hi,3,4,"button",7),x(),b(13,"div",8),m(14,Ci,3,3,"button",9),x(),b(15,"div",10),m(16,xi,3,2,"button",11),x()()()),n&2&&(i(3),h(s(4,8,"reset.bridge_accessories.title")),i(2),A("disabled",r.clicked),f("aria-label",s(6,10,"form.button_close")),i(3),u(r.pairings.length===0?8:-1),i(),u(r.pairings.length>0?9:-1),i(3),u(r.pairings.length>0?12:-1),i(2),u(r.pairings.length===0?14:-1),i(2),u(r.pairings.length>0?16:-1))},dependencies:[L],encapsulation:2})}return e})();function Si(e,p){e&1&&(d(0),o(1,"translate")),e&2&&C(" ",s(1,1,"form.button_reset")," ")}function yi(e,p){e&1&&c(0,"i",16)}var xe=(()=>{class e{$activeModal=k(W);$api=k(U);$router=k(J);$toastr=k(z);$translate=k(O);clicked=v(!1,{});onResetHomebridgeAccessoryClick(){return this.clicked.set(!0),this.$api.put("/server/reset-homebridge-accessory",{}).then(()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"])}).catch(t=>{console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:38,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,r){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),d(3),o(4,"translate"),l(),a(5,"button",3),o(6,"translate"),T("click",function(){return r.dismissModal()}),l()(),a(7,"div",4)(8,"div",5),c(9,"i",6),l(),a(10,"ul",7)(11,"li"),d(12),o(13,"translate"),l(),a(14,"li"),d(15),o(16,"translate"),l(),a(17,"li"),d(18),o(19,"translate"),l(),a(20,"li"),d(21),o(22,"translate"),l()(),a(23,"ngb-alert",8)(24,"p",9),d(25),o(26,"translate"),l()()(),a(27,"div",10)(28,"div",11)(29,"button",12),o(30,"translate"),T("click",function(){return r.dismissModal()}),d(31),o(32,"translate"),l()(),c(33,"div",13),a(34,"div",14)(35,"button",15),T("click",function(){return r.onResetHomebridgeAccessoryClick()}),m(36,Si,2,3),m(37,yi,1,0,"i",16),l()()()()),n&2&&(i(3),h(s(4,15,"reset.bridge_all.title")),i(2),_("disabled",r.clicked),f("aria-label",s(6,17,"form.button_close")),i(7),h(s(13,19,"reset.bridge_all.list_1")),i(3),h(s(16,21,"reset.bridge_all.list_2")),i(3),h(s(19,23,"reset.bridge_all.list_3")),i(3),h(s(22,25,"reset.bridge_all.list_4")),i(2),_("dismissible",!1),i(2),h(s(26,27,"reset.action_is_irreversible")),i(4),_("disabled",r.clicked),f("aria-label",s(30,29,"form.button_close")),i(2),C(" ",s(32,31,"form.button_close")," "),i(4),_("disabled",r.clicked),i(),u(r.clicked?-1:36),i(),u(r.clicked?37:-1))},dependencies:[St,L],encapsulation:2})}return e})();var Ft=(e,p)=>({"btn-danger":e,"btn-elegant":p}),Se=(e,p,t)=>({"fa-refresh":e,"fa-undo":p,"fa-spinner fa-pulse":t}),Ii=(e,p,t)=>({"fa-trash":e,"fa-undo":p,"fa-spinner fa-pulse":t});function Ei(e,p){e&1&&(b(0,"div",12),P(1,"i",13),x(),b(2,"p",14),d(3),o(4,"translate"),x()),e&2&&(i(3),h(s(4,1,"reset.bridges.empty")))}function wi(e,p){if(e&1&&P(0,"i",27)(1,"i",28),e&2){let t=g().$implicit;nt("opacity",t._matterOnly?"0.25":"1"),i(),nt("opacity",t._matter?"1":"0.25")}}function ki(e,p){e&1&&P(0,"i",22)}function Ti(e,p){if(e&1){let t=B();b(0,"li",20)(1,"span",21),m(2,wi,2,4)(3,ki,1,0,"i",22),x(),b(4,"span",23),d(5),P(6,"br"),b(7,"small",24),d(8),o(9,"titlecase"),x()(),b(10,"button",25),o(11,"translate"),V("click",function(){let r=E(t).$implicit,y=g(3);return w(y.toggleList(r._id,!1))}),P(12,"i",26),x()()}if(e&2){let t=p.$implicit,n=g(3);i(2),u(n.isMatterSupported?2:3),i(3),C(" ",t.name," "),i(3),Dt(" ",t._username," \xB7 ",t._main?"Homebridge":s(9,10,t._category)," "),i(2),D(N(14,Ft,!n.isInList(t._id),n.isInList(t._id))),A("disabled",n.clicked),f("aria-label",s(11,12,"form.button_unpair")),i(2),D(rt(17,Se,!n.isInList(t._id),n.isInList(t._id)&&!n.clicked,n.isInList(t._id)&&n.clicked))}}function Bi(e,p){if(e&1&&(b(0,"ul",16)(1,"li",17)(2,"h6",18),d(3),o(4,"translate"),x(),b(5,"p",19),d(6),o(7,"translate"),x()(),G(8,Ti,13,21,"li",20,K),x()),e&2){let t=g(2);i(3),h(s(4,2,"reset.bridge_ind.head_non_child")),i(3),h(s(7,4,"reset.bridge_ind.desc_non_child")),i(2),j(t.pairingsNonChild)}}function $i(e,p){if(e&1&&P(0,"i",27)(1,"i",28),e&2){let t=g().$implicit;i(),nt("opacity",t._matter?"1":"0.25")}}function Fi(e,p){e&1&&P(0,"i",22)}function Mi(e,p){if(e&1){let t=B();b(0,"li",20)(1,"span",21),m(2,$i,2,2)(3,Fi,1,0,"i",22),x(),b(4,"span",23),d(5),P(6,"br"),b(7,"small",24),d(8),x()(),b(9,"button",25),o(10,"translate"),V("click",function(){let r=E(t).$implicit,y=g(3);return w(y.toggleList(r._id,!0))}),P(11,"i",26),x()()}if(e&2){let t=p.$implicit,n=g(3);i(2),u(n.isMatterSupported?2:3),i(3),C(" ",t.name," "),i(3),h(t._username),i(),D(N(11,Ft,!n.isInList(t._id),n.isInList(t._id))),A("disabled",n.clicked),f("aria-label",s(10,9,"form.button_unpair")),i(2),D(rt(14,Se,!n.isInList(t._id),n.isInList(t._id)&&!n.clicked,n.isInList(t._id)&&n.clicked))}}function Pi(e,p){if(e&1&&(b(0,"ul",16)(1,"li",17)(2,"h6",18),d(3),o(4,"translate"),x(),b(5,"p",19),d(6),o(7,"translate"),x()(),G(8,Mi,12,18,"li",20,K),x()),e&2){let t=g(2);i(3),h(s(4,2,"reset.bridge_ind.head_child_active")),i(3),h(s(7,4,"reset.bridge_ind.desc_child_active")),i(2),j(t.pairingsChildActive)}}function Ri(e,p){if(e&1&&P(0,"i",27)(1,"i",28),e&2){let t=g().$implicit;i(),nt("opacity",t._matter?"1":"0.25")}}function Di(e,p){e&1&&P(0,"i",22)}function Vi(e,p){if(e&1){let t=B();b(0,"li",20)(1,"span",21),m(2,Ri,2,2)(3,Di,1,0,"i",22),x(),b(4,"span",23),d(5),P(6,"br"),b(7,"small",24),d(8),x()(),b(9,"button",25),o(10,"translate"),V("click",function(){let r=E(t).$implicit,y=g(3);return w(y.toggleList(r._id,!1))}),P(11,"i",26),x()()}if(e&2){let t=p.$implicit,n=g(3);i(2),u(n.isMatterSupported?2:3),i(3),C(" ",t.name," "),i(3),h(t._username),i(),D(N(11,Ft,!n.isInList(t._id),n.isInList(t._id))),A("disabled",n.clicked),f("aria-label",s(10,9,"form.button_unpair")),i(2),D(rt(14,Ii,!n.isInList(t._id),n.isInList(t._id)&&!n.clicked,n.isInList(t._id)&&n.clicked))}}function Ni(e,p){if(e&1&&(b(0,"ul",16)(1,"li",17)(2,"h6",18),d(3),o(4,"translate"),x(),b(5,"p",19),d(6),o(7,"translate"),x()(),G(8,Vi,12,18,"li",20,K),x()),e&2){let t=g(2);i(3),h(s(4,2,"reset.bridge_ind.head_child_stale")),i(3),h(s(7,4,"reset.bridge_ind.desc_child_stale")),i(2),j(t.pairingsChildStale)}}function Ai(e,p){if(e&1&&(b(0,"div",12),P(1,"i",15),x(),m(2,Bi,10,6,"ul",16),m(3,Pi,10,6,"ul",16),m(4,Ni,10,6,"ul",16)),e&2){let t=g();i(2),u(t.pairingsNonChild.length>0?2:-1),i(),u(t.pairingsChildActive.length>0?3:-1),i(),u(t.pairingsChildStale.length>0?4:-1)}}function Hi(e,p){if(e&1){let t=B();b(0,"button",29),V("click",function(){E(t);let r=g();return w(r.dismissModal())}),d(1),o(2,"translate"),x()}if(e&2){let t=g();A("disabled",t.clicked),i(),C(" ",s(2,2,"form.button_close")," ")}}function Li(e,p){if(e&1){let t=B();b(0,"button",30),V("click",function(){E(t);let r=g();return w(r.dismissModal())}),d(1),o(2,"translate"),x()}e&2&&(i(),C(" ",s(2,1,"form.button_close")," "))}function Oi(e,p){if(e&1&&d(0),e&2){let t=g(3);C(" (",t.toDelete.length,") ")}}function zi(e,p){if(e&1&&(d(0),o(1,"translate"),m(2,Oi,1,1)),e&2){let t=g(2);C(" ",s(1,2,"form.button_reset")," "),i(2),u(t.toDelete.length>0?2:-1)}}function Ui(e,p){e&1&&P(0,"i",32)}function Wi(e,p){if(e&1){let t=B();b(0,"button",31),V("click",function(){E(t);let r=g();return w(r.removeBridges())}),m(1,zi,3,4),m(2,Ui,1,0,"i",32),x()}if(e&2){let t=g();A("disabled",!t.toDelete.length||t.clicked),i(),u(t.clicked?-1:1),i(),u(t.clicked?2:-1)}}var ye=(()=>{class e{$activeModal=k(W);$api=k(U);$router=k(J);$settings=k(X);$toastr=k(z);$translate=k(O);clicked=v(!1,{});pairingsNonChild=v([],{});pairingsChildActive=v([],{});pairingsChildStale=v([],{});toDelete=v([],{});isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");ngOnInit(){this.loadPairings()}toggleList(t,n=!1){this.toDelete().some(r=>r.id===t)?this.toDelete.set(this.toDelete().filter(r=>r.id!==t)):this.toDelete.update(r=>[...r,{id:t,resetPairingInfo:n}])}isInList(t){return this.toDelete().some(n=>n.id===t)}removeBridges(){return this.clicked.set(!0),this.$api.delete("/server/pairings",{body:this.toDelete()}).then(()=>{this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}}),this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success"))}).catch(t=>{this.clicked.set(!1),console.error(t),this.$toastr.error(this.$translate.instant("reset.bridge_ind.fail"),this.$translate.instant("toast.title_error"))})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadPairings(){return I(this,null,function*(){try{let t=(yield this.$api.get("/server/pairings")).filter(n=>!n._main).sort((n,r)=>n.name.localeCompare(r.name));this.pairingsChildActive.set(t.filter(n=>n._category==="bridge"&&!n._couldBeStale)),this.pairingsNonChild.set(t.filter(n=>n._category!=="bridge")),this.pairingsChildStale.set(t.filter(n=>n._category==="bridge"&&n._couldBeStale))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text",2,"font-size","75px"],[1,"text-center","mb-0"],[1,"fas","fa-bridge","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-3","mb-0"],[1,"list-group-item"],[1,"mb-1","text-center"],[1,"mb-0","small","grey-text","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"me-3"],[1,"fas","fa-lg","fa-hap"],[1,"flex-grow-1"],[1,"grey-text","font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled"],[1,"fas"],[1,"fas","fa-lg","fa-hap","me-2"],[1,"fas","fa-lg","fa-matter"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,r){n&1&&(b(0,"div",0)(1,"div",1)(2,"h5",2),d(3),o(4,"translate"),x(),b(5,"button",3),o(6,"translate"),V("click",function(){return r.dismissModal()}),x()(),b(7,"div",4),m(8,Ei,5,3),m(9,Ai,5,3),x(),b(10,"div",5)(11,"div",6),m(12,Hi,3,4,"button",7),x(),b(13,"div",8),m(14,Li,3,3,"button",9),x(),b(15,"div",10),m(16,Wi,3,3,"button",11),x()()()),n&2&&(i(3),h(s(4,8,"reset.bridge_ind.title")),i(2),A("disabled",r.clicked),f("aria-label",s(6,10,"form.button_close")),i(3),u(r.pairingsChildActive.length===0&&r.pairingsChildStale.length===0&&r.pairingsNonChild.length===0?8:-1),i(),u(r.pairingsChildActive.length>0||r.pairingsChildStale.length>0||r.pairingsNonChild.length>0?9:-1),i(3),u(r.pairingsChildActive.length>0||r.pairingsChildStale.length>0||r.pairingsNonChild.length>0?12:-1),i(2),u(r.pairingsChildActive.length===0&&r.pairingsChildStale.length===0&&r.pairingsNonChild.length===0?14:-1),i(2),u(r.pairingsChildActive.length>0||r.pairingsChildStale.length>0||r.pairingsNonChild.length>0?16:-1))},dependencies:[dt,L],encapsulation:2})}return e})();function Ki(e,p){if(e&1){let t=B();a(0,"li",9)(1,"div")(2,"span",16),d(3),l(),c(4,"br"),a(5,"span",17),d(6),l()(),a(7,"span")(8,"input",18),At("ngModelChange",function(r){let y=E(t).$implicit;return Nt(y.selected,r)||(y.selected=r),w(r)}),T("ngModelChange",function(){E(t);let r=g();return w(r.onAdapterSelectionChange())}),l(),c(9,"label",19),l()()}if(e&2){let t=p.$implicit;i(3),h(t.ip4||t.ip6),i(3),h(t.iface),i(2),_("id","adapter"+t.iface),Vt("ngModel",t.selected),i(),_("for","adapter"+t.iface)}}var Ie=(()=>{class e{$activeModal=k(W);adaptersAvailable=it.required({});adaptersSelected=it.required({});isUnchanged=v(!0,{});adaptersOriginal=[];ngOnInit(){this.adaptersAvailable().forEach(t=>{t.selected=this.adaptersSelected().some(n=>n.iface===t.iface)}),this.adaptersOriginal=this.adaptersSelected().map(t=>t.iface)}onAdapterSelectionChange(){this.isUnchanged.set(this.adaptersOriginal.length===this.adaptersAvailable().filter(t=>t.selected).length&&this.adaptersOriginal.every(t=>this.adaptersAvailable().some(n=>n.iface===t&&n.selected)))}submit(){this.$activeModal.close(this.adaptersAvailable().filter(t=>t.selected).map(t=>t.iface))}closeAndReset(){this.adaptersAvailable().forEach(t=>{t.selected=this.adaptersOriginal.includes(t.iface)}),this.isUnchanged.set(!0),this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],inputs:{adaptersAvailable:[1,"adaptersAvailable"],adaptersSelected:[1,"adaptersSelected"]},decls:28,vars:19,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-ethernet","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"font-monospace"],[1,"font-monospace","grey-text"],["type","checkbox",1,"rendux-input",3,"ngModelChange","id","ngModel"],[1,"rendux-label","ms-3",3,"for"]],template:function(n,r){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),d(3),o(4,"translate"),l(),a(5,"button",3),o(6,"translate"),T("click",function(){return r.closeAndReset()}),l()(),a(7,"div",4)(8,"div",5),c(9,"i",6),l(),a(10,"ul",7)(11,"li"),d(12),o(13,"translate"),l()(),a(14,"ul",8),G(15,Ki,10,5,"li",9,K),l()(),a(17,"div",10)(18,"div",11)(19,"button",12),o(20,"translate"),T("click",function(){return r.closeAndReset()}),d(21),o(22,"translate"),l()(),c(23,"div",13),a(24,"div",14)(25,"button",15),T("click",function(){return r.submit()}),d(26),o(27,"translate"),l()()()()),n&2&&(i(3),h(s(4,7,"settings.network.title_network_interfaces")),i(2),f("aria-label",s(6,9,"form.button_close")),i(7),h(s(13,11,"settings.network.message_network_interface")),i(3),j(r.adaptersAvailable()),i(4),f("aria-label",s(20,13,"form.button_close")),i(2),C(" ",s(22,15,"form.button_close")," "),i(4),_("disabled",r.isUnchanged),i(),C(" ",s(27,17,"form.button_save")," "))},dependencies:[mt,pt,ct,bt,L],encapsulation:2})}return e})();var Gi=["wallpaperInput"],ji=e=>({maxFileSizeText:e});function qi(e,p){if(e&1){let t=B();b(0,"div",10),P(1,"img",20),b(2,"button",21),o(3,"translate"),V("click",function(){E(t);let r=g();return w(r.clearWallpaper())}),P(4,"i",22),x()()}if(e&2){let t=g();i(),A("src",t.wallpaperUrl(),Pt),i(),f("aria-label",s(3,2,"form.button_delete"))}}function Qi(e,p){e&1&&P(0,"div",11)}var Ee=(()=>{class e{$activeModal=k(W);$api=k(U);$settings=k(X);$toastr=k(z);$translate=k(O);wallpaperInput=lt("wallpaperInput",{});clicked=v(!1,{});selectedFile=v(null,{});wallpaperUrl=v(null,{});originalWallpaperUrl=v(null,{});maxFileSizeText=globalThis.backup.maxBackupSizeText;ngOnInit(){this.$settings.env.customWallpaperHash&&(this.wallpaperUrl.set(`${Kt.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`),this.originalWallpaperUrl.set(this.wallpaperUrl()))}onFileChange(t){if(t.length){this.selectedFile.set(t[0]);let n=new FileReader;n.onload=r=>{this.wallpaperUrl.set(r.target.result)},n.readAsDataURL(this.selectedFile())}else this.selectedFile.set(null),this.wallpaperUrl.set(this.originalWallpaperUrl())}saveWallpaper(){if(this.clicked.set(!0),this.selectedFile()){let t=new FormData;t.append("wallpaper",this.selectedFile(),this.selectedFile()?.name),this.$api.post("/server/wallpaper",t).then(()=>{this.$settings.setItem("wallpaper",`ui-wallpaper.${this.selectedFile()?.name.split(".").pop()}`),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("settings.display.wallpaper_success"),this.$translate.instant("toast.title_success"))}).catch(n=>{console.error(n),this.$toastr.error(n.error?.message,this.$translate.instant("toast.title_error")),this.clicked.set(!1)})}else this.$api.delete("/server/wallpaper").then(()=>{this.$activeModal.close()}).catch(t=>{console.error(t),this.$toastr.error(t.error?.message,this.$translate.instant("toast.title_error")),this.clicked.set(!1)})}clearWallpaper(){this.selectedFile.set(null),this.wallpaperUrl.set(this.wallpaperUrl()===this.originalWallpaperUrl()?null:this.originalWallpaperUrl());let t=this.wallpaperInput();t&&(t.nativeElement.value="")}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],viewQuery:function(n,r){n&1&&st(r.wallpaperInput,Gi,5),n&2&&ft()},decls:36,vars:28,consts:[["wallpaperInput",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-image","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"mb-3","text-center"],[1,"position-relative","d-inline-block"],[1,"gradient","anim","rounded",2,"height","200px","width","350px","margin","0 auto"],[1,"mb-0"],["type","file","id","wallpaper","accept","image/*",1,"form-control",3,"change"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],["alt","Current Wallpaper",1,"img-fluid","rounded","mx-auto","d-block",2,"height","200px",3,"src"],[1,"btn","btn-danger","position-absolute",2,"top","10px","right","10px",3,"click"],[1,"fas","fa-trash"]],template:function(n,r){if(n&1){let y=B();b(0,"div",1)(1,"div",2)(2,"h5",3),d(3),o(4,"translate"),x(),b(5,"button",4),o(6,"translate"),V("click",function(){return E(y),w(r.dismissModal())}),x()(),b(7,"div",5)(8,"div",6),P(9,"i",7),x(),b(10,"ul",8)(11,"li"),d(12),o(13,"translate"),x(),b(14,"li"),d(15),o(16,"translate"),x(),b(17,"li"),d(18),o(19,"translate"),x()(),b(20,"div",9),m(21,qi,5,4,"div",10)(22,Qi,1,0,"div",11),x(),b(23,"div",12)(24,"input",13,0),V("change",function(S){return E(y),w(r.onFileChange(S.target.files))}),x()()(),b(26,"div",14)(27,"div",15)(28,"button",16),V("click",function(){return E(y),w(r.dismissModal())}),d(29),o(30,"translate"),x()(),P(31,"div",17),b(32,"div",18)(33,"button",19),V("click",function(){return E(y),w(r.saveWallpaper())}),d(34),o(35,"translate"),x()()()()}n&2&&(i(3),h(s(4,11,"settings.display.wallpaper")),i(2),A("disabled",r.clicked()),f("aria-label",s(6,13,"form.button_close")),i(7),h(s(13,15,"settings.display.wallpaper_intro")),i(3),h(Q(16,17,"settings.display.wallpaper_rule",Y(26,ji,r.maxFileSizeText))),i(3),h(s(19,20,"settings.display.wallpaper_rule2")),i(3),u(r.wallpaperUrl?21:22),i(7),A("disabled",r.clicked()),i(),C(" ",s(30,22,"form.button_close")," "),i(4),A("disabled",r.wallpaperUrl===r.originalWallpaperUrl||r.clicked),i(),C(" ",s(35,24,"form.button_save")," "))},dependencies:[ut,L],styles:[".anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}"]})}return e})();var Ji=["searchInput"],Xi=["sslKeyCertInput"],Yi=["sslPfxInput"],Zi=()=>({standalone:!0}),tt=(e,p)=>({"fa-chevron-down":e,"fa-chevron-right":p}),Mt=e=>({link:e}),tn=(e,p)=>({"badge-danger":e,"badge-info":p});function en(e,p){if(e&1){let t=B();a(0,"button",13),o(1,"translate"),T("click",function(){E(t);let r=g(2);return w(r.clearSearch())}),c(2,"i",14),l()}e&2&&f("aria-label",s(1,1,"form.button_clear"))}function nn(e,p){if(e&1){let t=B();a(0,"div",8)(1,"div",9)(2,"form",10)(3,"input",11,0),o(5,"translate"),T("ngModelChange",function(r){E(t);let y=g();return w(y.searchQuery.set(r))})("ngModelChange",function(){E(t);let r=g();return w(r.filterSettings())}),l(),m(6,en,3,3,"button",12),l()()()}if(e&2){let t=g();i(3),_("placeholder",s(5,4,"form.search"))("ngModel",t.searchQuery())("ngModelOptions",Lt(6,Zi)),i(3),u(t.searchQuery?6:-1)}}function an(e,p){e&1&&c(0,"app-spinner")}function on(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function sn(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),l(),a(4,"div",23),c(5,"input",24),o(6,"translate"),m(7,on,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),h(s(3,7,"settings.name")),i(3),q("is-invalid",t.hbNameIsInvalid),_("formControl",t.hbNameFormControl),f("aria-label",s(6,9,"settings.name")),i(2),u(t.hbNameIsSaving?7:-1)}}function rn(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),l(),a(4,"button",27),o(5,"translate"),T("click",function(){E(t);let r=g(4);return w(r.openBackupModal())}),c(6,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),h(s(3,3,"backup.title_backup")),i(2),f("aria-label",s(5,5,"backup.title_backup")))}function ln(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),l(),a(4,"button",27),o(5,"translate"),T("click",function(){E(t);let r=g(4);return w(r.openConfigBackup())}),c(6,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),h(s(3,3,"config.restore.title")),i(2),f("aria-label",s(5,5,"config.restore.title")))}function dn(e,p){e&1&&(a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),l(),a(4,"a",29),o(5,"translate"),c(6,"i",28),l()()),e&2&&(_("@smoothHide",void 0),i(2),h(s(3,3,"menu.tooltip_user_accounts")),i(2),f("aria-label",s(5,5,"menu.tooltip_user_accounts")))}function pn(e,p){if(e&1&&(a(0,"ul",20),m(1,sn,8,11,"li",21),m(2,rn,7,7,"li",22),m(3,ln,7,7,"li",22),m(4,dn,7,7,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-name")?-1:1),i(),u(t.isItemHidden("setting-backup")?-1:2),i(),u(t.isItemHidden("setting-restore")?-1:3),i(),u(t.isItemHidden("setting-users")?-1:4)}}function cn(e,p){if(e&1){let t=B();a(0,"div",15)(1,"div",17),T("click",function(){E(t);let r=g(2);return w(r.toggleSection("general"))}),a(2,"h5",18),c(3,"i",19),d(4),o(5,"translate"),l()(),m(6,pn,5,4,"ul",20),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().general?"true":"false")("aria-controls","fieldsGeneral"),i(2),D(N(8,tt,t.showFields().general,!t.showFields().general)),i(),C(" ",s(5,6,"settings.general.title_general")," "),i(2),u(t.showFields().general?6:-1)}}function mn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function un(e,p){if(e&1&&(a(0,"li",21),d(1),o(2,"translate"),a(3,"div",23)(4,"select",31)(5,"option",32),d(6),o(7,"translate"),l(),a(8,"option",33),d(9,"Bulgarian (bg)"),l(),a(10,"option",34),d(11,"Catalan (ca)"),l(),a(12,"option",35),d(13,"Chinese - Simplified (zh-CN)"),l(),a(14,"option",36),d(15,"Chinese - Traditional (zh-TW)"),l(),a(16,"option",37),d(17,"Czech (cs)"),l(),a(18,"option",38),d(19,"Dutch (nl)"),l(),a(20,"option",39),d(21,"English (en)"),l(),a(22,"option",40),d(23,"Finnish (fi)"),l(),a(24,"option",41),d(25,"French (fr)"),l(),a(26,"option",42),d(27,"German (de)"),l(),a(28,"option",43),d(29,"Hebrew (he)"),l(),a(30,"option",44),d(31,"Hungarian (hu)"),l(),a(32,"option",45),d(33,"Indonesian (id)"),l(),a(34,"option",46),d(35,"Italian (it)"),l(),a(36,"option",47),d(37,"Japanese (ja)"),l(),a(38,"option",48),d(39,"Korean (ko)"),l(),a(40,"option",49),d(41,"Macedonian (mk)"),l(),a(42,"option",50),d(43,"Norwegian (no)"),l(),a(44,"option",51),d(45,"Polish (pl)"),l(),a(46,"option",52),d(47,"Portuguese (Brazil)"),l(),a(48,"option",53),d(49,"Portuguese (Portugal)"),l(),a(50,"option",54),d(51,"Russian (ru)"),l(),a(52,"option",55),d(53,"Slovenian (sl)"),l(),a(54,"option",56),d(55,"Spanish (es)"),l(),a(56,"option",57),d(57,"Swedish (sv)"),l(),a(58,"option",58),d(59,"Thai (th)"),l(),a(60,"option",59),d(61,"Turkish (tr)"),l(),a(62,"option",60),d(63,"Ukrainian (uk)"),l()(),m(64,mn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",s(2,5,"settings.display.lang")," "),i(3),_("formControl",t.uiLangFormControl),i(2),h(s(7,7,"form.select.auto")),i(58),u(t.uiLangIsSaving?64:-1)}}function _n(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function gn(e,p){if(e&1&&(a(0,"li",21),d(1),o(2,"translate"),a(3,"div",23)(4,"select",31)(5,"option",61),d(6),o(7,"translate"),l(),a(8,"option",62),d(9),o(10,"translate"),l(),a(11,"option",63),d(12),o(13,"translate"),l(),a(14,"option",64),d(15),o(16,"translate"),l(),a(17,"option",65),d(18),o(19,"translate"),l(),a(20,"option",66),d(21),o(22,"translate"),l(),a(23,"option",67),d(24),o(25,"translate"),l(),a(26,"option",68),d(27),o(28,"translate"),l(),a(29,"option",69),d(30),o(31,"translate"),l(),a(32,"option",70),d(33),o(34,"translate"),l(),a(35,"option",71),d(36),o(37,"translate"),l(),a(38,"option",72),d(39),o(40,"translate"),l(),a(41,"option",73),d(42),o(43,"translate"),l()(),m(44,_n,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",s(2,17,"settings.display.theme")," "),i(3),_("formControl",t.uiThemeFormControl),i(2),h(s(7,19,"settings.display.orange")),i(3),h(s(10,21,"settings.display.red")),i(3),h(s(13,23,"settings.display.pink")),i(3),h(s(16,25,"settings.display.purple")),i(3),h(s(19,27,"settings.display.deep_purple")),i(3),h(s(22,29,"settings.display.indigo")),i(3),h(s(25,31,"settings.display.blue")),i(3),h(s(28,33,"settings.display.bluegrey")),i(3),h(s(31,35,"settings.display.cyan")),i(3),h(s(34,37,"settings.display.green")),i(3),h(s(37,39,"settings.display.teal")),i(3),h(s(40,41,"settings.display.grey")),i(3),h(s(43,43,"settings.display.brown")),i(2),u(t.uiThemeIsSaving?44:-1)}}function hn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Cn(e,p){if(e&1&&(a(0,"li",21),d(1),o(2,"translate"),a(3,"div",23)(4,"select",31)(5,"option",32),d(6),o(7,"translate"),l(),a(8,"option",74),d(9),o(10,"translate"),l(),a(11,"option",75),d(12),o(13,"translate"),l()(),m(14,hn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",s(2,7,"settings.display.lighting_mode")," "),i(3),_("formControl",t.uiLightFormControl),i(2),h(s(7,9,"form.select.auto")),i(3),h(s(10,11,"settings.display.light")),i(3),h(s(13,13,"settings.display.dark")),i(2),u(t.uiLightIsSaving?14:-1)}}function fn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function vn(e,p){if(e&1&&(a(0,"li",21),d(1),o(2,"translate"),a(3,"div",23)(4,"select",31)(5,"option",76),d(6),o(7,"translate"),l(),a(8,"option",77),d(9),o(10,"translate"),l()(),m(11,fn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",s(2,6,"settings.display.menu_mode")," "),i(3),_("formControl",t.uiMenuFormControl),i(2),h(s(7,8,"settings.display.menu_default")),i(3),h(s(10,10,"settings.display.menu_freeze")),i(2),u(t.uiMenuIsSaving?11:-1)}}function bn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function xn(e,p){if(e&1&&(a(0,"li",21),d(1),o(2,"translate"),a(3,"div",23)(4,"select",31)(5,"option",78),d(6),o(7,"translate"),l(),a(8,"option",79),d(9),o(10,"translate"),l()(),m(11,bn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",s(2,6,"settings.display.temp_units")," "),i(3),_("formControl",t.uiTempFormControl),i(2),h(s(7,8,"settings.display.temp_units.c")),i(3),h(s(10,10,"settings.display.temp_units.f")),i(2),u(t.uiTempIsSaving?11:-1)}}function Sn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function yn(e,p){if(e&1&&(a(0,"li",22),d(1),o(2,"translate"),a(3,"div",80)(4,"div",81),c(5,"input",82),o(6,"translate"),c(7,"label",83),l(),m(8,Sn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(),C(" ",s(2,5,"settings.display.show_betas")," "),i(4),_("formControl",t.uiAlwaysShowBetasFormControl),f("aria-label",s(6,7,"settings.display.show_betas")),i(3),u(t.uiAlwaysShowBetasIsSaving?8:-1)}}function In(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),l(),a(4,"button",27),o(5,"translate"),T("click",function(){E(t);let r=g(4);return w(r.openWallpaperModal())}),c(6,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),h(s(3,3,"settings.display.wallpaper")),i(2),f("aria-label",s(5,5,"settings.display.wallpaper")))}function En(e,p){if(e&1&&(a(0,"ul",30),m(1,un,65,9,"li",21),m(2,gn,45,45,"li",21),m(3,Cn,15,15,"li",21),m(4,vn,12,12,"li",21),m(5,xn,12,12,"li",21),m(6,yn,9,9,"li",22),m(7,In,7,7,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-lang")?-1:1),i(),u(t.isItemHidden("setting-theme")?-1:2),i(),u(t.isItemHidden("setting-lighting")?-1:3),i(),u(t.isItemHidden("setting-menu")?-1:4),i(),u(t.isItemHidden("setting-temp")?-1:5),i(),u(t.isItemHidden("setting-betas")?-1:6),i(),u(t.isItemHidden("setting-wallpaper")?-1:7)}}function wn(e,p){if(e&1){let t=B();a(0,"div",15)(1,"div",17),T("click",function(){E(t);let r=g(2);return w(r.toggleSection("display"))}),a(2,"h5",18),c(3,"i",19),d(4),o(5,"translate"),l()(),m(6,En,8,7,"ul",30),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().display?"true":"false")("aria-controls","fieldsDisplay"),i(2),D(N(8,tt,t.showFields().display,!t.showFields().display)),i(),C(" ",s(5,6,"settings.general.title_display")," "),i(2),u(t.showFields().display?6:-1)}}function kn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Tn(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),a(4,"code"),d(5,"-D"),l(),c(6,"br"),a(7,"small",85),d(8),o(9,"translate"),l()(),a(10,"div",80)(11,"div",81),c(12,"input",86),o(13,"translate"),c(14,"label",87),l(),m(15,kn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.startup.debug")," "),i(6),h(s(9,8,t.debugFieldDesc)),i(4),_("formControl",t.hbDebugFormControl),f("aria-label",s(13,10,"settings.startup.debug")),i(3),u(t.hbDebugIsSaving?15:-1)}}function Bn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function $n(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),a(4,"code"),d(5,"-I"),l(),c(6,"br"),a(7,"small",85),d(8),o(9,"translate"),l()(),a(10,"div",80)(11,"div",81),c(12,"input",88),o(13,"translate"),c(14,"label",89),l(),m(15,Bn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.startup.insecure")," "),i(6),h(s(9,8,"settings.startup.insecure_desc")),i(4),_("formControl",t.hbInsecureFormControl),f("aria-label",s(13,10,"settings.startup.insecure")),i(3),u(t.hbInsecureIsSaving?15:-1)}}function Fn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Mn(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),a(4,"code"),d(5,"-K"),l(),c(6,"br"),a(7,"small",85),d(8),o(9,"translate"),l()(),a(10,"div",80)(11,"div",81),c(12,"input",90),o(13,"translate"),c(14,"label",91),l(),m(15,Fn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.startup.keep_accessories")," "),i(6),h(s(9,8,"settings.startup.keep_accessories_desc")),i(4),_("formControl",t.hbKeepFormControl),f("aria-label",s(13,10,"settings.startup.keep_accessories")),i(3),u(t.hbKeepIsSaving?15:-1)}}function Pn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Rn(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),a(4,"span",92),d(5),o(6,"translate"),l(),c(7,"br"),a(8,"small",85),c(9,"span",93),o(10,"translate"),d(11),o(12,"translate"),l()(),a(13,"div",94)(14,"div",95),c(15,"input",96),o(16,"translate"),m(17,Pn,1,1,"i",25),l()()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,14,"settings.startup.scheduled_restart")," "),i(3),h(s(6,16,"common.labels.beta")),i(4),_("innerHtml",Q(10,18,"settings.startup.scheduled_restart_desc",Y(25,Mt,t.linkCron)),et),i(2),C(" ",s(12,21,"settings.startup.scheduled_restart_desc_2")," "),i(4),nt("letter-spacing","0.15em")("text-align","center"),q("is-invalid",t.scheduledRestartCronIsInvalid),_("formControl",t.scheduledRestartCronFormControl),f("aria-label",s(16,23,"settings.startup.scheduled_restart")),i(2),u(t.scheduledRestartCronIsSaving?17:-1)}}function Dn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Vn(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",80)(9,"div",81),c(10,"input",97),o(11,"translate"),c(12,"label",98),l(),m(13,Dn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.startup.metrics")),i(4),h(s(7,8,"settings.startup.metrics_desc")),i(4),_("formControl",t.uiMetricsFormControl),f("aria-label",s(11,10,"settings.startup.metrics")),i(3),u(t.uiMetricsIsSaving?13:-1)}}function Nn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function An(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",99),o(10,"translate"),m(11,Nn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.network.hb_package")),i(4),h(s(7,8,"settings.network.hb_package_desc")),i(3),_("formControl",t.hbPackageFormControl),f("aria-label",s(10,10,"settings.network.hb_package")),i(2),u(t.hbPackageIsSaving?11:-1)}}function Hn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Ln(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function On(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",101),c(9,"input",102),o(10,"translate"),m(11,Ln,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.linux.restart")),i(4),h(s(7,8,"settings.linux.restart_desc")),i(3),_("formControl",t.hbLinuxRestartFormControl),f("aria-label",s(10,10,"settings.linux.restart")),i(2),u(t.hbLinuxRestartIsSaving?11:-1)}}function zn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Un(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",103),o(10,"translate"),m(11,zn,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.linux.temp")),i(4),h(s(7,8,"settings.linux.temp_desc")),i(3),_("formControl",t.uiTempFileFormControl),f("aria-label",s(10,10,"settings.linux.temp")),i(2),u(t.uiTempFileIsSaving?11:-1)}}function Wn(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",100),o(10,"translate"),m(11,Hn,1,1,"i",25),l()(),m(12,On,12,12,"li",21),m(13,Un,12,12,"li",21)),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,8,"settings.linux.shutdown")),i(4),h(s(7,10,"settings.linux.shutdown_desc")),i(3),_("formControl",t.hbLinuxShutdownFormControl),f("aria-label",s(10,12,"settings.linux.shutdown")),i(2),u(t.hbLinuxShutdownIsSaving?11:-1),i(),u(t.isItemHidden("setting-linux-restart")?-1:12),i(),u(t.runningOnRaspberryPi?13:-1)}}function Kn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Gn(e,p){if(e&1&&(a(0,"li",21)(1,"span")(2,"span",104),d(3,"DEBUG"),l(),c(4,"br")(5,"small",105),o(6,"translate"),l(),a(7,"div",23),c(8,"input",106),m(9,Kn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(5),_("innerHTML",Q(6,4,"settings.service.debug_tooltip",Y(7,Mt,t.linkDebug)),et),i(3),_("formControl",t.hbEnvDebugFormControl),i(),u(t.hbEnvDebugIsSaving?9:-1)}}function jn(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function qn(e,p){if(e&1&&(a(0,"li",21)(1,"span")(2,"span",104),d(3,"NODE_OPTIONS"),l(),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",107),m(10,jn,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(6),h(s(7,4,"settings.service.node_tooltip")),i(3),_("formControl",t.hbEnvNodeFormControl),i(),u(t.hbEnvNodeIsSaving?10:-1)}}function Qn(e,p){e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"a",108),o(9,"translate"),c(10,"i",28),l()()),e&2&&(_("@smoothHide",void 0),i(2),C(" ",s(3,4,"menu.docker.startup_script")),i(4),h(s(7,6,"platform.docker.script_help")),i(2),f("aria-label",s(9,8,"menu.docker.startup_script")))}function Jn(e,p){if(e&1&&(a(0,"ul",84),m(1,Tn,16,12,"li",22),m(2,$n,16,12,"li",22),m(3,Mn,16,12,"li",22),m(4,Rn,18,27,"li",21),m(5,Vn,14,12,"li",22),m(6,An,12,12,"li",21),m(7,Wn,14,14),m(8,Gn,10,9,"li",21),m(9,qn,11,6,"li",21),m(10,Qn,11,10,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-debug")?-1:1),i(),u(t.isItemHidden("setting-insecure")?-1:2),i(),u(t.isItemHidden("setting-keep")?-1:3),i(),u(t.isItemHidden("setting-scheduled-restart")?-1:4),i(),u(t.isItemHidden("setting-metrics-startup")?-1:5),i(),u(t.isItemHidden("setting-package-path")?-1:6),i(),u(t.platform==="linux"?7:-1),i(),u(t.isItemHidden("setting-env-debug-manual")?-1:8),i(),u(t.isItemHidden("setting-env-node")?-1:9),i(),u(t.runningInDocker?10:-1)}}function Xn(e,p){if(e&1){let t=B();a(0,"div",15)(1,"div",17),T("click",function(){E(t);let r=g(2);return w(r.toggleSection("startup"))}),a(2,"h5",18),c(3,"i",19),d(4),o(5,"translate"),l()(),m(6,Jn,11,10,"ul",84),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().startup?"true":"false")("aria-controls","fieldsStartup"),i(2),D(N(8,tt,t.showFields().startup,!t.showFields().startup)),i(),C(" ",s(5,6,"settings.title_startup_options")," "),i(2),u(t.showFields().startup?6:-1)}}function Yn(e,p){e&1&&c(0,"i",114)}function Zn(e,p){if(e&1&&(a(0,"span",113),m(1,Yn,1,0,"i",114),d(2),a(3,"span",115),d(4),o(5,"translate"),l()()),e&2){let t=p.$implicit;D(N(7,tn,t.missing,!t.missing)),i(),u(t.missing?1:-1),i(),C(" ",t.iface,": "),i(2),h(t.missing?s(5,5,"settings.mdns_advertiser_not_connected"):t.ip4||t.ip6)}}function ta(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),c(4,"br"),a(5,"div",110),d(6),o(7,"translate"),l(),G(8,Zn,6,10,"span",111,K),l(),a(10,"button",112),o(11,"translate"),T("click",function(){E(t);let r=g(4);return w(r.selectNetworkInterfaces())}),c(12,"i",28),l()()}if(e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,5,"settings.network.title_network_interfaces")),i(4),h(s(7,7,"settings.network.message_network_interface")),i(2),j(t.adaptersSelected()),i(2),_("disabled",!t.adaptersAvailable().length),f("aria-label",s(11,9,"settings.network.title_network_interfaces"))}}function ea(e,p){e&1&&(a(0,"option",116),d(1),o(2,"translate"),l()),e&2&&(i(),C("Avahi (",s(2,1,"settings.mdns_advertiser_rec"),")"))}function ia(e,p){e&1&&(a(0,"option",119),d(1),o(2,"translate"),l()),e&2&&(i(),C("systemd-resolved (",s(2,1,"settings.mdns_advertiser_exp"),")"))}function na(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function aa(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23)(9,"select",31),o(10,"translate"),m(11,ea,3,3,"option",116),a(12,"option",117),d(13),o(14,"translate"),l(),a(15,"option",118),d(16,"Bonjour HAP"),l(),m(17,ia,3,3,"option",119),l(),m(18,na,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,9,"settings.mdns_advertiser")),i(4),h(s(7,11,"settings.mdns_advertiser_help")),i(3),_("formControl",t.hbMDnsFormControl),f("aria-label",s(10,13,"settings.mdns_advertiser")),i(2),u(t.showAvahiMdnsOption()?11:-1),i(2),C(" Ciao ",t.showAvahiMdnsOption?"":"("+s(14,15,"settings.mdns_advertiser_rec")+")"," "),i(4),u(t.showResolvedMdnsOption()?17:-1),i(),u(t.hbMDnsIsSaving?18:-1)}}function oa(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function sa(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",120),o(10,"translate"),m(11,oa,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,8,"settings.network.port_hb")),i(4),h(s(7,10,"settings.network.port_hb_desc")),i(3),q("is-invalid",t.hbPortIsInvalid),_("formControl",t.hbPortFormControl),f("aria-label",s(10,12,"settings.network.port_hb")),i(2),u(t.hbPortIsSaving?11:-1)}}function ra(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function la(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",120),o(10,"translate"),m(11,ra,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,8,"settings.network.port_start")),i(4),h(s(7,10,"settings.network.port_start_desc")),i(3),q("is-invalid",t.hbStartPortIsInvalid),_("formControl",t.hbStartPortFormControl),f("aria-label",s(10,12,"settings.network.port_start")),i(2),u(t.hbStartPortIsSaving?11:-1)}}function da(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function pa(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",120),o(10,"translate"),m(11,da,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,8,"settings.network.port_end")),i(4),h(s(7,10,"settings.network.port_end_desc")),i(3),q("is-invalid",t.hbEndPortIsInvalid),_("formControl",t.hbEndPortFormControl),f("aria-label",s(10,12,"settings.network.port_end")),i(2),u(t.hbEndPortIsSaving?11:-1)}}function ca(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123),d(3),o(4,"translate"),l()),e&2&&(i(3),C(" ",s(4,1,"settings.warning_pwa")," "))}function ma(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function ua(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br")(5,"small",121),o(6,"translate"),m(7,ca,5,3),l(),a(8,"div",23),c(9,"input",122),o(10,"translate"),m(11,ma,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,7,"settings.network.host")),i(3),_("innerHtml",s(6,9,"settings.network.host_desc"),et),i(2),u(t.isPwa?7:-1),i(2),_("formControl",t.uiHostFormControl),f("aria-label",s(10,11,"settings.network.host")),i(2),u(t.uiHostIsSaving?11:-1)}}function _a(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123),d(3),o(4,"translate"),l()),e&2&&(i(3),C(" ",s(4,1,"settings.warning_pwa")," "))}function ga(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function ha(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l(),m(8,_a,5,3),l(),a(9,"div",23),c(10,"input",124),o(11,"translate"),m(12,ga,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,7,"settings.network.proxy")),i(4),h(s(7,9,"settings.network.proxy_desc")),i(2),u(t.isPwa?8:-1),i(2),_("formControl",t.uiProxyHostFormControl),f("aria-label",s(11,11,"settings.network.proxy")),i(2),u(t.uiProxyHostIsSaving?12:-1)}}function Ca(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123),d(3),o(4,"translate"),l()),e&2&&(i(3),C(" ",s(4,1,"settings.warning_pwa")," "))}function fa(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function va(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l(),m(8,Ca,5,3),l(),a(9,"div",23),c(10,"input",125),o(11,"translate"),m(12,fa,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,9,"settings.network.port_ui")),i(4),h(s(7,11,"settings.network.port_ui_desc")),i(2),u(t.isPwa?8:-1),i(2),q("is-invalid",t.uiPortIsInvalid),_("formControl",t.uiPortFormControl),f("aria-label",s(11,13,"settings.network.port_ui")),i(2),u(t.uiPortIsSaving?12:-1)}}function ba(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123)(3,"span",93),o(4,"translate"),l()),e&2&&(i(3),_("innerHtml",s(4,1,"settings.warning_webroot"),et))}function xa(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123)(3,"span",93),o(4,"translate"),l()),e&2&&(i(3),_("innerHtml",s(4,1,"settings.warning_pwa"),et))}function Sa(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function ya(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),a(4,"span",92),d(5),o(6,"translate"),l(),c(7,"br")(8,"small",121),o(9,"translate"),m(10,ba,5,3)(11,xa,5,3),l(),a(12,"div",23),c(13,"input",126),o(14,"translate"),m(15,Sa,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,8,"settings.network.webroot")," "),i(3),h(s(6,10,"common.labels.beta")),i(3),_("innerHtml",s(9,12,"settings.network.webroot_desc"),et),i(2),u(t.webrootSettingDisabledAccess?10:t.isPwa?11:-1),i(3),_("formControl",t.uiWebrootFormControl),f("aria-label",s(14,14,"settings.network.webroot")),i(2),u(t.uiWebrootIsSaving?15:-1)}}function Ia(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Ea(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),a(4,"span",92),d(5),o(6,"translate"),l(),c(7,"br"),a(8,"small",85),d(9),o(10,"translate"),l()(),a(11,"div",80)(12,"div",81),c(13,"input",127),o(14,"translate"),c(15,"label",128),l(),m(16,Ia,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,7,"settings.network.mdns_advertise")," "),i(3),h(s(6,9,"common.labels.beta")),i(4),h(s(10,11,"settings.network.mdns_advertise_help")),i(4),_("formControl",t.enableMdnsAdvertiseFormControl),f("aria-label",s(14,13,"settings.network.mdns_advertise")),i(3),u(t.enableMdnsAdvertiseIsSaving?16:-1)}}function wa(e,p){if(e&1&&(a(0,"ul",109),m(1,ta,13,11,"li",22),m(2,aa,19,17,"li",21),m(3,sa,12,14,"li",21),m(4,la,12,14,"li",21),m(5,pa,12,14,"li",21),m(6,ua,12,13,"li",21),m(7,ha,13,13,"li",21),m(8,va,13,15,"li",21),m(9,ya,16,16,"li",21),m(10,Ea,17,15,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-interfaces")?-1:1),i(),u(t.isItemHidden("setting-mdns")?-1:2),i(),u(t.isItemHidden("setting-port-hb")?-1:3),i(),u(t.isItemHidden("setting-port-range")?-1:4),i(),u(t.isItemHidden("setting-port-end")?-1:5),i(),u(t.isItemHidden("setting-network-host")?-1:6),i(),u(t.isItemHidden("setting-network-proxy")?-1:7),i(),u(t.isItemHidden("setting-ui-port-network")?-1:8),i(),u(t.isItemHidden("setting-webroot-network")?-1:9),i(),u(t.isItemHidden("setting-mdns-advertise")?-1:10)}}function ka(e,p){if(e&1){let t=B();a(0,"div",15)(1,"div",17),T("click",function(){E(t);let r=g(2);return w(r.toggleSection("network"))}),a(2,"h5",18),c(3,"i",19),d(4),o(5,"translate"),l()(),m(6,wa,11,10,"ul",109),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().network?"true":"false")("aria-controls","fieldsNetwork"),i(2),D(N(8,tt,t.showFields().network,!t.showFields().network)),i(),C(" ",s(5,6,"settings.network.title_network")," "),i(2),u(t.showFields().network?6:-1)}}function Ta(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Ba(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),a(4,"span",92),d(5),o(6,"translate"),l(),c(7,"br"),a(8,"small",85),d(9),o(10,"translate"),l()(),a(11,"div",80)(12,"div",81),c(13,"input",131),o(14,"translate"),c(15,"label",132),l(),m(16,Ta,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,7,"settings.matter.enabled")," "),i(3),h(s(6,9,"common.labels.beta")),i(4),h(s(10,11,"settings.matter.enabled_desc")),i(4),_("formControl",t.matterEnabledFormControl),f("aria-label",s(14,13,"settings.matter.enabled")),i(3),u(t.matterEnabledIsSaving?16:-1)}}function $a(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Fa(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",133),o(10,"translate"),m(11,$a,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",s(3,8,"settings.matter.port")),i(4),h(s(7,10,"settings.matter.port_desc")),i(3),q("is-invalid",t.matterPortIsInvalid),_("formControl",t.matterPortFormControl),f("aria-label",s(10,12,"settings.matter.port")),i(2),u(t.matterPortIsSaving?11:-1)}}function Ma(e,p){if(e&1&&m(0,Fa,12,14,"li",21),e&2){let t=g(4);u(t.isItemHidden("setting-matter-port")?-1:0)}}function Pa(e,p){if(e&1&&(a(0,"p",129),d(1),o(2,"translate"),l(),a(3,"ul",130),m(4,Ba,17,15,"li",22),m(5,Ma,1,1),l()),e&2){let t=g(3);i(),h(s(2,3,"settings.matter.desc")),i(3),u(t.isItemHidden("setting-matter-enabled")?-1:4),i(),u(t.matterEnabledFormControl.value?5:-1)}}function Ra(e,p){if(e&1){let t=B();a(0,"div",15)(1,"div",17),T("click",function(){E(t);let r=g(2);return w(r.toggleSection("matter"))}),a(2,"h5",18),c(3,"i",19),d(4),o(5,"translate"),l()(),m(6,Pa,6,5),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().matter?"true":"false")("aria-controls","fieldsMatter"),i(2),D(N(8,tt,t.showFields().matter,!t.showFields().matter)),i(),C(" ",s(5,6,"settings.matter.title")," "),i(2),u(t.showFields().matter?6:-1)}}function Da(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Va(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",135),o(10,"translate"),m(11,Da,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,8,"settings.terminal.log_max")),i(4),h(s(7,10,"settings.terminal.log_max_desc")),i(3),q("is-invalid",t.hbLogSizeIsInvalid),_("formControl",t.hbLogSizeFormControl),f("aria-label",s(10,12,"settings.terminal.log_max")),i(2),u(t.hbLogSizeIsSaving?11:-1)}}function Na(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Aa(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",136),o(10,"translate"),m(11,Na,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,8,"settings.terminal.log_truncate")),i(4),h(s(7,10,"settings.terminal.log_truncate_desc")),i(3),q("is-invalid",t.hbLogTruncateIsInvalid),_("formControl",t.hbLogTruncateFormControl),f("aria-label",s(10,12,"settings.terminal.log_truncate")),i(2),u(t.hbLogTruncateIsSaving?11:-1)}}function Ha(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function La(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",80)(9,"div",81),c(10,"input",137),o(11,"translate"),c(12,"label",138),l(),m(13,Ha,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.terminal.persistence")),i(4),h(s(7,8,"settings.terminal.persistence_help")),i(4),_("formControl",t.uiTerminalPersistenceFormControl),f("aria-label",s(11,10,"settings.terminal.persistence")),i(3),u(t.uiTerminalPersistenceIsSaving?13:-1)}}function Oa(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function za(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",80)(9,"div",81),c(10,"input",139),o(11,"translate"),c(12,"label",140),l(),m(13,Oa,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.terminal.warning")),i(4),h(s(7,8,"settings.terminal.warning_help")),i(4),_("formControl",t.uiTerminalHideWarningFormControl),f("aria-label",s(11,10,"settings.terminal.warning")),i(3),u(t.uiTerminalHideWarningIsSaving?13:-1)}}function Ua(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Wa(e,p){if(e&1&&(a(0,"li",21)(1,"div",141)(2,"span"),d(3),o(4,"translate"),l(),a(5,"div",142),d(6),o(7,"translate"),l()(),a(8,"div",23),c(9,"input",143),o(10,"translate"),m(11,Ua,1,1,"i",25),l()()),e&2){let t=g(6);_("@smoothHide",void 0),i(3),h(s(4,8,"settings.terminal.buffer_size")),i(3),h(s(7,10,"settings.terminal.buffer_size_help")),i(3),q("is-invalid",t.uiTerminalBufferSizeIsInvalid),_("formControl",t.uiTerminalBufferSizeFormControl),f("aria-label",s(10,12,"settings.terminal.buffer_size")),i(2),u(t.uiTerminalBufferSizeIsSaving?11:-1)}}function Ka(e,p){if(e&1&&m(0,Wa,12,14,"li",21),e&2){let t=g(5);u(t.isItemHidden("setting-terminal-buffer")?-1:0)}}function Ga(e,p){if(e&1&&(m(0,La,14,12,"li",22),m(1,za,14,12,"li",22),m(2,Ka,1,1)),e&2){let t=g(4);u(t.isItemHidden("setting-terminal-persistence")?-1:0),i(),u(t.uiTerminalPersistenceFormControl.value?-1:1),i(),u(t.uiTerminalPersistenceFormControl.value?2:-1)}}function ja(e,p){if(e&1&&(a(0,"ul",134),m(1,Va,12,14,"li",21),m(2,Aa,12,14,"li",21),m(3,Ga,3,3),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-terminal-log-max")?-1:1),i(),u(t.hbLogSizeFormControl.value>0?2:-1),i(),u(t.enableTerminalAccess?3:-1)}}function qa(e,p){if(e&1){let t=B();a(0,"div",15)(1,"div",17),T("click",function(){E(t);let r=g(2);return w(r.toggleSection("terminal"))}),a(2,"h5",18),c(3,"i",19),d(4),o(5,"translate"),l()(),m(6,ja,4,3,"ul",134),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().terminal?"true":"false")("aria-controls","fieldsTerminal"),i(2),D(N(8,tt,t.showFields().terminal,!t.showFields().terminal)),i(),C(" ",s(5,6,"settings.network.title_terminal")," "),i(2),u(t.showFields().terminal?6:-1)}}function Qa(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Ja(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",80)(9,"div",81),c(10,"input",145),o(11,"translate"),c(12,"label",146),l(),m(13,Qa,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.security.auth")),i(4),h(s(7,8,"settings.security.auth_desc")),i(4),_("formControl",t.uiAuthFormControl),f("aria-label",s(11,10,"settings.security.auth")),i(3),u(t.uiAuthIsSaving?13:-1)}}function Xa(e,p){e&1&&c(0,"i",149),e&2&&_("@fadeInOut",void 0)}function Ya(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),a(4,"span",92),d(5),o(6,"translate"),l(),c(7,"br"),a(8,"small",85),d(9),o(10,"translate"),l()(),a(11,"div",80)(12,"div",81),c(13,"input",147),o(14,"translate"),c(15,"label",148),l(),m(16,Xa,1,1,"i",149),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",s(3,7,"settings.startup.session_inactivity_based")," "),i(3),h(s(6,9,"common.labels.beta")),i(4),h(s(10,11,"settings.startup.session_inactivity_based_desc")),i(4),_("formControl",t.uiSessionTimeoutInactivityBasedFormControl),f("aria-label",s(14,13,"settings.startup.session_inactivity_based")),i(3),u(t.uiSessionTimeoutInactivityBasedIsSaving?16:-1)}}function Za(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function to(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",23)(9,"div",150)(10,"div",80),c(11,"input",151),o(12,"translate"),a(13,"label",152),d(14),o(15,"translate"),l()(),a(16,"div",80),c(17,"input",153),o(18,"translate"),a(19,"label",152),d(20),o(21,"translate"),l()(),a(22,"div",80),c(23,"input",154),o(24,"translate"),a(25,"label",152),d(26),o(27,"translate"),l()()(),m(28,Za,1,1,"i",25),l()()),e&2){let t=g(5);_("@smoothHide",void 0),i(2),C(" ",s(3,19,"settings.startup.session")),i(4),h(s(7,21,"settings.startup.session_desc")),i(5),q("is-invalid",t.uiSessionTimeoutIsInvalid),_("formControl",t.uiSessionTimeoutDaysFormControl),f("aria-label",s(12,23,"settings.startup.session_days")),i(3),h(s(15,25,"settings.startup.session_days")),i(3),q("is-invalid",t.uiSessionTimeoutIsInvalid),_("formControl",t.uiSessionTimeoutHoursFormControl),f("aria-label",s(18,27,"settings.startup.session_hours")),i(3),h(s(21,29,"settings.startup.session_hours")),i(3),q("is-invalid",t.uiSessionTimeoutIsInvalid),_("formControl",t.uiSessionTimeoutMinutesFormControl),f("aria-label",s(24,31,"settings.startup.session_minutes")),i(3),h(s(27,33,"settings.startup.session_minutes")),i(2),u(t.uiSessionTimeoutIsSaving?28:-1)}}function eo(e,p){if(e&1&&(m(0,Ya,17,15,"li",22),m(1,to,29,35,"li",21)),e&2){let t=g(4);u(t.isItemHidden("setting-session-inactivity")?-1:0),i(),u(t.isItemHidden("setting-security-session")?-1:1)}}function io(e,p){if(e&1&&(a(0,"small",85),c(1,"span",93),o(2,"translate"),l()),e&2){let t=g(5);i(),_("innerHtml",Q(2,1,"settings.security.https_raspbian",Y(4,Mt,t.linkRaspbianSsl)),et)}}function no(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123),d(3),o(4,"translate"),l()),e&2&&(i(3),C(" ",s(4,1,"settings.warning_pwa")," "))}function ao(e,p){if(e&1&&(a(0,"small",85),d(1),o(2,"translate"),l(),m(3,no,5,3)),e&2){let t=g(5);i(),h(s(2,2,"settings.security.https_desc")),i(2),u(t.isPwa?3:-1)}}function oo(e,p){e&1&&(a(0,"option",157),d(1),o(2,"translate"),l()),e&2&&(i(),h(s(2,1,"settings.security.https_selfsigned")))}function so(e,p){if(e&1){let t=B();a(0,"button",161),o(1,"translate"),o(2,"translate"),T("click",function(){E(t);let r=g(5);return w(r.validateSsl())}),c(3,"i",162),l()}e&2&&(_("title",at(s(1,3,"settings.security.ssl_validate"))),f("aria-label",s(2,5,"settings.security.ssl_validate")))}function ro(e,p){if(e&1&&(a(0,"li",21)(1,"span"),d(2),o(3,"translate"),c(4,"br"),m(5,io,3,6,"small",85)(6,ao,4,4),l(),a(7,"div",23)(8,"select",155),o(9,"translate"),a(10,"option",156),d(11),o(12,"translate"),l(),m(13,oo,3,3,"option",157),a(14,"option",158),d(15),o(16,"translate"),l(),a(17,"option",159),d(18),o(19,"translate"),l()(),m(20,so,4,7,"button",160),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,11,"settings.security.https")),i(3),u(t.runningOnRaspbianImage?5:6),i(3),_("formControl",t.uiSslTypeFormControl)("hidden",t.runningOnRaspbianImage),f("aria-label",s(9,13,"settings.security.https")),i(3),h(s(12,15,"accessories.control.off")),i(2),u(t.runningOnRaspbianImage?-1:13),i(2),h(s(16,17,"settings.security.https_keycert")),i(3),h(s(19,19,"settings.security.https_pfx")),i(2),u(t.uiSslTypeFormControl.value!=="off"?20:-1)}}function lo(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123),d(3),o(4,"translate"),l()),e&2&&(i(3),C(" ",s(4,1,"settings.warning_pwa")," "))}function po(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function co(e,p){if(e&1){let t=B();a(0,"li",21)(1,"span"),d(2),o(3,"translate"),a(4,"span",92),d(5),o(6,"translate"),l(),c(7,"br"),a(8,"small",85),d(9),o(10,"translate"),l()(),m(11,lo,5,3),a(12,"div",23),c(13,"input",163),o(14,"translate"),a(15,"button",164),o(16,"translate"),o(17,"translate"),T("click",function(){E(t);let r=g(4);return w(r.generateSelfSigned("keycert"))}),c(18,"i",165),l(),a(19,"button",166),o(20,"translate"),o(21,"translate"),T("click",function(){E(t);let r=g(4);return w(r.generateSelfSigned("selfsigned"))}),c(22,"i",167),l(),m(23,po,1,1,"i",25),l()()}if(e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,14,"settings.security.selfsigned_hostnames")," "),i(3),h(s(6,16,"common.labels.beta")),i(4),h(s(10,18,"settings.security.selfsigned_hostnames_desc")),i(2),u(t.isPwa?11:-1),i(2),_("formControl",t.uiSslSelfSignedHostnamesFormControl),f("aria-label",s(14,20,"settings.security.selfsigned_hostnames")),i(2),_("title",at(s(16,22,"settings.security.selfsigned_generate_keycert"))),f("aria-label",s(17,24,"settings.security.selfsigned_generate_keycert")),i(4),_("title",at(s(20,26,"settings.security.selfsigned_generate_selfsigned"))),f("aria-label",s(21,28,"settings.security.selfsigned_generate_selfsigned")),i(4),u(t.uiSslSelfSignedHostnamesIsSaving?23:-1)}}function mo(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123),d(3),o(4,"translate"),l()),e&2&&(i(3),C(" ",s(4,1,"settings.warning_pwa")," "))}function uo(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function _o(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123),d(3),o(4,"translate"),l()),e&2&&(i(3),C(" ",s(4,1,"settings.warning_pwa")," "))}function go(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function ho(e,p){if(e&1){let t=B();a(0,"li",21)(1,"span"),d(2),o(3,"translate"),l(),m(4,_o,5,3),a(5,"div",168)(6,"button",173),o(7,"translate"),o(8,"translate"),T("click",function(){E(t);let r=g(6);return w(r.triggerKeyCertSelect())}),c(9,"i",170),l(),c(10,"input",174),o(11,"translate"),m(12,go,1,1,"i",25),l()()}if(e&2){let t=g(6);_("@smoothHide",void 0),i(2),h(s(3,9,"settings.security.cert")),i(2),u(t.isPwa?4:-1),i(2),_("title",at(s(7,11,"settings.security.ssl_upload_keycert_aria"))),f("aria-label",s(8,13,"settings.security.ssl_upload_keycert_aria")),i(4),_("formControl",t.uiSslCertFormControl),f("aria-label",s(11,15,"settings.security.cert")),i(2),u(t.uiSslCertIsSaving?12:-1)}}function Co(e,p){if(e&1){let t=B();a(0,"li",21)(1,"span"),d(2),o(3,"translate"),l(),m(4,mo,5,3),a(5,"div",168)(6,"button",169),o(7,"translate"),o(8,"translate"),T("click",function(){E(t);let r=g(5);return w(r.triggerKeyCertSelect())}),c(9,"i",170),l(),a(10,"input",171,1),T("change",function(){E(t);let r=Tt(11),y=g(5);return w(y.onSslKeyCertChange(r.files))}),l(),c(12,"input",172),o(13,"translate"),m(14,uo,1,1,"i",25),l()(),m(15,ho,13,17,"li",21)}if(e&2){let t=g(5);_("@smoothHide",void 0),i(2),h(s(3,10,"settings.security.key")),i(2),u(t.isPwa?4:-1),i(2),_("title",at(s(7,12,"settings.security.ssl_upload_keycert_aria"))),f("aria-label",s(8,14,"settings.security.ssl_upload_keycert_aria")),i(6),_("formControl",t.uiSslKeyFormControl),f("aria-label",s(13,16,"settings.security.key")),i(2),u(t.uiSslKeyIsSaving?14:-1),i(),u(t.isItemHidden("setting-security-cert")?-1:15)}}function fo(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123),d(3),o(4,"translate"),l()),e&2&&(i(3),C(" ",s(4,1,"settings.warning_pwa")," "))}function vo(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function bo(e,p){e&1&&(c(0,"br"),a(1,"small",85),c(2,"i",123),d(3),o(4,"translate"),l()),e&2&&(i(3),C(" ",s(4,1,"settings.warning_pwa")," "))}function xo(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function So(e,p){if(e&1){let t=B();a(0,"li",21)(1,"span"),d(2),o(3,"translate"),l(),m(4,bo,5,3),a(5,"div",23)(6,"input",178),o(7,"translate"),T("focus",function(){E(t);let r=g(6);return w(r.showPfxPassphrase=!0)})("blur",function(){E(t);let r=g(6);return w(r.showPfxPassphrase=!1)}),l(),m(8,xo,1,1,"i",25),l()()}if(e&2){let t=g(6);_("@smoothHide",void 0),i(2),h(s(3,7,"settings.security.pass")),i(2),u(t.isPwa?4:-1),i(2),_("type",t.showPfxPassphrase?"text":"password")("formControl",t.uiSslPassphraseFormControl),f("aria-label",s(7,9,"settings.security.pass")),i(2),u(t.uiSslPassphraseIsSaving?8:-1)}}function yo(e,p){if(e&1){let t=B();a(0,"li",21)(1,"span"),d(2),o(3,"translate"),l(),m(4,fo,5,3),a(5,"div",168)(6,"button",175),o(7,"translate"),o(8,"translate"),T("click",function(){E(t);let r=g(5);return w(r.triggerPfxSelect())}),c(9,"i",170),l(),a(10,"input",176,2),T("change",function(){E(t);let r=Tt(11),y=g(5);return w(y.onSslPfxChange(r.files))}),l(),c(12,"input",177),o(13,"translate"),m(14,vo,1,1,"i",25),l()(),m(15,So,9,11,"li",21)}if(e&2){let t=g(5);_("@smoothHide",void 0),i(2),h(s(3,10,"settings.security.pfx")),i(2),u(t.isPwa?4:-1),i(2),_("title",at(s(7,12,"settings.security.ssl_upload_pfx_aria"))),f("aria-label",s(8,14,"settings.security.ssl_upload_pfx_aria")),i(6),_("formControl",t.uiSslPfxFormControl),f("aria-label",s(13,16,"settings.security.pfx")),i(2),u(t.uiSslPfxIsSaving?14:-1),i(),u(t.isItemHidden("setting-security-pass")?-1:15)}}function Io(e,p){if(e&1&&(m(0,Co,16,18),m(1,yo,16,18)),e&2){let t=g(4);u(t.uiSslTypeFormControl.value==="keycert"?0:-1),i(),u(t.uiSslTypeFormControl.value==="pfx"?1:-1)}}function Eo(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"button",27),o(9,"translate"),T("click",function(){E(t);let r=g(4);return w(r.accessoryUiControl())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",s(3,4,"settings.security.ui_control")),i(4),h(s(7,6,"settings.security.ui_control_desc")),i(2),f("aria-label",s(9,8,"settings.security.ui_control")))}function wo(e,p){if(e&1&&(a(0,"ul",144),m(1,Ja,14,12,"li",22),m(2,eo,2,2),m(3,ro,21,21,"li",21),m(4,co,24,30,"li",21),m(5,Io,2,2),m(6,Eo,11,10,"li",22),l()),e&2){let t=g(3);i(),u(t.isItemHidden("setting-security-auth")?-1:1),i(),u(t.uiAuthFormControl.value?2:-1),i(),u(t.isItemHidden("setting-security-https")?-1:3),i(),u(t.uiSslTypeFormControl.value==="selfsigned"?4:-1),i(),u(t.runningOnRaspbianImage?-1:5),i(),u(t.isItemHidden("setting-security-control")?-1:6)}}function ko(e,p){if(e&1){let t=B();a(0,"div",15)(1,"div",17),T("click",function(){E(t);let r=g(2);return w(r.toggleSection("security"))}),a(2,"h5",18),c(3,"i",19),d(4),o(5,"translate"),l()(),m(6,wo,7,6,"ul",144),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().security?"true":"false")("aria-controls","fieldsSecurity"),i(2),D(N(8,tt,t.showFields().security,!t.showFields().security)),i(),C(" ",s(5,6,"settings.network.title_security")," "),i(2),u(t.showFields().security?6:-1)}}function To(e,p){e&1&&c(0,"i",25),e&2&&_("@fadeInOut",void 0)}function Bo(e,p){if(e&1&&(a(0,"li",22)(1,"span"),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"div",80)(9,"div",81),c(10,"input",180),o(11,"translate"),c(12,"label",181),l(),m(13,To,1,1,"i",25),l()()),e&2){let t=g(4);_("@smoothHide",void 0),i(2),C(" ",s(3,6,"settings.accessory.debug")),i(4),h(s(7,8,"settings.accessory.debug_desc")),i(4),_("formControl",t.uiAccDebugFormControl),f("aria-label",s(11,10,"settings.accessory.debug")),i(3),u(t.uiAccDebugIsSaving?13:-1)}}function $o(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"button",27),o(9,"translate"),T("click",function(){E(t);let r=g(4);return w(r.removeSingleCachedAccessories())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",s(3,4,"reset.accessory_ind.title")),i(4),h(s(7,6,"reset.accessory_ind.desc")),i(2),f("aria-label",s(9,8,"reset.accessory_ind.title")))}function Fo(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"button",27),o(9,"translate"),T("click",function(){E(t);let r=g(4);return w(r.removeBridgeAccessories())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",s(3,4,"reset.bridge_accessories.title")),i(4),h(s(7,6,"reset.bridge_accessories.desc")),i(2),f("aria-label",s(9,8,"reset.accessory_all.title")))}function Mo(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"button",27),o(9,"translate"),T("click",function(){E(t);let r=g(4);return w(r.removeAllCachedAccessories())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",s(3,4,"reset.accessory_all.title")),i(4),h(s(7,6,"reset.accessory_all.desc")),i(2),f("aria-label",s(9,8,"reset.accessory_all.title")))}function Po(e,p){if(e&1&&(a(0,"p",129),d(1),o(2,"translate"),l(),a(3,"ul",179),m(4,Bo,14,12,"li",22),m(5,$o,11,10,"li",22),m(6,Fo,11,10,"li",22),m(7,Mo,11,10,"li",22),l()),e&2){let t=g(3);i(),h(s(2,5,"settings.cache.desc")),i(3),u(t.isItemHidden("setting-accessory-debug")?-1:4),i(),u(t.isItemHidden("setting-reset-accessory-ind")?-1:5),i(),u(t.isItemHidden("setting-reset-bridge-accessories")?-1:6),i(),u(t.isItemHidden("setting-reset-accessory-all")?-1:7)}}function Ro(e,p){if(e&1){let t=B();a(0,"div",15)(1,"div",17),T("click",function(){E(t);let r=g(2);return w(r.toggleSection("cache"))}),a(2,"h5",18),c(3,"i",19),d(4),o(5,"translate"),l()(),m(6,Po,8,7),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().cache?"true":"false")("aria-controls","fieldsCache"),i(2),D(N(8,tt,t.showFields().cache,!t.showFields().cache)),i(),C(" ",s(5,6,"menu.label_accessories")," "),i(2),u(t.showFields().cache?6:-1)}}function Do(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),c(4,"br"),a(5,"small",85),d(6),o(7,"translate"),l()(),a(8,"button",27),o(9,"translate"),T("click",function(){E(t);let r=g(4);return w(r.unpairAccessory())}),c(10,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",s(3,4,"reset.bridge_ind.title")),i(4),h(s(7,6,"reset.bridge_ind.desc")),i(2),f("aria-label",s(9,8,"reset.bridge_ind.title")))}function Vo(e,p){if(e&1){let t=B();a(0,"li",22)(1,"span",26),d(2),o(3,"translate"),o(4,"titlecase"),c(5,"br"),a(6,"small",85),d(7),o(8,"translate"),l()(),a(9,"button",27),o(10,"translate"),T("click",function(){E(t);let r=g(4);return w(r.resetHomebridgeState())}),c(11,"i",28),l()()}e&2&&(_("@smoothHide",void 0),i(2),C(" ",s(4,6,s(3,4,"reset.bridge_all.title"))),i(5),h(s(8,8,"reset.bridge_all.desc")),i(2),f("aria-label",s(10,10,"reset.bridge_all.title")))}function No(e,p){if(e&1&&(a(0,"p",129),d(1),o(2,"translate"),l(),a(3,"ul",182),m(4,Do,11,10,"li",22),m(5,Vo,12,12,"li",22),l()),e&2){let t=g(3);i(),h(s(2,3,"reset.bridges.desc")),i(3),u(t.isItemHidden("setting-reset-bridge-ind")?-1:4),i(),u(t.isItemHidden("setting-reset-bridge-all")?-1:5)}}function Ao(e,p){if(e&1){let t=B();a(0,"div",15)(1,"div",17),T("click",function(){E(t);let r=g(2);return w(r.toggleSection("reset"))}),a(2,"h5",18),c(3,"i",19),d(4),o(5,"translate"),l()(),m(6,No,6,5),l()}if(e&2){let t=g(2);i(),f("aria-expanded",t.showFields().reset?"true":"false")("aria-controls","fieldsReset"),i(2),D(N(8,tt,t.showFields().reset,!t.showFields().reset)),i(),C(" ",s(5,6,"reset.bridges.title")," "),i(2),u(t.showFields().reset?6:-1)}}function Ho(e,p){if(e&1&&(m(0,cn,7,11,"div",15),m(1,wn,7,11,"div",15),m(2,Xn,7,11,"div",15),m(3,ka,7,11,"div",15),m(4,Ra,7,11,"div",15),m(5,qa,7,11,"div",15),m(6,ko,7,11,"div",15),m(7,Ro,7,11,"div",15),m(8,Ao,7,11,"div",15),c(9,"div",16)),e&2){let t=g();u(t.isSectionVisible("general")?0:-1),i(),u(t.isSectionVisible("display")?1:-1),i(),u(t.isSectionVisible("startup")?2:-1),i(),u(t.isSectionVisible("network")?3:-1),i(),u(t.isMatterSupported&&t.isSectionVisible("matter")?4:-1),i(),u(t.isSectionVisible("terminal")?5:-1),i(),u(t.isSectionVisible("security")?6:-1),i(),u(t.isSectionVisible("cache")?7:-1),i(),u(t.isSectionVisible("reset")?8:-1)}}var Yr=(()=>{class e{destroyRef=k(Ct);$api=k(U);$modal=k(_t);$notification=k(se);$router=k(J);$settings=k(X);$terminal=k(le);$toastr=k(z);$translate=k(O);searchInput=lt("searchInput",{});sslKeyCertInput=lt("sslKeyCertInput",{});sslPfxInput=lt("sslPfxInput",{});showSearchBar=v(!1,{});searchQuery=v("",{});showFields=v({general:!0,display:!0,startup:!0,network:!0,matter:!0,security:!0,terminal:!0,reset:!0,cache:!0},{});hiddenItems=v({},{});loading=v(!0,{});debugFieldDesc="settings.startup.debug_desc_v1";showAvahiMdnsOption=v(!1,{});showResolvedMdnsOption=v(!1,{});adaptersAvailable=v([],{});adaptersSelected=v([],{});showPfxPassphrase=v(!1,{});hbNameIsInvalid=v(!1,{});hbNameIsSaving=v(!1,{});hbNameFormControl=new M("");uiLangIsSaving=v(!1,{});uiLangFormControl=new M("");uiThemeIsSaving=v(!1,{});uiThemeFormControl=new M("");uiLightIsSaving=v(!1,{});uiLightFormControl=new M("");uiMenuIsSaving=v(!1,{});uiMenuFormControl=new M("");uiTempIsSaving=v(!1,{});uiTempFormControl=new M("");uiAlwaysShowBetasIsSaving=v(!1,{});uiAlwaysShowBetasFormControl=new M(!1);uiTerminalPersistenceIsSaving=v(!1,{});uiTerminalPersistenceFormControl=new M(!1);uiTerminalHideWarningIsSaving=v(!1,{});uiTerminalHideWarningFormControl=new M(!1);uiTerminalBufferSizeIsSaving=v(!1,{});uiTerminalBufferSizeIsInvalid=v(!1,{});uiTerminalBufferSizeFormControl=new M(globalThis.terminal.bufferSize);hbDebugIsSaving=v(!1,{});hbDebugFormControl=new M(!1);hbInsecureIsSaving=v(!1,{});hbInsecureFormControl=new M(!1);hbKeepIsSaving=v(!1,{});hbKeepFormControl=new M(!1);hbEnvDebugIsSaving=v(!1,{});hbEnvDebugFormControl=new M("");hbEnvNodeIsSaving=v(!1,{});hbEnvNodeFormControl=new M("");hbLogSizeIsInvalid=v(!1,{});hbLogSizeIsSaving=v(!1,{});hbLogSizeFormControl=new M(-1);hbLogTruncateIsInvalid=v(!1,{});hbLogTruncateIsSaving=v(!1,{});hbLogTruncateFormControl=new M(0);hbMDnsIsSaving=v(!1,{});hbMDnsFormControl=new M("");enableMdnsAdvertiseFormControl=new M(!1);enableMdnsAdvertiseIsSaving=v(!1,{});hbPortIsInvalid=v(!1,{});hbPortIsSaving=v(!1,{});hbPortFormControl=new M(0);uiPortIsInvalid=v(!1,{});uiPortIsSaving=v(!1,{});uiPortFormControl=new M(0);hbStartPortIsInvalid=v(!1,{});hbStartPortIsSaving=v(!1,{});hbStartPortFormControl=new M(0);hbEndPortIsInvalid=v(!1,{});hbEndPortIsSaving=v(!1,{});hbEndPortFormControl=new M(0);uiHostIsSaving=v(!1,{});uiHostFormControl=new M("");uiWebrootIsSaving=v(!1,{});uiWebrootFormControl=new M("");uiProxyHostIsSaving=v(!1,{});uiProxyHostFormControl=new M("");uiAuthIsSaving=v(!1,{});uiAuthFormControl=new qt(!0);uiSessionTimeoutIsInvalid=v(!1,{});uiSessionTimeoutIsSaving=v(!1,{});uiSessionTimeoutDaysFormControl=new M(0);uiSessionTimeoutHoursFormControl=new M(8);uiSessionTimeoutMinutesFormControl=new M(0);uiSessionTimeoutInactivityBasedIsSaving=v(!1,{});uiSessionTimeoutInactivityBasedFormControl=new M(!1);uiSslTypeFormControl=new M("off");uiSslKeyIsSaving=v(!1,{});uiSslKeyFormControl=new M("");uiSslCertIsSaving=v(!1,{});uiSslCertFormControl=new M("");uiSslPfxIsSaving=v(!1,{});uiSslPfxFormControl=new M("");uiSslPassphraseIsSaving=v(!1,{});uiSslPassphraseFormControl=new M("");uiSslSelfSignedHostnamesIsSaving=v(!1,{});uiSslSelfSignedHostnamesFormControl=new M("");hbPackageIsSaving=v(!1,{});hbPackageFormControl=new M("");uiMetricsIsSaving=v(!1,{});uiMetricsFormControl=new M(!0);uiAccDebugIsSaving=v(!1,{});uiAccDebugFormControl=new M(!1);uiTempFileIsSaving=v(!1,{});uiTempFileFormControl=new M("");hbLinuxShutdownIsSaving=v(!1,{});hbLinuxShutdownFormControl=new M("");hbLinuxRestartIsSaving=v(!1,{});hbLinuxRestartFormControl=new M("");scheduledRestartCronIsSaving=v(!1,{});scheduledRestartCronFormControl=new M("");matterEnabledIsSaving=v(!1,{});matterEnabledFormControl=new M(!1);matterPortIsInvalid=v(!1,{});matterPortIsSaving=v(!1,{});matterPortFormControl=new M(0);matterConfigCache={};webrootSettingDisabledAccess=!1;isPwa=oe();runningOnRaspbianImage=this.$settings.env.runningOnRaspbianImage;restartToastIsShown=!1;linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank" rel="noopener noreferrer"><i class="fa fa-external-link-alt primary-text"></i></a>';linkRaspbianSsl='<a href="https://github.com/homebridge/homebridge-raspbian-image/wiki/SSL-HTTPS-Access" target="_blank" rel="noopener noreferrer"><i class="fa fa-external-link-alt primary-text"></i></a>';linkCron='<a href="https://crontab.guru/" target="_blank" rel="noopener noreferrer"><i class="fa fa-external-link-alt primary-text"></i></a>';toggleSearch(){this.showSearchBar.update(t=>!t),this.showSearchBar()?Rt(()=>{let t=this.searchInput();t&&t.nativeElement.focus()}):this.clearSearch()}clearSearch(){this.searchQuery.set(""),this.filterSettings()}filterSettings(){if(this.hiddenItems.set({}),!this.searchQuery())return;let t=this.searchQuery().toLowerCase(),n=this.getItemsContent(),r={};Object.entries(n).forEach(([y,R])=>{R&&R.toLowerCase().includes(t)||(r[y]=!0)}),this.hiddenItems.set(r)}isItemHidden(t){let n=!!this.hiddenItems()[t];return this.searchQuery(),n}isSectionVisible(t){if(!this.searchQuery())return!0;let r={general:["setting-name","setting-backup","setting-restore","setting-users"],display:["setting-lang","setting-theme","setting-lighting","setting-menu","setting-temp","setting-betas","setting-wallpaper"],startup:["setting-debug","setting-insecure","setting-keep","setting-scheduled-restart","setting-metrics-startup","setting-package-path","setting-linux-restart","setting-env-debug-manual","setting-env-node"],network:["setting-interfaces","setting-mdns","setting-port-hb","setting-port-range","setting-port-end","setting-network-host","setting-network-proxy","setting-ui-port-network","setting-webroot-network","setting-mdns-advertise"],matter:["setting-matter-enabled","setting-matter-port"],terminal:["setting-terminal-log-max","setting-terminal-persistence","setting-terminal-buffer"],security:["setting-security-auth","setting-session-inactivity","setting-security-session","setting-security-https","setting-security-cert","setting-security-pass","setting-security-selfsigned-hostnames","setting-security-control"],cache:["setting-accessory-debug","setting-reset-accessory-ind","setting-reset-bridge-accessories","setting-reset-accessory-all"],reset:["setting-reset-bridge-ind","setting-reset-bridge-all"]}[t];return r?r.some(y=>!this.isItemHidden(y)):!0}getItemsContent(){return{"setting-name":this.$translate.instant("settings.name"),"setting-backup":this.$translate.instant("backup.title_backup"),"setting-restore":this.$translate.instant("config.restore.title"),"setting-users":this.$translate.instant("menu.tooltip_user_accounts"),"setting-lang":this.$translate.instant("settings.display.lang"),"setting-theme":this.$translate.instant("settings.display.theme"),"setting-lighting":this.$translate.instant("settings.display.lighting_mode"),"setting-menu":this.$translate.instant("settings.display.menu_mode"),"setting-temp":this.$translate.instant("settings.display.temp_units"),"setting-betas":this.$translate.instant("settings.display.show_betas"),"setting-wallpaper":this.$translate.instant("settings.display.wallpaper"),"setting-debug":this.$translate.instant("settings.startup.debug"),"setting-insecure":this.$translate.instant("settings.startup.insecure"),"setting-keep":this.$translate.instant("settings.startup.keep_accessories"),"setting-scheduled-restart":this.$translate.instant("settings.startup.scheduled_restart"),"setting-metrics-startup":this.$translate.instant("settings.startup.metrics"),"setting-env-debug":this.$translate.instant("settings.startup.env_debug"),"setting-env-debug-manual":"DEBUG","setting-env-node":this.$translate.instant("settings.startup.env_node_options"),"setting-log-size":this.$translate.instant("settings.startup.log_length"),"setting-log-truncate":this.$translate.instant("settings.startup.truncate_log"),"setting-package-path":this.$translate.instant("settings.startup.homebridge_package_path"),"setting-mdns":this.$translate.instant("settings.mdns_advertiser"),"setting-interfaces":this.$translate.instant("settings.network.title_network_interfaces"),"setting-port-hb":this.$translate.instant("settings.network.port_hb"),"setting-port-bridge":this.$translate.instant("settings.network.port.bridge"),"setting-port-range":this.$translate.instant("settings.network.port.start"),"setting-port-end":this.$translate.instant("settings.network.port.end"),"setting-network-host":this.$translate.instant("settings.network.host"),"setting-network-proxy":this.$translate.instant("settings.network.proxy"),"setting-ui-port-network":this.$translate.instant("settings.network.port_ui"),"setting-webroot-network":this.$translate.instant("settings.network.webroot"),"setting-mdns-advertise":this.$translate.instant("settings.network.mdns_advertise"),"setting-matter-enabled":this.$translate.instant("settings.matter.enabled"),"setting-matter-port":this.$translate.instant("settings.matter.port"),"setting-security-auth":this.$translate.instant("settings.security.auth"),"setting-security-session":this.$translate.instant("settings.startup.session"),"setting-security-https":this.$translate.instant("settings.security.https"),"setting-security-cert":this.$translate.instant("settings.security.cert"),"setting-security-pass":this.$translate.instant("settings.security.pass"),"setting-security-selfsigned-hostnames":this.$translate.instant("settings.security.selfsigned_hostnames"),"setting-security-control":this.$translate.instant("settings.security.ui_control"),"setting-ui-port":this.$translate.instant("settings.security.webui_port"),"setting-ui-host":this.$translate.instant("settings.security.webui_host"),"setting-ui-auth":this.$translate.instant("settings.security.webui_auth"),"setting-session-timeout":this.$translate.instant("settings.security.session_timeout"),"setting-session-inactivity":this.$translate.instant("settings.startup.session_inactivity_based"),"setting-proxy":this.$translate.instant("settings.security.webui_proxy_host"),"setting-ssl":this.$translate.instant("settings.security.ssl_key"),"setting-terminal-log-max":this.$translate.instant("settings.terminal.log_max"),"setting-terminal-persistence":this.$translate.instant("settings.terminal.persistence"),"setting-terminal-warning":this.$translate.instant("settings.terminal.hide_warning"),"setting-terminal-buffer":this.$translate.instant("settings.terminal.buffer_size"),"setting-reset-accessory-ind":this.$translate.instant("reset.accessory_ind.title"),"setting-reset-bridge-accessories":this.$translate.instant("reset.bridge_accessories.title"),"setting-reset-accessory-all":this.$translate.instant("reset.accessory_all.title"),"setting-reset-bridge-ind":this.$translate.instant("reset.bridge_ind.title"),"setting-reset-bridge-all":this.$translate.instant("reset.bridge_all.title"),"setting-reset-state":this.$translate.instant("settings.reset.reset_homebridge_state"),"setting-unpair":this.$translate.instant("settings.reset.unpair_bridges"),"setting-metrics":this.$translate.instant("settings.reset.enable_metrics"),"setting-accessory-control":this.$translate.instant("settings.reset.control_panel"),"setting-accessory-debug":this.$translate.instant("settings.accessory.debug"),"setting-temp-files":this.$translate.instant("settings.reset.temp_files"),"setting-linux-shutdown":this.$translate.instant("settings.reset.linux_shutdown"),"setting-linux-restart":this.$translate.instant("settings.reset.linux_restart"),"setting-cache-all":this.$translate.instant("settings.cache.title_clear_cache"),"setting-cache-bridge":this.$translate.instant("settings.cache.title_clear_bridge_cache"),"setting-cache-accessories":this.$translate.instant("settings.cache.title_clear_cached_accessories")}}ngOnInit(){return I(this,null,function*(){let t=this.$translate.instant("menu.label_settings");this.$settings.setPageTitle(t),this.$settings.isFeatureEnabled("childBridgeDebugMode")&&(this.debugFieldDesc="settings.startup.debug_desc_v2"),yield this.initNetworkingOptions(),yield this.initStartupSettings(),this.$settings.originalWebroot===globalThis.webroot.errorCode&&(this.webrootSettingDisabledAccess=!0,this.uiWebrootFormControl.disable()),this.isPwa&&(this.uiPortFormControl.disable(),this.uiHostFormControl.disable(),this.uiWebrootFormControl.disable(),this.uiProxyHostFormControl.disable(),this.uiSslTypeFormControl.disable(),this.uiSslKeyFormControl.disable(),this.uiSslCertFormControl.disable(),this.uiSslPfxFormControl.disable(),this.uiSslPassphraseFormControl.disable(),this.uiSslSelfSignedHostnamesFormControl.disable()),this.runningOnRaspbianImage&&this.uiSslTypeFormControl.disable(),this.hbNameFormControl.patchValue(this.$settings.env.homebridgeInstanceName),this.hbNameFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.hbNameSave(S)),this.uiLangFormControl.patchValue(this.$settings.env.lang),this.uiLangFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiLangSave(S)),this.uiThemeFormControl.patchValue(this.$settings.theme),this.uiThemeFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiThemeSave(S)),this.uiLightFormControl.patchValue(this.$settings.lightingMode),this.uiLightFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiLightSave(S)),this.uiMenuFormControl.patchValue(this.$settings.menuMode),this.uiMenuFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiMenuSave(S)),this.uiTempFormControl.patchValue(this.$settings.env.temperatureUnits),this.uiTempFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiTempSave(S)),this.uiAlwaysShowBetasFormControl.patchValue(this.$settings.env.plugins?.alwaysShowBetas||!1),this.uiAlwaysShowBetasFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiAlwaysShowBetasSave(S)),this.uiTerminalPersistenceFormControl.patchValue(this.$settings.env.terminal?.persistence),this.uiTerminalPersistenceFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiTerminalPersistenceSave(S)),this.uiTerminalHideWarningFormControl.patchValue(this.$settings.env.terminal?.hideWarning),this.uiTerminalHideWarningFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiTerminalHideWarningSave(S)),this.uiTerminalBufferSizeFormControl.patchValue(this.$settings.env.terminal?.bufferSize),this.uiTerminalBufferSizeFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiTerminalBufferSizeSave(S)),this.hbLogSizeFormControl.patchValue(this.$settings.env.log?.maxSize),this.hbLogSizeFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.hbLogSizeSave(S)),this.hbLogTruncateFormControl.patchValue(this.$settings.env.log?.truncateSize),this.hbLogTruncateFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.hbLogTruncateSave(S)),this.uiPortFormControl.patchValue(this.$settings.env.port),this.uiPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiPortSave(S)),this.uiAuthFormControl.patchValue(this.$settings.formAuth),this.uiAuthFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiAuthSave(S));let n=this.$settings.sessionTimeout,r=Math.floor(n/86400),y=Math.floor(n%86400/3600),R=Math.floor(n%3600/60);this.uiSessionTimeoutDaysFormControl.patchValue(r),this.uiSessionTimeoutHoursFormControl.patchValue(y),this.uiSessionTimeoutMinutesFormControl.patchValue(R),this.uiSessionTimeoutDaysFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(()=>this.uiSessionTimeoutSaveFromFields()),this.uiSessionTimeoutHoursFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(()=>this.uiSessionTimeoutSaveFromFields()),this.uiSessionTimeoutMinutesFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(()=>this.uiSessionTimeoutSaveFromFields()),this.uiSessionTimeoutInactivityBasedFormControl.patchValue(this.$settings.sessionTimeoutInactivityBased||!1),this.uiSessionTimeoutInactivityBasedFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiSessionTimeoutInactivityBasedSave(S)),this.uiSslKeyFormControl.patchValue(this.$settings.env.ssl?.key||""),this.uiSslKeyFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiSslKeySave(S)),this.uiSslCertFormControl.patchValue(this.$settings.env.ssl?.cert||""),this.uiSslCertFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiSslCertSave(S)),this.uiSslPfxFormControl.patchValue(this.$settings.env.ssl?.pfx||""),this.uiSslPfxFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiSslPfxSave(S)),this.uiSslPassphraseFormControl.patchValue(this.$settings.env.ssl?.passphrase||""),this.uiSslPassphraseFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiSslPassphraseSave(S)),this.uiSslSelfSignedHostnamesFormControl.patchValue(this.$settings.env.ssl?.selfSignedHostnames?.join(", ")||"localhost, 127.0.0.1"),this.uiSslSelfSignedHostnamesFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiSslSelfSignedHostnamesSave(S)),this.uiSslTypeFormControl.patchValue(this.$settings.env.ssl?.selfSigned?"selfsigned":this.uiSslKeyFormControl.value||this.uiSslCertFormControl.value?"keycert":this.uiSslPfxFormControl.value||this.uiSslPassphraseFormControl.value?"pfx":"off"),this.uiSslTypeFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiSslTypeSave(S)),this.uiHostFormControl.patchValue(this.$settings.host||""),this.uiHostFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiHostSave(S)),this.uiWebrootFormControl.patchValue(this.$settings.webroot||""),this.uiWebrootFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiWebrootSave(S)),this.uiProxyHostFormControl.patchValue(this.$settings.proxyHost||""),this.uiProxyHostFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiProxyHostSave(S)),this.hbPackageFormControl.patchValue(this.$settings.env.homebridgePackagePath||""),this.hbPackageFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.hbPackageSave(S)),this.uiMetricsFormControl.patchValue(!this.$settings.env.disableServerMetricsMonitoring),this.uiMetricsFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiMetricsSave(S)),this.enableMdnsAdvertiseFormControl.patchValue(this.$settings.env.enableMdnsAdvertise||!1),this.enableMdnsAdvertiseFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.enableMdnsAdvertiseSave(S)),this.uiAccDebugFormControl.patchValue(this.$settings.env.accessoryControl?.debug),this.uiAccDebugFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.uiAccDebugSave(S)),this.uiTempFileFormControl.patchValue(this.$settings.env.temp),this.uiTempFileFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.uiTempFileSave(S)),this.hbLinuxShutdownFormControl.patchValue(this.$settings.env.linux?.shutdown),this.hbLinuxShutdownFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.hbLinuxShutdownSave(S)),this.hbLinuxRestartFormControl.patchValue(this.$settings.env.linux?.restart),this.hbLinuxRestartFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.hbLinuxRestartSave(S)),this.scheduledRestartCronFormControl.patchValue(this.$settings.env.scheduledRestartCron||""),this.scheduledRestartCronFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.scheduledRestartCronSave(S)),yield this.initMatterSettings(),this.loading.set(!1)})}openBackupModal(){this.$modal.open(It,{size:"lg",backdrop:"static"})}openConfigBackup(){this.$router.navigate(["/config"],{queryParams:{action:"restore"}})}openWallpaperModal(){this.$modal.open(Ee,{size:"lg",backdrop:"static"})}resetHomebridgeState(){this.$modal.open(xe,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(ye,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(ve,{size:"lg",backdrop:"static"})}accessoryUiControl(){return I(this,null,function*(){try{let t=this.$modal.open(me,{size:"lg",backdrop:"static"});t.componentInstance.existingBlacklist=this.$settings.env.accessoryControl?.instanceBlacklist||[],yield t.result,this.showRestartToast()}catch(t){t!=="Dismiss"&&(console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")))}})}removeSingleCachedAccessories(){this.$modal.open(de,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(be,{size:"lg",backdrop:"static"})}selectNetworkInterfaces(){return I(this,null,function*(){let t=this.$modal.open(Ie,{size:"lg",backdrop:"static"});t.componentInstance.adaptersAvailable=this.adaptersAvailable,t.componentInstance.adaptersSelected=this.adaptersSelected;try{let n=yield t.result;this.buildBridgeNetworkAdapterList(n),yield this.$api.put("/server/network-interfaces/bridge",{adapters:n}),this.showRestartToast()}catch(n){n!=="Dismiss"&&(console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")))}})}toggleSection(t){this.showFields[t]=!this.showFields[t]}initStartupSettings(){return I(this,null,function*(){try{let t=yield this.$api.get("/platform-tools/hb-service/homebridge-startup-settings");this.hbDebugFormControl.patchValue(t.HOMEBRIDGE_DEBUG),this.hbDebugFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(n=>this.hbDebugSave(n)),this.hbInsecureFormControl.patchValue(t.HOMEBRIDGE_INSECURE),this.hbInsecureFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(n=>this.hbInsecureSave(n)),this.hbKeepFormControl.patchValue(t.HOMEBRIDGE_KEEP_ORPHANS),this.hbKeepFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(n=>this.hbKeepSave(n)),this.hbEnvDebugFormControl.patchValue(t.ENV_DEBUG),this.hbEnvDebugFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(n=>this.hbEnvDebugSave(n)),this.hbEnvNodeFormControl.patchValue(t.ENV_NODE_OPTIONS),this.hbEnvNodeFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(n=>this.hbEnvNodeSave(n))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}initNetworkingOptions(){return I(this,null,function*(){try{yield this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption.set(!0),this.showResolvedMdnsOption.set(!0))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}getNetworkSettings(){return I(this,null,function*(){return Promise.all([this.$api.get("/server/network-interfaces/system"),this.$api.get("/server/network-interfaces/bridge"),this.$api.get("/server/mdns-advertiser"),this.$api.get("/server/port"),this.$api.get("/server/ports")]).then(([t,n,r,y,R])=>{this.adaptersAvailable.set(t),this.buildBridgeNetworkAdapterList(n),this.hbMDnsFormControl.patchValue(r.advertiser),this.hbMDnsFormControl.valueChanges.pipe(F(750),$(this.destroyRef)).subscribe(S=>this.hbMDnsSave(S)),this.hbPortFormControl.patchValue(y.port),this.hbPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.hbPortSave(S)),this.hbStartPortFormControl.patchValue(R.start),this.hbStartPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.hbStartPortSave(S)),this.hbEndPortFormControl.patchValue(R.end),this.hbEndPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(S=>this.hbEndPortSave(S))})})}saveUiSettingChange(t,n){return I(this,null,function*(){try{yield this.$api.put("/config-editor/ui",{key:t,value:n})}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error"))}})}hbNameSave(t){return I(this,null,function*(){if(!t||!/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(t)){this.hbNameIsInvalid.set(!0);return}try{this.hbNameIsSaving.set(!0),yield this.$api.put("/server/name",{name:t}),this.$settings.setEnvItem("homebridgeInstanceName",t),this.hbNameIsInvalid.set(!1),setTimeout(()=>{this.hbNameIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbNameIsSaving.set(!1)}})}uiLangSave(t){return I(this,null,function*(){try{this.uiLangIsSaving.set(!0),this.$settings.setLang(t),yield this.saveUiSettingChange("lang",t),setTimeout(()=>{this.uiLangIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiLangIsSaving.set(!1)}})}uiThemeSave(t){return I(this,null,function*(){try{this.uiThemeIsSaving.set(!0),this.$settings.setTheme(t),yield this.saveUiSettingChange("theme",t),setTimeout(()=>{this.uiThemeIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiThemeIsSaving.set(!1)}})}uiLightSave(t){return I(this,null,function*(){try{this.uiLightIsSaving.set(!0),this.$settings.setLightingMode(t,"user"),yield this.saveUiSettingChange("lightingMode",t),setTimeout(()=>{this.uiLightIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiLightIsSaving.set(!1)}})}uiMenuSave(t){return I(this,null,function*(){try{this.uiMenuIsSaving.set(!0),this.$settings.setMenuMode(t),yield this.saveUiSettingChange("menuMode",t),window.location.reload()}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiMenuIsSaving.set(!1)}})}uiTempSave(t){return I(this,null,function*(){try{this.uiTempIsSaving.set(!0),this.$settings.setEnvItem("temperatureUnits",t),yield this.saveUiSettingChange("tempUnits",t),setTimeout(()=>{this.uiTempIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTempIsSaving.set(!1)}})}uiAlwaysShowBetasSave(t){return I(this,null,function*(){try{this.uiAlwaysShowBetasIsSaving.set(!0),this.$settings.setEnvItem("plugins.alwaysShowBetas",t),yield this.saveUiSettingChange("plugins.alwaysShowBetas",t),setTimeout(()=>{this.uiAlwaysShowBetasIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAlwaysShowBetasIsSaving.set(!1)}})}uiTerminalPersistenceSave(t){return I(this,null,function*(){if(!t&&this.$terminal.hasActiveSession()){let n=this.$modal.open($t,{size:"lg",backdrop:"static"});n.componentInstance.title=this.$translate.instant("settings.terminal.persistence_confirm_title"),n.componentInstance.message=this.$translate.instant("settings.terminal.persistence_confirm_message"),n.componentInstance.message2=this.$translate.instant("common.phrases.are_you_sure"),n.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_continue"),n.componentInstance.confirmButtonClass="btn-primary",n.componentInstance.faIconClass="fas fa-exclamation-triangle text-warning";try{yield n.result}catch{this.uiTerminalPersistenceFormControl.patchValue(!0,{emitEvent:!1});return}}try{this.uiTerminalPersistenceIsSaving.set(!0),t||this.$terminal.destroyPersistentSession(),this.$settings.setEnvItem("terminal.persistence",t),yield this.saveUiSettingChange("terminal.persistence",t),setTimeout(()=>{this.uiTerminalPersistenceIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalPersistenceIsSaving.set(!1)}})}uiTerminalHideWarningSave(t){return I(this,null,function*(){try{this.uiTerminalHideWarningIsSaving.set(!0),this.$settings.setEnvItem("terminal.hideWarning",t),yield this.saveUiSettingChange("terminal.hideWarning",t),setTimeout(()=>{this.uiTerminalHideWarningIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalHideWarningIsSaving.set(!1)}})}uiTerminalBufferSizeSave(t){return I(this,null,function*(){if(t&&(typeof t!="number"||t<0||Number.isInteger(t)===!1)){this.uiTerminalBufferSizeIsInvalid.set(!0);return}try{this.uiTerminalBufferSizeIsSaving.set(!0),this.$settings.setEnvItem("terminal.bufferSize",t),yield this.saveUiSettingChange("terminal.bufferSize",t),this.uiTerminalBufferSizeIsInvalid.set(!1),setTimeout(()=>{this.uiTerminalBufferSizeIsSaving.set(!1)},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalBufferSizeIsSaving.set(!1)}})}hbDebugSave(t){return I(this,null,function*(){try{this.hbDebugIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:t,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}),setTimeout(()=>{this.hbDebugIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbDebugIsSaving.set(!1)}})}hbInsecureSave(t){return I(this,null,function*(){try{this.hbInsecureIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:t,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}),setTimeout(()=>{this.hbInsecureIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbInsecureIsSaving.set(!1)}})}hbKeepSave(t){return I(this,null,function*(){try{this.hbKeepIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:t,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}),this.$settings.setKeepOrphans(t),setTimeout(()=>{this.hbKeepIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbKeepIsSaving.set(!1)}})}hbEnvDebugSave(t){return I(this,null,function*(){try{this.hbEnvDebugIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:t,ENV_NODE_OPTIONS:this.hbEnvNodeFormControl.value}),setTimeout(()=>{this.hbEnvDebugIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbEnvDebugIsSaving.set(!1)}})}hbEnvNodeSave(t){return I(this,null,function*(){try{this.hbEnvNodeIsSaving.set(!0),yield this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",{HOMEBRIDGE_DEBUG:this.hbDebugFormControl.value,HOMEBRIDGE_KEEP_ORPHANS:this.hbKeepFormControl.value,HOMEBRIDGE_INSECURE:this.hbInsecureFormControl.value,ENV_DEBUG:this.hbEnvDebugFormControl.value,ENV_NODE_OPTIONS:t}),setTimeout(()=>{this.hbEnvNodeIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbEnvNodeIsSaving.set(!1)}})}hbLogSizeSave(t){return I(this,null,function*(){if(t&&(typeof t!="number"||t<-1||Number.isInteger(t)===!1)){this.hbLogSizeIsInvalid.set(!0);return}try{this.hbLogSizeIsSaving.set(!0),this.$settings.setEnvItem("log.maxSize",t),(!t||t===-1)&&(yield this.saveUiSettingChange("log.truncateSize",null),this.hbLogTruncateIsInvalid.set(!1)),yield this.saveUiSettingChange("log.maxSize",t),this.hbLogSizeIsInvalid.set(!1),setTimeout(()=>{this.hbLogSizeIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLogSizeIsSaving.set(!1)}})}hbLogTruncateSave(t){return I(this,null,function*(){if(t&&(typeof t!="number"||t<0||Number.isInteger(t)===!1)){this.hbLogTruncateIsInvalid.set(!0);return}try{this.hbLogTruncateIsSaving.set(!0),this.$settings.setEnvItem("log.truncateSize",t),yield this.saveUiSettingChange("log.truncateSize",t),this.hbLogTruncateIsInvalid.set(!1),setTimeout(()=>{this.hbLogTruncateIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLogTruncateIsSaving.set(!1)}})}hbMDnsSave(t){return I(this,null,function*(){try{this.hbMDnsIsSaving.set(!0),yield this.$api.put("/server/mdns-advertiser",{advertiser:t}),setTimeout(()=>{this.hbMDnsIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbMDnsIsSaving.set(!1)}})}hbPortSave(t){return I(this,null,function*(){if(t===this.uiPortFormControl.value){this.hbPortIsInvalid.set(!0);return}try{this.hbPortIsSaving.set(!0),yield this.$api.put("/server/port",{port:t}),this.hbPortIsInvalid.set(!1),setTimeout(()=>{this.hbPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbPortIsSaving.set(!1)}})}hbStartPortSave(t){return I(this,null,function*(){try{this.hbStartPortIsSaving.set(!0),yield this.$api.put("/server/ports",{start:t,end:this.hbEndPortFormControl.value}),this.hbStartPortIsInvalid.set(!1),setTimeout(()=>{this.hbStartPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbStartPortIsSaving.set(!1)}})}hbEndPortSave(t){return I(this,null,function*(){try{this.hbEndPortIsSaving.set(!0),yield this.$api.put("/server/ports",{start:this.hbStartPortFormControl.value,end:t}),this.hbEndPortIsInvalid.set(!1),setTimeout(()=>{this.hbEndPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbEndPortIsSaving.set(!1)}})}uiPortSave(t){return I(this,null,function*(){if(!t||typeof t!="number"||t<1025||t>65533||Number.isInteger(t)===!1||t===this.hbPortFormControl.value){this.uiPortIsInvalid.set(!0);return}try{this.uiPortIsSaving.set(!0),this.$settings.setEnvItem("port",t),yield this.saveUiSettingChange("port",t),this.uiPortIsInvalid.set(!1),setTimeout(()=>{this.uiPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiPortIsSaving.set(!1)}})}uiAuthSave(t){return I(this,null,function*(){try{this.uiAuthIsSaving.set(!0),this.$settings.setItem("formAuth",t),yield this.saveUiSettingChange("auth",t?"form":"none"),this.$notification.formAuthEnabled.next(t),setTimeout(()=>{this.uiAuthIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAuthIsSaving.set(!1)}})}uiSessionTimeoutSaveFromFields(){return I(this,null,function*(){let t=this.uiSessionTimeoutDaysFormControl.value||0,n=this.uiSessionTimeoutHoursFormControl.value||0,r=this.uiSessionTimeoutMinutesFormControl.value||0;if(typeof t!="number"||t<0||t>365||!Number.isInteger(t)||typeof n!="number"||n<0||n>23||!Number.isInteger(n)||typeof r!="number"||r<0||r>59||!Number.isInteger(r)){this.uiSessionTimeoutIsInvalid.set(!0);return}let y=t*86400+n*3600+r*60;if(y<600||y>864e5){this.uiSessionTimeoutIsInvalid.set(!0);return}try{this.uiSessionTimeoutIsSaving.set(!0),this.$settings.setItem("sessionTimeout",y),yield this.saveUiSettingChange("sessionTimeout",y),this.uiSessionTimeoutIsInvalid.set(!1),setTimeout(()=>{this.uiSessionTimeoutIsSaving.set(!1),this.showRestartToast()},1e3)}catch(R){console.error(R),this.$toastr.error(R.message,this.$translate.instant("toast.title_error")),this.uiSessionTimeoutIsSaving.set(!1)}})}uiSessionTimeoutInactivityBasedSave(t){return I(this,null,function*(){try{this.uiSessionTimeoutInactivityBasedIsSaving.set(!0),this.$settings.setItem("sessionTimeoutInactivityBased",t),yield this.saveUiSettingChange("sessionTimeoutInactivityBased",t),setTimeout(()=>{this.uiSessionTimeoutInactivityBasedIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSessionTimeoutInactivityBasedIsSaving.set(!1)}})}uiSslKeySave(t){return I(this,null,function*(){try{this.uiSslKeyIsSaving.set(!0),this.$settings.setEnvItem("ssl.key",t),yield this.saveUiSettingChange("ssl.key",t),setTimeout(()=>{this.uiSslKeyIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslKeyIsSaving.set(!1)}})}uiSslCertSave(t){return I(this,null,function*(){try{this.uiSslCertIsSaving.set(!0),this.$settings.setEnvItem("ssl.cert",t),yield this.saveUiSettingChange("ssl.cert",t),setTimeout(()=>{this.uiSslCertIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslCertIsSaving.set(!1)}})}uiSslPfxSave(t){return I(this,null,function*(){try{this.uiSslPfxIsSaving.set(!0),this.$settings.setEnvItem("ssl.pfx",t),yield this.saveUiSettingChange("ssl.pfx",t),setTimeout(()=>{this.uiSslPfxIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslPfxIsSaving.set(!1)}})}uiSslPassphraseSave(t){return I(this,null,function*(){try{this.uiSslPassphraseIsSaving.set(!0),this.$settings.setEnvItem("ssl.passphrase",t),yield this.saveUiSettingChange("ssl.passphrase",t),setTimeout(()=>{this.uiSslPassphraseIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslPassphraseIsSaving.set(!1)}})}uiSslSelfSignedHostnamesSave(t){return I(this,null,function*(){try{this.uiSslSelfSignedHostnamesIsSaving.set(!0);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);this.$settings.setEnvItem("ssl.selfSignedHostnames",n),yield this.saveUiSettingChange("ssl.selfSignedHostnames",n),setTimeout(()=>{this.uiSslSelfSignedHostnamesIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslSelfSignedHostnamesIsSaving.set(!1)}})}generateSelfSigned(t="keycert"){let n=this.uiSslSelfSignedHostnamesFormControl.value||"",r=String(n).split(",").map(R=>R.trim()).filter(R=>!!R),y={hostnames:r,mode:t};this.$api.post("/server/ssl/selfsigned/generate",y).then(R=>{t==="keycert"?(R?.keyPath&&(this.$settings.setEnvItem("ssl.key",R.keyPath),this.uiSslKeyFormControl.patchValue(R.keyPath,{emitEvent:!1})),R?.certPath&&(this.$settings.setEnvItem("ssl.cert",R.certPath),this.uiSslCertFormControl.patchValue(R.certPath,{emitEvent:!1})),this.$settings.setEnvItem("ssl.selfSigned",!1),this.uiSslTypeFormControl.patchValue("keycert",{emitEvent:!0}),this.$toastr.success(this.$translate.instant("settings.security.selfsigned_generate_success_keycert"),this.$translate.instant("toast.title_success"))):(this.$settings.setEnvItem("ssl.selfSigned",!0),this.$settings.setEnvItem("ssl.selfSignedHostnames",r),this.uiSslTypeFormControl.patchValue("selfsigned",{emitEvent:!0}),this.$toastr.success(this.$translate.instant("settings.security.selfsigned_generate_success_selfsigned"),this.$translate.instant("toast.title_success"))),this.showRestartToast()}).catch(R=>{console.error(R),this.$toastr.error(R.error?.message||R.message,this.$translate.instant("toast.title_error"))})}uiSslTypeSave(t){return I(this,null,function*(){switch(t){case"keycert":this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase",""),this.$settings.setEnvItem("ssl.selfSigned",!1),yield this.saveUiSettingChange("ssl.selfSigned",!1);break;case"pfx":this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert",""),this.$settings.setEnvItem("ssl.selfSigned",!1),yield this.saveUiSettingChange("ssl.selfSigned",!1);break;case"selfsigned":this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert",""),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase",""),this.$settings.setEnvItem("ssl.selfSigned",!0),yield this.saveUiSettingChange("ssl.selfSigned",!0),this.uiSslSelfSignedHostnamesFormControl.value||this.uiSslSelfSignedHostnamesFormControl.patchValue("localhost, 127.0.0.1",{emitEvent:!0}),this.showRestartToast();break;default:this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.uiSslPfxFormControl.patchValue("",{emitEvent:!1}),this.uiSslPassphraseFormControl.patchValue("",{emitEvent:!1}),this.uiSslSelfSignedHostnamesFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert",""),this.$settings.setEnvItem("ssl.pfx",""),this.$settings.setEnvItem("ssl.passphrase",""),this.$settings.setEnvItem("ssl.selfSigned",!1),this.$settings.setEnvItem("ssl.selfSignedHostnames",[]),yield this.saveUiSettingChange("ssl",""),this.showRestartToast()}})}uiHostSave(t){return I(this,null,function*(){try{this.uiHostIsSaving.set(!0),this.$settings.setItem("host",t),yield this.saveUiSettingChange("host",t),setTimeout(()=>{this.uiHostIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiHostIsSaving.set(!1)}})}uiWebrootSave(t){return I(this,null,function*(){try{this.uiWebrootIsSaving.set(!0),t=t?`/${t}`.replace(/\/+/g,"/").replace(/\/$/,""):"",t==="/"&&(t=""),this.$settings.setItem("webroot",t),yield this.saveUiSettingChange("webroot",t),this.uiWebrootFormControl.patchValue(t,{emitEvent:!1}),setTimeout(()=>{this.uiWebrootIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiWebrootIsSaving.set(!1)}})}uiProxyHostSave(t){return I(this,null,function*(){try{this.uiProxyHostIsSaving.set(!0),this.$settings.setItem("proxyHost",t),yield this.saveUiSettingChange("proxyHost",t),setTimeout(()=>{this.uiProxyHostIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiProxyHostIsSaving.set(!1)}})}hbPackageSave(t){return I(this,null,function*(){try{this.hbPackageIsSaving.set(!0),this.$settings.setEnvItem("homebridgePackagePath",t),yield this.saveUiSettingChange("homebridgePackagePath",t),setTimeout(()=>{this.hbPackageIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbPackageIsSaving.set(!1)}})}uiMetricsSave(t){return I(this,null,function*(){try{this.uiMetricsIsSaving.set(!0),this.$settings.setEnvItem("disableServerMetricsMonitoring",!t),yield this.saveUiSettingChange("disableServerMetricsMonitoring",!t),setTimeout(()=>{this.uiMetricsIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiMetricsIsSaving.set(!1)}})}enableMdnsAdvertiseSave(t){return I(this,null,function*(){try{this.enableMdnsAdvertiseIsSaving.set(!0),this.$settings.setEnvItem("enableMdnsAdvertise",t),yield this.saveUiSettingChange("enableMdnsAdvertise",t),setTimeout(()=>{this.enableMdnsAdvertiseIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error"))}})}uiAccDebugSave(t){return I(this,null,function*(){try{this.uiAccDebugIsSaving.set(!0),this.$settings.setEnvItem("accessoryControl.debug",t),yield this.saveUiSettingChange("accessoryControl.debug",t),setTimeout(()=>{this.uiAccDebugIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAccDebugIsSaving.set(!1)}})}uiTempFileSave(t){return I(this,null,function*(){try{this.uiTempFileIsSaving.set(!0),this.$settings.setEnvItem("temp",t),yield this.saveUiSettingChange("temp",t),setTimeout(()=>{this.uiTempFileIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTempFileIsSaving.set(!1)}})}hbLinuxShutdownSave(t){return I(this,null,function*(){try{this.hbLinuxShutdownIsSaving.set(!0),this.$settings.setEnvItem("linux.shutdown",t),yield this.saveUiSettingChange("linux.shutdown",t),setTimeout(()=>{this.hbLinuxShutdownIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLinuxShutdownIsSaving.set(!1)}})}hbLinuxRestartSave(t){return I(this,null,function*(){try{this.hbLinuxRestartIsSaving.set(!0),this.$settings.setEnvItem("linux.restart",t),yield this.saveUiSettingChange("linux.restart",t),setTimeout(()=>{this.hbLinuxRestartIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(n=>{console.error(n),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLinuxRestartIsSaving.set(!1)}})}scheduledRestartCronSave(t){return I(this,null,function*(){try{this.scheduledRestartCronIsSaving.set(!0);let n=t?.trim()?t:null;this.$settings.setEnvItem("scheduledRestartCron",n),yield this.$api.put("/config-editor/ui",{key:"scheduledRestartCron",value:n}),setTimeout(()=>{this.scheduledRestartCronIsSaving.set(!1),this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).then(()=>this.showRestartToast()).catch(r=>{console.error(r),this.showRestartToast()})},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.scheduledRestartCronIsSaving.set(!1)}})}initMatterSettings(){return I(this,null,function*(){try{let t=yield this.$api.get("/config-editor/matter"),n=t!==null;n?this.matterPortFormControl.patchValue(t.port||""):this.matterPortFormControl.patchValue(0),this.matterPortFormControl.valueChanges.pipe(F(1500),$(this.destroyRef)).subscribe(r=>this.matterPortSave(r)),this.matterEnabledFormControl.patchValue(n,{emitEvent:!1}),this.matterEnabledFormControl.valueChanges.subscribe(r=>this.matterEnabledSave(r))}catch(t){console.error(t),this.matterEnabledFormControl.valueChanges.subscribe(n=>this.matterEnabledSave(n))}})}matterPortSave(t){return I(this,null,function*(){if(!t&&t!==0){try{this.matterPortIsSaving.set(!0),this.matterPortIsInvalid.set(!1),yield this.$api.put("/config-editor/matter",{port:void 0}),setTimeout(()=>{this.matterPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.matterPortIsSaving.set(!1)}return}if(typeof t!="number"||t<1024||t>65535||Number.isInteger(t)===!1){this.matterPortIsInvalid.set(!0);return}if([5353,8080,8443].includes(t)){this.matterPortIsInvalid.set(!0),this.$toastr.error("Port 5353, 8080, and 8443 are reserved and cannot be used",this.$translate.instant("toast.title_error"));return}try{this.matterPortIsSaving.set(!0),this.matterPortIsInvalid.set(!1),yield this.$api.put("/config-editor/matter",{port:t}),setTimeout(()=>{this.matterPortIsSaving.set(!1),this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.matterPortIsSaving.set(!1),this.matterPortIsInvalid.set(!0)}})}matterEnabledSave(t){return I(this,null,function*(){try{if(this.matterEnabledIsSaving.set(!0),t){let n;if(this.matterConfigCache.port)n=this.matterConfigCache.port;else try{n=(yield this.$api.get("/server/port/new/matter")).port}catch(r){console.error("Failed to get Matter port, using fallback",r),n=Math.floor(Math.random()*12+5530)}yield this.$api.put("/config-editor/matter",{port:n}),n!==void 0&&this.matterPortFormControl.patchValue(n,{emitEvent:!1}),this.matterConfigCache={port:n},setTimeout(()=>{this.matterEnabledIsSaving.set(!1),this.showRestartToast()},1e3)}else{let n=this.$modal.open($t,{size:"lg",backdrop:"static"});n.componentInstance.title="Disable Matter",n.componentInstance.message="Disabling Matter will delete all Matter bridge files. This action cannot be undone.",n.componentInstance.message2="Are you sure you want to continue?",n.componentInstance.confirmButtonLabel="Continue",n.componentInstance.confirmButtonClass="btn-danger",n.componentInstance.faIconClass="fas fa-exclamation-triangle text-warning";try{yield n.result,this.matterConfigCache={port:this.matterPortFormControl.value||void 0},this.$settings.restartToastRef&&(this.$toastr.clear(this.$settings.restartToastRef.toastId),this.$settings.restartToastRef=null,this.restartToastIsShown=!1),this.$router.navigate(["/restart"],{queryParams:{alreadyRestarting:"true"}}),yield this.$api.delete("/config-editor/matter")}catch(r){r==="Dismiss"?(this.matterEnabledFormControl.patchValue(!0,{emitEvent:!1}),this.matterEnabledIsSaving.set(!1)):(console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.matterEnabledFormControl.patchValue(!0,{emitEvent:!1}),this.matterEnabledIsSaving.set(!1))}}}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.matterEnabledFormControl.patchValue(t,{emitEvent:!1}),this.matterEnabledIsSaving.set(!1)}})}buildBridgeNetworkAdapterList(t){if(!t.length){this.adaptersSelected.set([]);return}this.adaptersSelected.set(t.map(n=>{let r=this.adaptersAvailable().find(y=>y.iface===n);return r?{iface:r.iface,selected:!0,missing:!1,ip4:r.ip4,ip6:r.ip6}:{iface:n,selected:!0,missing:!0}}))}showRestartToast(){this.restartToastIsShown||(this.restartToastIsShown=!0,this.$settings.restartToastRef=this.$toastr.info(this.$translate.instant("settings.changes.saved"),this.$translate.instant("menu.hbrestart.title"),{timeOut:0,tapToDismiss:!0,disableTimeOut:!0,positionClass:"toast-bottom-right",enableHtml:!0}),this.$settings.restartToastRef&&this.$settings.restartToastRef.onTap&&this.$settings.restartToastRef.onTap.pipe($(this.destroyRef)).subscribe(()=>{this.$router.navigate(["/restart"])}))}triggerKeyCertSelect(){let t=this.sslKeyCertInput();t&&(t.nativeElement.value="",t.nativeElement.click())}onSslKeyCertChange(t){if(!t||t.length===0)return;let n=new FormData;Array.from(t).forEach(r=>{n.append("files",r,r.name)}),this.$api.post("/server/ssl/keycert",n).then(r=>{r?.keyPath&&(this.$settings.setEnvItem("ssl.key",r.keyPath),this.uiSslKeyFormControl.patchValue(r.keyPath,{emitEvent:!1})),r?.certPath&&(this.$settings.setEnvItem("ssl.cert",r.certPath),this.uiSslCertFormControl.patchValue(r.certPath,{emitEvent:!1})),this.$settings.setEnvItem("ssl.selfSigned",!1),this.uiSslTypeFormControl.patchValue("keycert",{emitEvent:!0}),this.$toastr.success(this.$translate.instant("settings.security.ssl_upload_success_keycert"),this.$translate.instant("toast.title_success")),this.showRestartToast()}).catch(r=>{console.error(r),this.$toastr.error(r.error?.message||r.message,this.$translate.instant("toast.title_error"))})}triggerPfxSelect(){let t=this.sslPfxInput();t&&(t.nativeElement.value="",t.nativeElement.click())}onSslPfxChange(t){if(!t||t.length===0)return;let n=new FormData;n.append("pfx",t[0],t[0].name),this.uiSslPassphraseFormControl.value&&n.append("passphrase",this.uiSslPassphraseFormControl.value),this.$api.post("/server/ssl/pfx",n).then(r=>{r?.pfxPath&&(this.$settings.setEnvItem("ssl.pfx",r.pfxPath),this.uiSslPfxFormControl.patchValue(r.pfxPath,{emitEvent:!1})),this.$settings.setEnvItem("ssl.selfSigned",!1),this.uiSslTypeFormControl.patchValue("pfx",{emitEvent:!0}),this.$toastr.success(this.$translate.instant("settings.security.ssl_upload_success_pfx"),this.$translate.instant("toast.title_success")),this.showRestartToast()}).catch(r=>{console.error(r),this.$toastr.error(r.error?.message||r.message,this.$translate.instant("toast.title_error"))})}validateSsl(){this.$api.post("/server/ssl/validate",{}).then(t=>{if(t?.valid)this.$toastr.success(t?.details||this.$translate.instant("settings.security.ssl_validate_success"),this.$translate.instant("toast.title_success"));else{let n=t?.details||this.$translate.instant("settings.security.ssl_validate_error");this.$toastr.error(n,this.$translate.instant("toast.title_error"))}}).catch(t=>{console.error(t),this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error"))})}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=H({type:e,selectors:[["ng-component"]],viewQuery:function(n,r){n&1&&(st(r.searchInput,Ji,5),st(r.sslKeyCertInput,Xi,5),st(r.sslPfxInput,Yi,5)),n&2&&ft(3)},decls:12,vars:11,consts:[["searchInput",""],["sslKeyCertInput",""],["sslPfxInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"row"],[1,"col-md-12"],["novalidate",""],["type","text",1,"search-bar",3,"ngModelChange","placeholder","ngModel","ngModelOptions"],["type","button",1,"search-bar-clear"],["type","button",1,"search-bar-clear",3,"click"],["aria-hidden","true",1,"fas","fa-square-xmark"],[1,"my-4"],[1,"pb-3"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","align-items-center"],["type","text",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],[1,"fas","fa-floppy-disk","primary-text","fa-xl","me-0","me-md-2","ms-2","ms-md-0","order-2","order-md-1"],[1,"pe-2"],[1,"btn","btn-primary","waves-effect","m-0","ms-3","py-1",2,"min-width","50px",3,"click"],[1,"fas","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3","py-1",2,"min-width","50px"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],[1,"custom-select","resp-select","order-1","order-md-2",3,"formControl"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],["value","default"],["value","freeze"],["value","c"],["value","f"],[1,"d-flex","align-items-center"],[1,"order-1","order-md-2"],["type","checkbox","id","uiAlwaysShowBetas",1,"rendux-input",3,"formControl"],["for","uiAlwaysShowBetas",1,"rendux-label","ms-3",2,"min-width","50px"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],[1,"grey-text","pe-2"],["type","checkbox","id","homebridgeDebugMode",1,"rendux-input",3,"formControl"],["for","homebridgeDebugMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode",1,"rendux-input",3,"formControl"],["for","homebridgeInsecureMode",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans",1,"rendux-input",3,"formControl"],["for","homebridgeKeepOrphans",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"badge","badge-primary","ms-1"],[3,"innerHtml"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","flex-column","align-items-end"],[1,"d-flex","align-items-center","w-100"],["type","text","placeholder","mm hh dd MM ww","maxlength","30",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","checkbox","id","homebridgeMetrics",1,"rendux-input",3,"formControl"],["for","homebridgeMetrics",1,"rendux-label","ms-3",2,"min-width","50px"],["type","text","placeholder","/usr/local/lib/node_modules/homebridge",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","text","placeholder","shutdown",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","align-items-center","font-monospace"],["type","text","placeholder","reboot",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/sys/class/thermal/thermal_zone0/temp",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],[1,"font-monospace"],[1,"grey-text","pe-2",3,"innerHTML"],["type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ms-3","py-1",2,"min-width","50px"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","pe-2"],[1,"badge","badge-primary","me-1",3,"class"],[1,"btn","btn-primary","waves-effect","m-0","ms-3","py-1",2,"min-width","50px",3,"click","disabled"],[1,"badge","badge-primary","me-1"],[1,"fas","fa-exclamation-triangle"],[1,"fw-normal"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],[1,"grey-text","pe-2",3,"innerHtml"],["type","text","pattern","^[^{}/:\\\\s]+(?::\\d+)?$","placeholder","0.0.0.0",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],[1,"fas","fa-exclamation-triangle","red-text"],["type","text","pattern","^[^{}/:\\\\s]+(?::\\d+)?$","placeholder","example.com:8443",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","number","min","1025","max","65533","placeholder","8581",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","text","placeholder","/",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","checkbox","id","enableMdnsAdvertise",1,"rendux-input",3,"formControl"],["for","enableMdnsAdvertise",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsMatter",1,"list-group","list-group-box","mt-2","mx-0"],["type","checkbox","id","matterEnabled",1,"rendux-input",3,"formControl"],["for","matterEnabled",1,"rendux-label","ms-3",2,"min-width","50px"],["type","number","min","1024","max","65535","placeholder","5540",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["id","fieldsTerminal",1,"list-group","list-group-box","mt-2","mx-0"],["type","number","min","-1","placeholder","1000000",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","number","min","0","placeholder","200000",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","checkbox","id","terminalPersistence",1,"rendux-input",3,"formControl"],["for","terminalPersistence",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","terminalHideWarning",1,"rendux-input",3,"formControl"],["for","terminalHideWarning",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"d-flex","flex-column"],[1,"small","grey-text"],["type","number","min","10000","max","100000","step","10000",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["id","fieldsSecurity",1,"list-group","list-group-box","mt-2","mx-0"],["type","checkbox","id","uiAuthForm",1,"rendux-input",3,"formControl"],["for","uiAuthForm",1,"rendux-label","ms-3",2,"min-width","50px"],["type","checkbox","id","session-inactivity-based",1,"rendux-input",3,"formControl"],["for","session-inactivity-based",1,"rendux-label","ms-3",2,"min-width","50px"],[1,"fas","fa-floppy-disk","primary-text","fa-xl","me-0","me-md-2","ms-2","ms-md-0"],[1,"d-flex","align-items-center","gap-2"],["type","number","min","0","max","365","placeholder","0",1,"form-control","custom-input","font-monospace",2,"width","44px","text-align","right",3,"formControl"],[1,"ms-1","me-2","mb-0","text-nowrap","grey-text","small"],["type","number","min","0","max","23","placeholder","8",1,"form-control","custom-input","font-monospace",2,"width","44px","text-align","right",3,"formControl"],["type","number","min","0","max","59","placeholder","0",1,"form-control","custom-input","font-monospace",2,"width","44px","text-align","right",3,"formControl"],[1,"custom-select","resp-select","order-1","order-md-2",3,"formControl","hidden"],["value","off"],["value","selfsigned"],["value","keycert"],["value","pfx"],["type","button",1,"btn","btn-elegant","mx-2","py-1",2,"min-width","50px",3,"title"],["type","button",1,"btn","btn-elegant","mx-2","py-1",2,"min-width","50px",3,"click","title"],[1,"fas","fa-check"],["type","text","placeholder","localhost, 127.0.0.1, homebridge.local",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","button",1,"btn","btn-elegant","m-0","waves-effect","ms-2","py-1",2,"min-width","50px",3,"click","title"],[1,"fas","fa-magic"],["type","button",1,"btn","btn-elegant","m-0","py-1","mx-2",2,"min-width","50px",3,"click","title"],[1,"fas","fa-shield-alt"],[1,"my-3","my-md-0","ps-0","ps-md-5","w-auto","d-flex","align-items-center","gap-2"],["type","button",1,"btn","btn-elegant","m-0","py-1",2,"min-width","50px",3,"click","title"],[1,"fas","fa-upload"],["type","file","multiple","",1,"d-none",3,"change"],["type","text","placeholder","/Users/.../certs/server.key",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","button",1,"btn","btn-elegant","m-0",2,"min-width","50px",3,"click","title"],["type","text","placeholder","/Users/.../certs/server.crt",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["type","button",1,"btn","btn-elegant","waves-effect","m-0","py-1",2,"min-width","50px",3,"click","title"],["type","file",1,"d-none",3,"change"],["type","text","placeholder","/Users/.../certs/server.pfx",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"formControl"],["placeholder","mypassphrase",1,"form-control","custom-input","resp-input","order-1","order-md-2","font-monospace",3,"focus","blur","type","formControl"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"],["type","checkbox","id","accessoryDebug",1,"rendux-input",3,"formControl"],["for","accessoryDebug",1,"rendux-label","ms-3",2,"min-width","50px"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"]],template:function(n,r){n&1&&(a(0,"div",3)(1,"div",4)(2,"h3",5),d(3),o(4,"translate"),l()(),a(5,"div",6)(6,"button",7),o(7,"translate"),T("click",function(){return r.toggleSearch()}),c(8,"i"),l()()(),m(9,nn,7,7,"div",8),m(10,an,1,0,"app-spinner")(11,Ho,10,9)),n&2&&(i(3),h(s(4,7,"menu.settings.title")),i(3),f("aria-label",s(7,9,"form.search")),i(2),D(Ht("fas",r.showSearchBar?" primary-text":""," fa-search")),i(),u(r.showSearchBar()?9:-1),i(),u(r.loading()?10:11))},dependencies:[Wt,mt,Qt,Yt,Zt,vt,Jt,pt,Xt,ct,Gt,ie,ne,ee,te,bt,jt,ut,xt,re,dt,L],styles:[".search-bar[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media(hover:hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.search-bar-clear[_ngcontent-%COMP%]{position:absolute;right:30px;font-size:25px;color:#d0d0d0;line-height:50px;cursor:pointer}"],data:{animation:[Bt("fadeInOut",[ht(":enter",[ot({opacity:0}),gt("750ms",ot({opacity:1}))]),ht(":leave",[gt("750ms",ot({opacity:0}))])]),Bt("smoothHide",[ht(":enter",[ot({opacity:.01,height:"0px",overflow:"hidden",marginBottom:0,transform:"scale(0.97)"}),gt("450ms cubic-bezier(0.0, 0.0, 0.2, 1)",ot({opacity:1,height:"*",marginBottom:"*",transform:"scale(1)"}))]),ht(":leave",[gt("150ms cubic-bezier(0.4, 0.0, 1, 1)",ot({opacity:0,height:0,marginBottom:0,paddingTop:0,paddingBottom:0,overflow:"hidden",transform:"scale(0.98)"}))])])]}})}return e})();export{Yr as SettingsComponent};
|