homebridge-config-ui-x 5.6.1-beta.1 → 5.6.1-beta.10

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.
Files changed (102) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/dist/bin/platforms/linux.js +8 -0
  3. package/dist/bin/platforms/linux.js.map +1 -1
  4. package/dist/core/auth/auth.controller.d.ts +3 -0
  5. package/dist/core/auth/auth.controller.js +13 -0
  6. package/dist/core/auth/auth.controller.js.map +1 -1
  7. package/dist/core/auth/auth.service.d.ts +1 -0
  8. package/dist/core/auth/auth.service.js +24 -0
  9. package/dist/core/auth/auth.service.js.map +1 -1
  10. package/dist/core/config/config.interfaces.d.ts +1 -1
  11. package/dist/core/config/config.service.d.ts +2 -0
  12. package/dist/core/config/config.service.js +1 -0
  13. package/dist/core/config/config.service.js.map +1 -1
  14. package/dist/core/node-version.constants.d.ts +2 -0
  15. package/dist/core/node-version.constants.js +13 -0
  16. package/dist/core/node-version.constants.js.map +1 -0
  17. package/dist/main.js +0 -49
  18. package/dist/main.js.map +1 -1
  19. package/dist/modules/status/status.service.js +6 -0
  20. package/dist/modules/status/status.service.js.map +1 -1
  21. package/package.json +3 -4
  22. package/public/{chunk-UAQXKIJZ.js → chunk-2DDMMLSW.js} +1 -1
  23. package/public/{chunk-IHGRCBAQ.js → chunk-2XYBM4MH.js} +1 -1
  24. package/public/chunk-3AQ4YCMY.js +1 -0
  25. package/public/{chunk-ZFQA4QWG.js → chunk-3C7EVFKY.js} +1 -1
  26. package/public/{chunk-QHDPBN4J.js → chunk-3ZU7ZAMP.js} +1 -1
  27. package/public/{chunk-5KITINM5.js → chunk-4CBYHOY7.js} +1 -1
  28. package/public/{chunk-6XY6ZG6F.js → chunk-4GG6NV7Z.js} +1 -1
  29. package/public/{chunk-TYQRPDPB.js → chunk-5IV5A7X7.js} +1 -1
  30. package/public/{chunk-2PVDCV4M.js → chunk-6BWG6LOY.js} +1 -1
  31. package/public/{chunk-LV5TYHZ7.js → chunk-6LB7WDKS.js} +1 -1
  32. package/public/{chunk-EXGXLBBS.js → chunk-7BJ33QUW.js} +1 -1
  33. package/public/{chunk-XNS3RMG7.js → chunk-7CIGAN3X.js} +1 -1
  34. package/public/{chunk-PFIRHRM5.js → chunk-7CNAISDX.js} +1 -1
  35. package/public/{chunk-MUMRJ5RB.js → chunk-7CUSFAAZ.js} +1 -1
  36. package/public/{chunk-5R7NZOJR.js → chunk-A5WYLVGP.js} +1 -1
  37. package/public/chunk-ABW2B4PX.js +4 -0
  38. package/public/chunk-ALBS4AHN.js +1 -0
  39. package/public/chunk-AWVBNHCK.js +1 -0
  40. package/public/{chunk-QZFNFY6W.js → chunk-B6UZ2NES.js} +1 -1
  41. package/public/{chunk-223U5AZV.js → chunk-BEASH7C6.js} +1 -1
  42. package/public/{chunk-J6UJV3VB.js → chunk-BK3VVSWC.js} +1 -1
  43. package/public/{chunk-CGPMZGNR.js → chunk-BU6Y5VTM.js} +1 -1
  44. package/public/{chunk-B2BK3IE6.js → chunk-CC6P7FJS.js} +1 -1
  45. package/public/{chunk-7JOXSTGP.js → chunk-D73YSZ3I.js} +1 -1
  46. package/public/{chunk-AQDCAGND.js → chunk-E7L76QO4.js} +1 -1
  47. package/public/{chunk-5SBL4BBH.js → chunk-ENKI3TNZ.js} +1 -1
  48. package/public/{chunk-2YD7SV6Y.js → chunk-IRGRXEWA.js} +1 -1
  49. package/public/{chunk-SCJBMTEG.js → chunk-IZJ5DONP.js} +1 -1
  50. package/public/{chunk-E2LOLIPT.js → chunk-JBNRMY7H.js} +1 -1
  51. package/public/{chunk-JFOIQCL3.js → chunk-JLFVU2PZ.js} +2 -2
  52. package/public/{chunk-IXGE2QEI.js → chunk-LKBAJIML.js} +1 -1
  53. package/public/{chunk-CGI57AOT.js → chunk-LKH45EAW.js} +1 -1
  54. package/public/{chunk-V7KVXSG4.js → chunk-LNH5KCC7.js} +1 -1
  55. package/public/{chunk-D2RHA7X2.js → chunk-MCPFJTIS.js} +1 -1
  56. package/public/{chunk-T3VUOKH5.js → chunk-MERF5KWJ.js} +1 -1
  57. package/public/{chunk-EUGS6E4Y.js → chunk-MJ5RAL7A.js} +1 -1
  58. package/public/{chunk-MD7IQ7EC.js → chunk-MO7W4MOJ.js} +1 -1
  59. package/public/{chunk-DSCXOXPY.js → chunk-MQJTHMZ3.js} +1 -1
  60. package/public/{chunk-5TSHBP5C.js → chunk-NBY4ULRZ.js} +1 -1
  61. package/public/chunk-NMH62F3Z.js +1 -0
  62. package/public/chunk-NORWQIOQ.js +1 -0
  63. package/public/{chunk-YRDGMK4T.js → chunk-NR4KD4TZ.js} +1 -1
  64. package/public/{chunk-4ZILPTDD.js → chunk-O6KTCOYG.js} +1 -1
  65. package/public/chunk-OXVLP6TZ.js +1 -0
  66. package/public/{chunk-TLAKPQJZ.js → chunk-P5IVTWVS.js} +1 -1
  67. package/public/{chunk-Q64T6IMY.js → chunk-PZ7JX7LQ.js} +1 -1
  68. package/public/{chunk-ZUEKY4YE.js → chunk-QQRMLPGH.js} +1 -1
  69. package/public/{chunk-ZGZIVGXD.js → chunk-QTGVGI75.js} +1 -1
  70. package/public/{chunk-7ZUABUJW.js → chunk-QWEEID4M.js} +1 -1
  71. package/public/chunk-R2HTSW5Q.js +1 -0
  72. package/public/{chunk-OQM4FTFW.js → chunk-R2QGD4ZP.js} +1 -1
  73. package/public/{chunk-X3MJKHUW.js → chunk-RAFLW2AB.js} +1 -1
  74. package/public/{chunk-DO2SP5BX.js → chunk-RUTQPPTY.js} +4 -4
  75. package/public/{chunk-E4Y4WIGF.js → chunk-S2PIKK2Y.js} +1 -1
  76. package/public/{chunk-DQNZGU4J.js → chunk-T6XCDHLJ.js} +1 -1
  77. package/public/chunk-TKCRIFE6.js +49 -0
  78. package/public/{chunk-ZVQBHQRE.js → chunk-TM3CVKYI.js} +1 -1
  79. package/public/chunk-TV4YROXP.js +1 -0
  80. package/public/{chunk-5WD6ABWY.js → chunk-WHDQHPCY.js} +1 -1
  81. package/public/{chunk-V4K2YYFC.js → chunk-WIZAF6OS.js} +1 -1
  82. package/public/{chunk-LHQCUFCP.js → chunk-WO2FS67T.js} +1 -1
  83. package/public/{chunk-ZHRPBG7M.js → chunk-WWMJUVLA.js} +2 -2
  84. package/public/{chunk-IMD3GDEP.js → chunk-XG5GYQO6.js} +1 -1
  85. package/public/{chunk-UERLDONE.js → chunk-XOZXV7OE.js} +1 -1
  86. package/public/{chunk-7RQO7VAG.js → chunk-XWQGDVUX.js} +1 -1
  87. package/public/{chunk-5N45B6R7.js → chunk-Y276Q4AC.js} +1 -1
  88. package/public/{chunk-KXB76BLH.js → chunk-Y3JHW6TI.js} +1 -1
  89. package/public/index.html +2 -2
  90. package/public/main-F3IQLAIE.js +1 -0
  91. package/public/{styles-5R4ZLUK4.css → styles-IKV7T7ID.css} +1 -1
  92. package/public/chunk-3Q3JGTFE.js +0 -49
  93. package/public/chunk-3TZUDSUL.js +0 -1
  94. package/public/chunk-64EYU6BC.js +0 -1
  95. package/public/chunk-ACNNMIUT.js +0 -1
  96. package/public/chunk-BUC4YMXW.js +0 -1
  97. package/public/chunk-ELFFW2U4.js +0 -1
  98. package/public/chunk-FELPXK5W.js +0 -1
  99. package/public/chunk-TFDQROXG.js +0 -1
  100. package/public/chunk-TQEIMI3D.js +0 -1
  101. package/public/chunk-YSZ6XXLS.js +0 -4
  102. package/public/main-XILG5ANR.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as Jt}from"./chunk-TUN7H57E.js";import{a as Zt}from"./chunk-XWQGDVUX.js";import{a as te}from"./chunk-B6UZ2NES.js";import{a as Xt}from"./chunk-WO2FS67T.js";import{a as Yt}from"./chunk-R2QGD4ZP.js";import{a as ee}from"./chunk-2DDMMLSW.js";import{a as Ce,c as be}from"./chunk-MO7W4MOJ.js";import{a as ve}from"./chunk-BU6Y5VTM.js";import{a as Qt}from"./chunk-4GG6NV7Z.js";import{g as bt,m as A,n as rt,t as vt}from"./chunk-3ZU7ZAMP.js";import{B as ot,C as st,b as nt,c as ht,e as at,f as Rt,i as Mt,j as E,k as Dt,l as gt,m as Ht,n as Nt,p as Ct,s as Lt,t as zt,v as Ot,w as Ut,x as Wt,z as Kt}from"./chunk-MCPFJTIS.js";import{a as qt}from"./chunk-LKH45EAW.js";import"./chunk-3AQ4YCMY.js";import{d as U,e as jt}from"./chunk-6LB7WDKS.js";import{b as Y}from"./chunk-NORWQIOQ.js";import{c as At,d as St,f as _t,g as yt,k as R,l as V,n as M,p as Gt,q as D}from"./chunk-TV4YROXP.js";import{Ac as $t,Db as w,Eb as K,Ga as tt,Gb as x,Ha as kt,Hb as W,Ib as h,Kc as G,La as i,M as k,Mb as lt,Nb as dt,Ob as pt,Pc as it,Rc as Ft,Ub as Et,Vb as l,Wa as P,Wb as g,Xb as C,Zc as Pt,_c as Vt,ac as ct,bc as mt,cc as ut,dc as Tt,fc as Bt,g as xt,gc as H,h as v,hc as F,ic as et,ja as S,kb as b,lb as m,mb as u,mc as s,nc as r,oa as y,ob as N,oc as j,pa as I,pb as L,qb as z,rb as _,sb as a,tb as o,ub as p,vb as B,w as $,wb as T,xb as O}from"./chunk-WWMJUVLA.js";var ie=(e,c)=>({"green-text":e,"grey-text":c});function fe(e,c){if(e&1){let t=w();a(0,"li",9)(1,"div",10),l(2),p(3,"br"),a(4,"small",11),p(5,"i",12),s(6,"translate"),l(7," \xB7 "),a(8,"span",13),l(9),o(),l(10),s(11,"titlecase"),o()(),a(12,"div",14)(13,"input",23),s(14,"translate"),x("click",function(){let d=y(t).$implicit,f=h();return I(f.toggleList(d._username))}),o(),p(15,"label",24),o()()}if(e&2){let t=c.$implicit,n=h();i(2),C(" ",t.name," "),i(3),_("ngbTooltip",r(6,11,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150)("ngClass",F(17,ie,t._isPaired,!t._isPaired)),i(4),g(t._username),i(),C(" \xB7 ",r(11,13,t._category)," "),i(3),_("id","hidePluginUpdates_"+t._username)("checked",!n.isInList(t._username))("disabled",n.clicked),b("aria-label",r(14,15,"form.button_allow")+" "+t.name),i(2),_("for","hidePluginUpdates_"+t._username)}}function xe(e,c){e&1&&(l(0),s(1,"translate")),e&2&&C(" ",r(1,1,"form.button_save")," ")}function Se(e,c){e&1&&p(0,"i",22)}var ne=(()=>{class e{$activeModal=S(A);$api=S(D);$settings=S(Y);$toastr=S(M);$translate=S(R);originalBlacklist=[];updatedBlacklist=[];existingBlacklist=[];clicked=!1;mainPairing={};pairings=[];get blacklistHasUpdated(){return this.updatedBlacklist.join(",")!==this.originalBlacklist.join(",")}ngOnInit(){return v(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=t.find(n=>n._main),this.pairings=t.filter(n=>!n._main).sort((n,d)=>n.name.localeCompare(d.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,d)=>n.localeCompare(d)))}isInList(t){return this.updatedBlacklist.includes(t)}updateBlacklist(){return v(this,null,function*(){this.clicked=!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=!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=P({type:e,selectors:[["ng-component"]],inputs:{existingBlacklist:"existingBlacklist"},decls:45,vars:35,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","ngClass"],[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,d){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),o(),a(5,"button",3),s(6,"translate"),x("click",function(){return d.dismissModal()}),o()(),a(7,"div",4)(8,"div",5),p(9,"i",6),o(),a(10,"ul",7)(11,"li"),l(12),s(13,"translate"),o(),a(14,"li"),l(15),s(16,"translate"),o()(),a(17,"ul",8)(18,"li",9)(19,"div",10),l(20),p(21,"br"),a(22,"small",11),p(23,"i",12),s(24,"translate"),l(25," \xB7 "),a(26,"span",13),l(27),o(),l(28," \xB7 Homebridge "),o()(),a(29,"div",14)(30,"input",15),s(31,"translate"),x("click",function(){return d.toggleList(d.mainPairing._username)}),o(),p(32,"label",16),o()(),L(33,fe,16,20,"li",9,N),o()(),a(35,"div",17)(36,"div",10)(37,"button",18),x("click",function(){return d.dismissModal()}),l(38),s(39,"translate"),o()(),p(40,"div",19),a(41,"div",20)(42,"button",21),x("click",function(){return d.updateBlacklist()}),m(43,xe,2,3),m(44,Se,1,0,"i",22),o()()()()),n&2&&(i(3),g(r(4,18,"settings.security.ui_control")),i(2),_("disabled",d.clicked),b("aria-label",r(6,20,"form.button_close")),i(7),g(r(13,22,"settings.security.ui_control_desc")),i(3),g(r(16,24,"settings.security.ui_control_desc_2")),i(5),C(" ",d.mainPairing.name),i(3),_("ngbTooltip",r(24,26,d.mainPairing._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired"))("openDelay",150)("ngClass",F(32,ie,d.mainPairing._isPaired,!d.mainPairing._isPaired)),i(4),g(d.mainPairing._username),i(3),_("checked",!d.isInList(d.mainPairing._username))("disabled",d.clicked),b("aria-label",r(31,28,"plugins.manage.hide_updates")),i(3),z(d.pairings),i(4),_("disabled",d.clicked),i(),C(" ",r(39,30,"form.button_close")," "),i(4),_("disabled",!d.blacklistHasUpdated||d.clicked),i(),u(d.clicked?-1:43),i(),u(d.clicked?44:-1))},dependencies:[G,ot,vt,V,it],encapsulation:2})}return e})();var de=xt(ve(),1);var ae=xt(Ce(),1),oe=xt(be(),1);var ye=e=>({maxBackupSizeText:e});function Ie(e,c){if(e&1&&O(0,"input",10),e&2){let t=h(2);K("value",t.selectedBackup.fileName)}}function we(e,c){if(e&1){let t=w();B(0,"input",12),W("change",function(d){y(t);let f=h(2);return I(f.handleRestoreFileInput(d.target.files))}),T()}}function ke(e,c){if(e&1&&(B(0,"div",4)(1,"div",7),O(2,"i",8),T(),B(3,"ul",9)(4,"li"),l(5),s(6,"translate"),T(),B(7,"li"),l(8),s(9,"translate"),T(),B(10,"li"),l(11),s(12,"translate"),T(),B(13,"li"),l(14),s(15,"translate"),T()(),m(16,Ie,1,1,"input",10),m(17,we,1,0,"input",11),T()),e&2){let t=h();i(5),g(r(6,6,"backup.restore_help_one")),i(3),g(r(9,8,"backup.restore_help_two")),i(3),g(j(12,10,"backup.restore_max_size",H(15,ye,t.maxFileSizeText))),i(3),g(r(15,13,"backup.restore_warning")),i(2),u(t.selectedBackup?16:-1),i(),u(t.selectedBackup?-1:17)}}function Ee(e,c){if(e&1){let t=w();B(0,"button",18),s(1,"translate"),W("click",function(){y(t);let d=h(2);return I(d.dismissModal())}),l(2),s(3,"translate"),T()}if(e&2){let t=h(2);K("disabled",t.clicked),b("aria-label",r(1,3,"form.button_close")),i(2),C(" ",r(3,5,"form.button_close")," ")}}function Te(e,c){if(e&1){let t=w();B(0,"button",18),s(1,"translate"),W("click",function(){y(t);let d=h(2);return I(d.reopenBackupModal())}),l(2),s(3,"translate"),T()}if(e&2){let t=h(2);K("disabled",t.clicked),b("aria-label",r(1,3,"form.button_back")),i(2),C(" ",r(3,5,"form.button_back")," ")}}function Be(e,c){e&1&&O(0,"i",19)}function $e(e,c){if(e&1&&(B(0,"span"),l(1),T()),e&2){let t=h(3);i(),C("",t.uploadPercent,"% - ")}}function Fe(e,c){e&1&&(B(0,"span"),l(1," Extracting Archive"),T())}function Pe(e,c){e&1&&(B(0,"span"),l(1),s(2,"translate"),T()),e&2&&(i(),C(" ",r(2,1,"backup.label_uploading")))}function Ve(e,c){if(e&1&&(B(0,"span"),m(1,Be,1,0,"i",19),m(2,$e,2,1,"span"),m(3,Fe,2,0,"span"),m(4,Pe,3,3,"span"),T()),e&2){let t=h(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 Ae(e,c){e&1&&(l(0),s(1,"translate")),e&2&&C(" ",r(1,1,"form.button_restore")," ")}function Re(e,c){if(e&1){let t=w();B(0,"div",6)(1,"div",13),m(2,Ee,4,7,"button",14),m(3,Te,4,7,"button",14),T(),O(4,"div",15),B(5,"div",16)(6,"button",17),W("click",function(){y(t);let d=h();return I(d.onRestoreBackupClick())}),m(7,Ve,5,4,"span"),m(8,Ae,2,3),T()()()}if(e&2){let t=h();i(2),u(t.setupWizardRestore?2:-1),i(),u(t.setupWizardRestore?-1:3),i(3),K("disabled",!t.selectedBackup&&!t.selectedFile||t.clicked),i(),u(t.clicked?7:-1),i(),u(t.clicked?-1:8)}}function Me(e,c){if(e&1){let t=w();B(0,"div",6),O(1,"div",13),B(2,"div",15)(3,"button",20),W("click",function(){y(t);let d=h();return I(d.postBackupRestart())}),l(4),s(5,"translate"),T()(),O(6,"div",16),T()}e&2&&(i(4),C(" ",r(5,1,"menu.hbrestart.title")," "))}var se=(()=>{class e{$activeModal=S(A);$api=S(D);$modal=S(rt);$router=S(U);$toastr=S(M);$translate=S(R);$ws=S(qt);io;term=new oe.Terminal;termTarget;fitAddon=new ae.FitAddon;setupWizardRestore=!1;selectedBackup=null;clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;restoreInProgress=!1;restoreStarted=!1;restoreFailed=!1;restoreArchiveType="homebridge";uploadPercent=0;ngOnInit(){return v(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=!0,this.restoreInProgress=!0,this.startRestore())})}onRestoreBackupClick(){this.selectedBackup?this.restoreScheduledBackup():this.restoreArchiveType==="homebridge"?this.uploadHomebridgeArchive():this.restoreArchiveType==="hbfx"&&this.uploadHbfxArchive()}handleRestoreFileInput(t){t.length?(this.selectedFile=t[0],this.selectedFile.name.endsWith(".hbfx")?this.restoreArchiveType="hbfx":this.restoreArchiveType="homebridge"):delete this.selectedFile}postBackupRestart(){this.$api.put("/backup/restart",{}).subscribe({next:()=>{this.$activeModal.close(!0),this.$router.navigate(["/"])},error:()=>{}})}reopenBackupModal(){this.$activeModal.dismiss(),this.$modal.open(ft,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.io.end()}dismissModal(){this.$activeModal.dismiss("Dismiss")}uploadHomebridgeArchive(){this.term.reset(),this.clicked=!0;let t=new FormData;t.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore",t).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})}restoreScheduledBackup(){return v(this,null,function*(){this.term.reset(),this.clicked=!0,this.$api.post(`/backup/scheduled-backups/${this.selectedBackup.id}/restore`,{}).subscribe({next:()=>{this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startRestore()},500),this.clicked=!1},error:t=>{console.error(t),this.$toastr.error(t.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error")),this.clicked=!1}})})}startRestore(){return v(this,null,function*(){this.io.request("do-restore").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success")),this.setupWizardRestore&&this.postBackupRestart()},error:t=>{this.restoreFailed=!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=!0;let t=new FormData;t.append("restoreArchive",this.selectedFile,this.selectedFile.name),this.$api.post("/backup/restore/hbfx",t,{reportProgress:!0,observe:"events"}).subscribe({next:n=>{n.type===Pt.UploadProgress?this.uploadPercent=Math.round(100*n.loaded/n.total):n instanceof Vt&&(this.restoreStarted=!0,this.restoreInProgress=!0,setTimeout(()=>{this.startHbfxRestore()},500),this.clicked=!1)},error:n=>{this.clicked=!1,console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.restore_failed"),this.$translate.instant("toast.title_error"))}})}startHbfxRestore(){return v(this,null,function*(){this.io.request("do-restore-hbfx").subscribe({next:()=>{this.restoreInProgress=!1,this.$toastr.success(this.$translate.instant("backup.backup_restored"),this.$translate.instant("toast.title_success"))},error:t=>{this.restoreFailed=!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=P({type:e,selectors:[["ng-component"]],inputs:{setupWizardRestore:"setupWizardRestore",selectedBackup:"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,d){n&1&&(B(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),T(),B(5,"button",3),s(6,"translate"),W("click",function(){return d.dismissModal()}),T()(),m(7,ke,18,17,"div",4),O(8,"div",5),m(9,Re,9,5,"div",6),m(10,Me,7,3,"div",6),T()),n&2&&(i(3),g(r(4,7,"backup.title_backup")),i(2),K("disabled",d.restoreInProgress),b("aria-label",r(6,9,"form.button_close")),i(2),u(!d.restoreStarted&&!d.setupWizardRestore?7:-1),i(),K("hidden",!d.restoreStarted),i(),u(!d.restoreStarted||d.restoreFailed===!0?9:-1),i(),u(!d.restoreInProgress&&d.restoreStarted?10:-1))},dependencies:[V],encapsulation:2})}return e})();var re=(e,c)=>({"fa-arrow-right":e,"fa-cog fa-spin":c}),De=e=>({backupTime:e,dayCount:7}),He=(e,c)=>({"fa-trash":e,"fa-cog fa-spin":c}),Ne=(e,c)=>({backupSize:e,maxBackupSizeText:c});function Le(e,c){if(e&1&&(l(0),s(1,"date"),s(2,"translate")),e&2){let t=h(2);C(" ",j(2,4,"backup.scheduled_backup_time",H(7,De,j(1,1,t.backupTime,"shortTime")))," ")}}function ze(e,c){e&1&&(l(0),s(1,"translate")),e&2&&C(" ",r(1,1,"plugins.settings.restart_required")," ")}function Oe(e,c){if(e&1&&m(0,Le,3,9)(1,ze,2,3),e&2){let t=h();u(t.backupTime?0:1)}}function Ue(e,c){if(e&1&&(l(0),s(1,"translate")),e&2){let t=h();C(" ",r(1,1,t.backupTime?"plugins.settings.restart_required":"backup.scheduled_backup_disabled")," ")}}function We(e,c){if(e&1&&(a(0,"span",33),s(1,"translate"),p(2,"i",40),l(3),o()),e&2){let t=h().$implicit;_("ngbTooltip",j(1,3,"backup.backup_exceeds_max_size",F(6,Ne,t.size+"MB",t.maxBackupSizeText)))("openDelay",150),i(3),C(" ",t.size,"MB ")}}function Ke(e,c){if(e&1&&(a(0,"span"),l(1),o()),e&2){let t=h().$implicit;i(),C(" ",t.size,"MB ")}}function je(e,c){if(e&1){let t=w();a(0,"li",22)(1,"span")(2,"span",32),l(3),s(4,"date"),o(),p(5,"br"),a(6,"small",23),l(7),s(8,"date"),m(9,We,4,9,"span",33),m(10,Ke,2,1,"span"),o()(),a(11,"span",34)(12,"button",35),s(13,"translate"),s(14,"translate"),x("click",function(){let d=y(t).$implicit,f=h(2);return I(f.restore(d))}),p(15,"i",36),o(),a(16,"button",37),s(17,"translate"),s(18,"translate"),x("click",function(){let d=y(t).$implicit,f=h(2);return I(f.download(d))}),p(19,"i",38),o(),a(20,"button",39),s(21,"translate"),s(22,"translate"),x("click",function(){let d=y(t).$implicit,f=h(2);return I(f.delete(d))}),p(23,"i",25),o()()()}if(e&2){let t=c.$implicit,n=h(2);i(2),_("ngbTooltip",t.fileName)("openDelay",150),i(),C(" ",j(4,19,t.timestamp,"mediumDate")," "),i(4),C(" ",j(8,22,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",r(13,25,"form.button_restore"))("openDelay",150),b("aria-label",r(14,27,"form.button_restore")),i(4),_("disabled",n.clicked||n.deleting)("ngbTooltip",r(17,29,"form.button_download"))("openDelay",150),b("aria-label",r(18,31,"form.button_download")),i(4),_("disabled",n.clicked||n.deleting)("ngbTooltip",r(21,33,"form.button_delete"))("openDelay",150),b("aria-label",r(22,35,"form.button_delete")),i(3),_("ngClass",F(37,He,t.id!==n.deleting,t.id===n.deleting))}}function Ge(e,c){if(e&1&&(a(0,"ul",27)(1,"li",9)(2,"h6",10),l(3),s(4,"translate"),o()(),L(5,je,24,40,"li",22,N),o()),e&2){let t=h();i(3),g(r(4,1,"backup.files_auto")),i(2),z(t.scheduledBackups)}}var ft=(()=>{class e{$activeModal=S(A);$api=S(D);$backup=S(ee);$modal=S(rt);$router=S(U);$settings=S(Y);$toastr=S(M);$translate=S(R);restartToastIsShown=!1;Date=Date;clicked=!1;scheduledBackups=[];backupTime;deleting=null;currentSettingEnabled=!1;currentSettingPath="";enabledFormControl=new E(!1);pathFormControl=new E("");ngOnInit(){this.getScheduledBackups(),this.getNextBackup(),this.currentSettingEnabled=!this.$settings.env.scheduledBackupDisable,this.currentSettingPath=this.$settings.env.scheduledBackupPath,this.enabledFormControl.patchValue(this.currentSettingEnabled),this.pathFormControl.patchValue(this.currentSettingPath),this.enabledFormControl.valueChanges.pipe(k(750)).subscribe(t=>v(this,null,function*(){this.currentSettingEnabled=t,yield this.saveUiSettingChange("scheduledBackupDisable",!this.currentSettingEnabled)})),this.pathFormControl.valueChanges.pipe(k(1500)).subscribe(t=>v(this,null,function*(){this.currentSettingPath=t,yield this.saveUiSettingChange("scheduledBackupPath",this.currentSettingPath)}))}download(t){this.$api.get(`/backup/scheduled-backups/${t.id}`,{observe:"response",responseType:"blob"}).subscribe({next:n=>{let d=t.fileName||"homebridge-backup.tar.gz",f=n.body.size;if(f>globalThis.backup.maxBackupSize){let q=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(f/1048576).toFixed(1)}MB`});this.$toastr.warning(q,this.$translate.instant("toast.title_warning"))}(0,de.saveAs)(n.body,d)},error: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(se,{size:"lg",backdrop:"static"});n.componentInstance.selectedBackup=t}delete(t){this.deleting=t.id,this.$api.delete(`/backup/scheduled-backups/${t.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:n=>{this.deleting=null,console.error(n),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return v(this,null,function*(){this.clicked=!0;try{yield this.$backup.downloadBackup(),this.clicked=!1}catch(t){this.clicked=!1,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}onCreateBackupClick(){return v(this,null,function*(){this.clicked=!0;try{yield $(this.$api.post("/backup",{})),this.clicked=!1,this.getScheduledBackups()}catch(t){this.clicked=!1,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}saveUiSettingChange(t,n){return v(this,null,function*(){try{yield $(this.$api.put("/config-editor/ui",{key:t,value:n})),this.$settings.setEnvItem(t,n),this.showRestartToast()}catch(d){console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:t=>{this.scheduledBackups=t},error:t=>console.error(t)})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:t=>{this.backupTime=t.next},error: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.subscribe(()=>{this.$router.navigate(["/restart"])})}}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=P({type:e,selectors:[["ng-component"]],decls:92,vars:80,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",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",3,"click","disabled"],[1,"fas",3,"ngClass"],[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",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,d){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),o(),a(5,"button",3),s(6,"translate"),x("click",function(){return d.dismissModal()}),o()(),a(7,"div",4)(8,"div",5),p(9,"i",6),o(),a(10,"ul",7)(11,"li"),l(12),s(13,"translate"),o(),a(14,"li"),l(15),s(16,"translate"),o(),a(17,"li"),l(18),s(19,"translate"),o()(),a(20,"ul",8)(21,"li",9)(22,"h6",10),l(23),s(24,"translate"),o()(),a(25,"li",11)(26,"div",12),l(27),s(28,"translate"),p(29,"br"),a(30,"span",13),l(31),s(32,"translate"),o()(),a(33,"div",14),p(34,"input",15),s(35,"translate"),o()(),a(36,"li",16)(37,"div",17),l(38),s(39,"translate"),p(40,"br"),a(41,"span",18),m(42,Oe,2,1)(43,Ue,2,3),o()(),a(44,"div",19),p(45,"input",20),s(46,"translate"),p(47,"label",21),o()(),a(48,"li",22)(49,"div")(50,"span"),l(51),s(52,"translate"),o(),p(53,"br"),a(54,"small",23),l(55),s(56,"translate"),o()(),a(57,"button",24),s(58,"translate"),x("click",function(){return d.onDownloadBackupClick()}),p(59,"i",25),o()(),a(60,"li",22)(61,"div")(62,"span"),l(63),s(64,"translate"),o(),p(65,"br"),a(66,"small",23),l(67),s(68,"translate"),o()(),a(69,"button",24),s(70,"translate"),x("click",function(){return d.onCreateBackupClick()}),p(71,"i",25),o()(),a(72,"li",22)(73,"div")(74,"span"),l(75),s(76,"translate"),o(),p(77,"br"),a(78,"small",23),l(79),s(80,"translate"),o()(),a(81,"button",24),s(82,"translate"),x("click",function(){return d.restore(null)}),p(83,"i",26),o()()(),m(84,Ge,7,3,"ul",27),o(),a(85,"div",28),p(86,"div",17),a(87,"div",29)(88,"button",30),x("click",function(){return d.dismissModal()}),l(89),s(90,"translate"),o()(),p(91,"div",31),o()()),n&2&&(i(3),g(r(4,32,"backup.title_backup")),i(2),_("disabled",d.clicked||d.deleting),b("aria-label",r(6,34,"form.button_close")),i(7),g(r(13,36,"backup.backup_help_one")),i(3),g(r(16,38,"backup.backup_help_two")),i(3),g(r(19,40,"backup.backup_warning")),i(5),g(r(24,42,"backup.settings_title")),i(4),C(" ",r(28,44,"backup.settings_path")),i(4),g(r(32,46,"backup.settings_path_desc")),i(3),_("formControl",d.pathFormControl),b("aria-label",r(35,48,"backup.settings_path")),i(4),C(" ",r(39,50,"backup.settings_enable")),i(4),u(d.enabledFormControl.value?42:43),i(3),_("formControl",d.enabledFormControl),b("aria-label",r(46,52,"backup.settings_enable")),i(6),g(r(52,54,"backup.backup_now")),i(4),g(r(56,56,"backup.backup_now_desc")),i(2),_("disabled",d.clicked),b("aria-label",r(58,58,"backup.backup_now")),i(2),_("ngClass",F(74,re,!d.clicked,d.clicked)),i(4),g(r(64,60,"backup.backup_now")),i(4),g(r(68,62,"backup.backup_now_save_desc")),i(2),_("disabled",d.clicked),b("aria-label",r(70,64,"backup.backup_now")),i(2),_("ngClass",F(77,re,!d.clicked,d.clicked)),i(4),g(r(76,66,"backup.restore_now")),i(4),g(r(80,68,"backup.restore_now_desc")),i(2),_("disabled",d.clicked),b("aria-label",r(82,70,"backup.restore_now")),i(3),u(d.scheduledBackups.length?84:-1),i(4),_("disabled",d.clicked||d.deleting),i(),C(" ",r(90,72,"form.button_close")," "))},dependencies:[vt,G,st,ht,nt,at,Ct,Ft,V],encapsulation:2})}return e})();function qe(e,c){e&1&&(a(0,"div",12),p(1,"i",13),o(),a(2,"p",14),l(3),s(4,"translate"),o()),e&2&&(i(3),g(r(4,1,"reset.no_accessories")))}function Qe(e,c){e&1&&(a(0,"div",12),p(1,"i",15),o(),a(2,"ul",16)(3,"li"),l(4),s(5,"translate"),o(),a(6,"li"),l(7),s(8,"translate"),o(),a(9,"li"),l(10),s(11,"translate"),o()(),a(12,"ngb-alert",17)(13,"p",18),l(14),s(15,"translate"),o()()),e&2&&(i(4),g(r(5,5,"reset.accessory_all.list_1")),i(3),g(r(8,7,"reset.accessory_all.list_2")),i(3),g(r(11,9,"reset.accessory_all.list_3")),i(2),_("dismissible",!1),i(2),g(r(15,11,"reset.action_is_irreversible")))}function Je(e,c){if(e&1){let t=w();a(0,"button",19),s(1,"translate"),x("click",function(){y(t);let d=h();return I(d.dismissModal())}),l(2),s(3,"translate"),o()}if(e&2){let t=h();_("disabled",t.clicked),b("aria-label",r(1,3,"form.button_close")),i(2),C(" ",r(3,5,"form.button_close")," ")}}function Xe(e,c){if(e&1){let t=w();a(0,"button",20),s(1,"translate"),x("click",function(){y(t);let d=h();return I(d.dismissModal())}),l(2),s(3,"translate"),o()}e&2&&(b("aria-label",r(1,2,"form.button_close")),i(2),C(" ",r(3,4,"form.button_close")," "))}function Ye(e,c){e&1&&(l(0),s(1,"translate")),e&2&&C(" ",r(1,1,"form.button_remove")," ")}function Ze(e,c){e&1&&p(0,"i",22)}function ti(e,c){if(e&1){let t=w();a(0,"button",21),x("click",function(){y(t);let d=h();return I(d.onResetCachedAccessoriesClick())}),m(1,Ye,2,3),m(2,Ze,1,0,"i",22),o()}if(e&2){let t=h();_("disabled",t.clicked),i(),u(t.clicked?-1:1),i(),u(t.clicked?2:-1)}}var pe=(()=>{class e{$activeModal=S(A);$api=S(D);$router=S(U);$toastr=S(M);$translate=S(R);clicked=!1;cachedAccessories=[];ngOnInit(){this.loadCachedAccessories()}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{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}})},error:t=>{this.clicked=!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 v(this,null,function*(){try{this.cachedAccessories=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=P({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,d){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),o(),a(5,"button",3),s(6,"translate"),x("click",function(){return d.dismissModal()}),o()(),a(7,"div",4),m(8,qe,5,3),m(9,Qe,16,13),o(),a(10,"div",5)(11,"div",6),m(12,Je,4,7,"button",7),o(),a(13,"div",8),m(14,Xe,4,6,"button",9),o(),a(15,"div",10),m(16,ti,3,3,"button",11),o()()()),n&2&&(i(3),g(r(4,8,"reset.accessory_all.title")),i(2),_("disabled",d.clicked),b("aria-label",r(6,10,"form.button_close")),i(3),u(d.cachedAccessories.length===0?8:-1),i(),u(d.cachedAccessories.length>0?9:-1),i(3),u(d.cachedAccessories.length>0?12:-1),i(2),u(d.cachedAccessories.length===0?14:-1),i(2),u(d.cachedAccessories.length>0?16:-1))},dependencies:[bt,V],encapsulation:2})}return e})();var ei=(e,c)=>({"green-text":e,"grey-text":c}),ii=(e,c)=>({"btn-danger":e,"btn-elegant":c}),ni=(e,c,t)=>({"fa-broom":e,"fa-undo":c,"fa-spinner fa-pulse":t});function ai(e,c){e&1&&(a(0,"div",12),p(1,"i",13),o(),a(2,"p",14),l(3),s(4,"translate"),o()),e&2&&(i(3),g(r(4,1,"reset.bridge_accessories.empty")))}function oi(e,c){if(e&1){let t=w();a(0,"li",18)(1,"span"),l(2),p(3,"br"),a(4,"small",19),p(5,"i",20),l(6),s(7,"translate"),a(8,"span",21),l(9),o()()(),a(10,"button",22),s(11,"translate"),x("click",function(){let d=y(t).$implicit,f=h(2);return I(f.toggleList(d._id))}),p(12,"i",23),o()()}if(e&2){let t=c.$implicit,n=h(2);i(2),C(" ",t.name," "),i(3),_("ngClass",F(12,ei,t._isPaired,!t._isPaired)),i(),C(" ",r(7,8,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),i(3),g(t._username),i(),_("disabled",n.clicked)("ngClass",F(15,ii,!n.toDelete.includes(t._id),n.toDelete.includes(t._id))),b("aria-label",r(11,10,"form.button_delete")),i(2),_("ngClass",et(18,ni,!n.toDelete.includes(t._id),n.toDelete.includes(t._id)&&!n.clicked,n.toDelete.includes(t._id)&&n.clicked))}}function si(e,c){if(e&1&&(a(0,"div",12),p(1,"i",15),o(),a(2,"ul",16)(3,"li"),l(4),s(5,"translate"),o(),a(6,"li"),l(7),s(8,"translate"),o(),a(9,"li"),l(10),s(11,"translate"),o()(),a(12,"ul",17),L(13,oi,13,22,"li",18,N),o()),e&2){let t=h();i(4),g(r(5,3,"reset.bridge_accessories.list_1")),i(3),g(r(8,5,"reset.clear_cache_single.list_3")),i(3),g(r(11,7,"reset.bridge_accessories.list_2")),i(3),z(t.pairings)}}function ri(e,c){if(e&1){let t=w();a(0,"button",24),x("click",function(){y(t);let d=h();return I(d.dismissModal())}),l(1),s(2,"translate"),o()}if(e&2){let t=h();_("disabled",t.clicked),i(),C(" ",r(2,2,"form.button_close")," ")}}function li(e,c){if(e&1){let t=w();a(0,"button",25),x("click",function(){y(t);let d=h();return I(d.dismissModal())}),l(1),s(2,"translate"),o()}e&2&&(i(),C(" ",r(2,1,"form.button_close")," "))}function di(e,c){e&1&&p(0,"i",27)}function pi(e,c){if(e&1&&l(0),e&2){let t=h(3);C(" (",t.toDelete.length,") ")}}function ci(e,c){if(e&1&&(l(0),s(1,"translate"),m(2,pi,1,1)),e&2){let t=h(2);C(" ",r(1,2,"form.button_remove")," "),i(2),u(t.toDelete.length>0?2:-1)}}function mi(e,c){if(e&1){let t=w();a(0,"button",26),x("click",function(){y(t);let d=h();return I(d.cleanBridges())}),m(1,di,1,0,"i",27)(2,ci,3,4),o()}if(e&2){let t=h();_("disabled",!t.toDelete.length||t.clicked),i(),u(t.clicked?1:2)}}var ce=(()=>{class e{$activeModal=S(A);$api=S(D);$router=S(U);$toastr=S(M);$translate=S(R);clicked=!1;pairings=[];toDelete=[];ngOnInit(){this.loadPairings()}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(t=>({id:t}))}).subscribe({next:()=>{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}})},error:t=>{this.clicked=!1,console.error(t),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}toggleList(t){this.toDelete.includes(t)?this.toDelete=this.toDelete.filter(n=>n!==t):this.toDelete.push(t)}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadPairings(){return v(this,null,function*(){try{this.pairings=(yield $(this.$api.get("/server/pairings"))).filter(t=>t._category==="bridge"&&!t._main).sort((t,n)=>t.name.localeCompare(n.name))}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=P({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,"grey-text"],[1,"fas","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas",3,"ngClass"],["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,d){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),o(),a(5,"button",3),s(6,"translate"),x("click",function(){return d.dismissModal()}),o()(),a(7,"div",4),m(8,ai,5,3),m(9,si,15,9),o(),a(10,"div",5)(11,"div",6),m(12,ri,3,4,"button",7),o(),a(13,"div",8),m(14,li,3,3,"button",9),o(),a(15,"div",10),m(16,mi,3,2,"button",11),o()()()),n&2&&(i(3),g(r(4,8,"reset.bridge_accessories.title")),i(2),_("disabled",d.clicked),b("aria-label",r(6,10,"form.button_close")),i(3),u(d.pairings.length===0?8:-1),i(),u(d.pairings.length>0?9:-1),i(3),u(d.pairings.length>0?12:-1),i(2),u(d.pairings.length===0?14:-1),i(2),u(d.pairings.length>0?16:-1))},dependencies:[G,V],encapsulation:2})}return e})();function ui(e,c){e&1&&(l(0),s(1,"translate")),e&2&&C(" ",r(1,1,"form.button_reset")," ")}function _i(e,c){e&1&&p(0,"i",16)}var me=(()=>{class e{$activeModal=S(A);$api=S(D);$router=S(U);$toastr=S(M);$translate=S(R);clicked;onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"])},error: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=P({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,d){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),o(),a(5,"button",3),s(6,"translate"),x("click",function(){return d.dismissModal()}),o()(),a(7,"div",4)(8,"div",5),p(9,"i",6),o(),a(10,"ul",7)(11,"li"),l(12),s(13,"translate"),o(),a(14,"li"),l(15),s(16,"translate"),o(),a(17,"li"),l(18),s(19,"translate"),o(),a(20,"li"),l(21),s(22,"translate"),o()(),a(23,"ngb-alert",8)(24,"p",9),l(25),s(26,"translate"),o()()(),a(27,"div",10)(28,"div",11)(29,"button",12),s(30,"translate"),x("click",function(){return d.dismissModal()}),l(31),s(32,"translate"),o()(),p(33,"div",13),a(34,"div",14)(35,"button",15),x("click",function(){return d.onResetHomebridgeAccessoryClick()}),m(36,ui,2,3),m(37,_i,1,0,"i",16),o()()()()),n&2&&(i(3),g(r(4,15,"reset.bridge_all.title")),i(2),_("disabled",d.clicked),b("aria-label",r(6,17,"form.button_close")),i(7),g(r(13,19,"reset.bridge_all.list_1")),i(3),g(r(16,21,"reset.bridge_all.list_2")),i(3),g(r(19,23,"reset.bridge_all.list_3")),i(3),g(r(22,25,"reset.bridge_all.list_4")),i(2),_("dismissible",!1),i(2),g(r(26,27,"reset.action_is_irreversible")),i(4),_("disabled",d.clicked),b("aria-label",r(30,29,"form.button_close")),i(2),C(" ",r(32,31,"form.button_close")," "),i(4),_("disabled",d.clicked),i(),u(d.clicked?-1:36),i(),u(d.clicked?37:-1))},dependencies:[bt,V],encapsulation:2})}return e})();var It=(e,c)=>({"green-text":e,"grey-text":c}),wt=(e,c)=>({"btn-danger":e,"btn-elegant":c}),ue=(e,c,t)=>({"fa-refresh":e,"fa-undo":c,"fa-spinner fa-pulse":t}),hi=(e,c,t)=>({"fa-trash":e,"fa-undo":c,"fa-spinner fa-pulse":t});function gi(e,c){e&1&&(a(0,"div",12),p(1,"i",13),o(),a(2,"p",14),l(3),s(4,"translate"),o()),e&2&&(i(3),g(r(4,1,"reset.bridges.empty")))}function Ci(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span"),l(2),p(3,"br"),a(4,"small",21),p(5,"i",22),l(6),s(7,"translate"),a(8,"span",23),l(9),o(),l(10),s(11,"titlecase"),o()(),a(12,"button",24),s(13,"translate"),x("click",function(){let d=y(t).$implicit,f=h(3);return I(f.toggleList(d._id,!1))}),p(14,"i",25),o()()}if(e&2){let t=c.$implicit,n=h(3);i(2),C(" ",t.name," "),i(3),_("ngClass",F(15,It,t._isPaired,!t._isPaired)),i(),C(" ",r(7,9,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),i(3),g(t._username),i(),C(" \xB7 ",t._main?"Homebridge":r(11,11,t._category)," "),i(2),_("disabled",n.clicked)("ngClass",F(18,wt,!n.isInList(t._id),n.isInList(t._id))),b("aria-label",r(13,13,"form.button_unpair")),i(2),_("ngClass",et(21,ue,!n.isInList(t._id),n.isInList(t._id)&&!n.clicked,n.isInList(t._id)&&n.clicked))}}function bi(e,c){if(e&1&&(a(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),s(4,"translate"),o(),a(5,"p",19),l(6),s(7,"translate"),o()(),L(8,Ci,15,25,"li",20,N),o()),e&2){let t=h(2);i(3),g(r(4,2,"reset.bridge_ind.head_non_child")),i(3),g(r(7,4,"reset.bridge_ind.desc_non_child")),i(2),z(t.pairingsNonChild)}}function vi(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span"),l(2),p(3,"br"),a(4,"small",21),p(5,"i",22),l(6),s(7,"translate"),a(8,"span",23),l(9),o()()(),a(10,"button",24),s(11,"translate"),x("click",function(){let d=y(t).$implicit,f=h(3);return I(f.toggleList(d._id,!0))}),p(12,"i",25),o()()}if(e&2){let t=c.$implicit,n=h(3);i(2),C(" ",t.name," "),i(3),_("ngClass",F(12,It,t._isPaired,!t._isPaired)),i(),C(" ",r(7,8,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),i(3),g(t._username),i(),_("disabled",n.clicked)("ngClass",F(15,wt,!n.isInList(t._id),n.isInList(t._id))),b("aria-label",r(11,10,"form.button_unpair")),i(2),_("ngClass",et(18,ue,!n.isInList(t._id),n.isInList(t._id)&&!n.clicked,n.isInList(t._id)&&n.clicked))}}function fi(e,c){if(e&1&&(a(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),s(4,"translate"),o(),a(5,"p",19),l(6),s(7,"translate"),o()(),L(8,vi,13,22,"li",20,N),o()),e&2){let t=h(2);i(3),g(r(4,2,"reset.bridge_ind.head_child_active")),i(3),g(r(7,4,"reset.bridge_ind.desc_child_active")),i(2),z(t.pairingsChildActive)}}function xi(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span"),l(2),p(3,"br"),a(4,"small",21),p(5,"i",22),l(6),s(7,"translate"),a(8,"span",23),l(9),o()()(),a(10,"button",24),s(11,"translate"),x("click",function(){let d=y(t).$implicit,f=h(3);return I(f.toggleList(d._id,!1))}),p(12,"i",25),o()()}if(e&2){let t=c.$implicit,n=h(3);i(2),C(" ",t.name," "),i(3),_("ngClass",F(12,It,t._isPaired,!t._isPaired)),i(),C(" ",r(7,8,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),i(3),g(t._username),i(),_("disabled",n.clicked)("ngClass",F(15,wt,!n.isInList(t._id),n.isInList(t._id))),b("aria-label",r(11,10,"form.button_unpair")),i(2),_("ngClass",et(18,hi,!n.isInList(t._id),n.isInList(t._id)&&!n.clicked,n.isInList(t._id)&&n.clicked))}}function Si(e,c){if(e&1&&(a(0,"ul",16)(1,"li",17)(2,"h6",18),l(3),s(4,"translate"),o(),a(5,"p",19),l(6),s(7,"translate"),o()(),L(8,xi,13,22,"li",20,N),o()),e&2){let t=h(2);i(3),g(r(4,2,"reset.bridge_ind.head_child_stale")),i(3),g(r(7,4,"reset.bridge_ind.desc_child_stale")),i(2),z(t.pairingsChildStale)}}function yi(e,c){if(e&1&&(a(0,"div",12),p(1,"i",15),o(),m(2,bi,10,6,"ul",16),m(3,fi,10,6,"ul",16),m(4,Si,10,6,"ul",16)),e&2){let t=h();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 Ii(e,c){if(e&1){let t=w();a(0,"button",26),x("click",function(){y(t);let d=h();return I(d.dismissModal())}),l(1),s(2,"translate"),o()}if(e&2){let t=h();_("disabled",t.clicked),i(),C(" ",r(2,2,"form.button_close")," ")}}function wi(e,c){if(e&1){let t=w();a(0,"button",27),x("click",function(){y(t);let d=h();return I(d.dismissModal())}),l(1),s(2,"translate"),o()}e&2&&(i(),C(" ",r(2,1,"form.button_close")," "))}function ki(e,c){if(e&1&&l(0),e&2){let t=h(3);C(" (",t.toDelete.length,") ")}}function Ei(e,c){if(e&1&&(l(0),s(1,"translate"),m(2,ki,1,1)),e&2){let t=h(2);C(" ",r(1,2,"form.button_reset")," "),i(2),u(t.toDelete.length>0?2:-1)}}function Ti(e,c){e&1&&p(0,"i",29)}function Bi(e,c){if(e&1){let t=w();a(0,"button",28),x("click",function(){y(t);let d=h();return I(d.removeBridges())}),m(1,Ei,3,4),m(2,Ti,1,0,"i",29),o()}if(e&2){let t=h();_("disabled",!t.toDelete.length||t.clicked),i(),u(t.clicked?-1:1),i(),u(t.clicked?2:-1)}}var _e=(()=>{class e{$activeModal=S(A);$api=S(D);$router=S(U);$toastr=S(M);$translate=S(R);clicked=!1;pairingsNonChild=[];pairingsChildActive=[];pairingsChildStale=[];toDelete=[];ngOnInit(){this.loadPairings()}toggleList(t,n=!1){this.toDelete.some(d=>d.id===t)?this.toDelete=this.toDelete.filter(d=>d.id!==t):this.toDelete.push({id:t,resetPairingInfo:n})}isInList(t){return this.toDelete.some(n=>n.id===t)}removeBridges(){return this.clicked=!0,this.$api.delete("/server/pairings",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.bridge_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:t=>{this.clicked=!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 v(this,null,function*(){try{let t=(yield $(this.$api.get("/server/pairings"))).filter(n=>!n._main).sort((n,d)=>n.name.localeCompare(d.name));this.pairingsChildActive=t.filter(n=>n._category==="bridge"&&!n._couldBeStale),this.pairingsNonChild=t.filter(n=>n._category!=="bridge"),this.pairingsChildStale=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=P({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,"grey-text"],[1,"fas","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas",3,"ngClass"],["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,d){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),o(),a(5,"button",3),s(6,"translate"),x("click",function(){return d.dismissModal()}),o()(),a(7,"div",4),m(8,gi,5,3),m(9,yi,5,3),o(),a(10,"div",5)(11,"div",6),m(12,Ii,3,4,"button",7),o(),a(13,"div",8),m(14,wi,3,3,"button",9),o(),a(15,"div",10),m(16,Bi,3,3,"button",11),o()()()),n&2&&(i(3),g(r(4,8,"reset.bridge_ind.title")),i(2),_("disabled",d.clicked),b("aria-label",r(6,10,"form.button_close")),i(3),u(d.pairingsChildActive.length===0&&d.pairingsChildStale.length===0&&d.pairingsNonChild.length===0?8:-1),i(),u(d.pairingsChildActive.length>0||d.pairingsChildStale.length>0||d.pairingsNonChild.length>0?9:-1),i(3),u(d.pairingsChildActive.length>0||d.pairingsChildStale.length>0||d.pairingsNonChild.length>0?12:-1),i(2),u(d.pairingsChildActive.length===0&&d.pairingsChildStale.length===0&&d.pairingsNonChild.length===0?14:-1),i(2),u(d.pairingsChildActive.length>0||d.pairingsChildStale.length>0||d.pairingsNonChild.length>0?16:-1))},dependencies:[G,it,V],encapsulation:2})}return e})();function $i(e,c){if(e&1){let t=w();a(0,"li",9)(1,"div")(2,"span",16),l(3),o(),p(4,"br"),a(5,"span",17),l(6),o()(),a(7,"span")(8,"input",18),ut("ngModelChange",function(d){let f=y(t).$implicit;return mt(f.selected,d)||(f.selected=d),I(d)}),x("ngModelChange",function(){y(t);let d=h();return I(d.onAdapterSelectionChange())}),o(),p(9,"label",19),o()()}if(e&2){let t=c.$implicit;i(3),g(t.ip4||t.ip6),i(3),g(t.iface),i(2),_("id","adapter"+t.iface),ct("ngModel",t.selected),i(),_("for","adapter"+t.iface)}}var he=(()=>{class e{$activeModal=S(A);adaptersOriginal=[];adaptersAvailable=[];adaptersSelected=[];isUnchanged=!0;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=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=!0,this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=P({type:e,selectors:[["ng-component"]],inputs:{adaptersAvailable:"adaptersAvailable",adaptersSelected:"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,d){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),l(3),s(4,"translate"),o(),a(5,"button",3),s(6,"translate"),x("click",function(){return d.closeAndReset()}),o()(),a(7,"div",4)(8,"div",5),p(9,"i",6),o(),a(10,"ul",7)(11,"li"),l(12),s(13,"translate"),o()(),a(14,"ul",8),L(15,$i,10,5,"li",9,N),o()(),a(17,"div",10)(18,"div",11)(19,"button",12),s(20,"translate"),x("click",function(){return d.closeAndReset()}),l(21),s(22,"translate"),o()(),p(23,"div",13),a(24,"div",14)(25,"button",15),x("click",function(){return d.submit()}),l(26),s(27,"translate"),o()()()()),n&2&&(i(3),g(r(4,7,"settings.network.title_network_interfaces")),i(2),b("aria-label",r(6,9,"form.button_close")),i(7),g(r(13,11,"settings.network.message_network_interface")),i(3),z(d.adaptersAvailable),i(4),b("aria-label",r(20,13,"form.button_close")),i(2),C(" ",r(22,15,"form.button_close")," "),i(4),_("disabled",d.isUnchanged),i(),C(" ",r(27,17,"form.button_save")," "))},dependencies:[ot,nt,at,gt,V],encapsulation:2})}return e})();var Fi=["wallpaperInput"],Pi=e=>({maxFileSizeText:e});function Vi(e,c){if(e&1){let t=w();B(0,"div",10),O(1,"img",20),B(2,"button",21),s(3,"translate"),W("click",function(){y(t);let d=h();return I(d.clearWallpaper())}),O(4,"i",22),T()()}if(e&2){let t=h();i(),K("src",t.wallpaperUrl,kt),i(),b("aria-label",r(3,2,"form.button_delete"))}}function Ai(e,c){e&1&&O(0,"div",11)}var ge=(()=>{class e{$activeModal=S(A);$api=S(D);$settings=S(Y);$toastr=S(M);$translate=S(R);clicked=!1;maxFileSizeText=globalThis.backup.maxBackupSizeText;selectedFile;wallpaperUrl=null;originalWallpaperUrl=null;wallpaperInput;ngOnInit(){this.$settings.env.customWallpaperHash&&(this.wallpaperUrl=`${Gt.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`,this.originalWallpaperUrl=this.wallpaperUrl)}onFileChange(t){if(t.length){this.selectedFile=t[0];let n=new FileReader;n.onload=d=>{this.wallpaperUrl=d.target.result},n.readAsDataURL(this.selectedFile)}else delete this.selectedFile,this.wallpaperUrl=this.originalWallpaperUrl}saveWallpaper(){if(this.clicked=!0,this.selectedFile){let t=new FormData;t.append("wallpaper",this.selectedFile,this.selectedFile.name),this.$api.post("/server/wallpaper",t).subscribe({next:()=>{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"))},error:n=>{console.error(n),this.$toastr.error(n.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}else this.$api.delete("/server/wallpaper").subscribe({next:()=>{this.$activeModal.close()},error:t=>{console.error(t),this.$toastr.error(t.error?.message,this.$translate.instant("toast.title_error")),this.clicked=!1}})}clearWallpaper(){this.selectedFile=null,this.wallpaperUrl=this.wallpaperUrl===this.originalWallpaperUrl?null:this.originalWallpaperUrl,this.wallpaperInput.nativeElement.value=""}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=P({type:e,selectors:[["ng-component"]],viewQuery:function(n,d){if(n&1&&lt(Fi,5),n&2){let f;dt(f=pt())&&(d.wallpaperInput=f.first)}},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,d){if(n&1){let f=w();B(0,"div",1)(1,"div",2)(2,"h5",3),l(3),s(4,"translate"),T(),B(5,"button",4),s(6,"translate"),W("click",function(){return y(f),I(d.dismissModal())}),T()(),B(7,"div",5)(8,"div",6),O(9,"i",7),T(),B(10,"ul",8)(11,"li"),l(12),s(13,"translate"),T(),B(14,"li"),l(15),s(16,"translate"),T(),B(17,"li"),l(18),s(19,"translate"),T()(),B(20,"div",9),m(21,Vi,5,4,"div",10)(22,Ai,1,0,"div",11),T(),B(23,"div",12)(24,"input",13,0),W("change",function(Q){return y(f),I(d.onFileChange(Q.target.files))}),T()()(),B(26,"div",14)(27,"div",15)(28,"button",16),W("click",function(){return y(f),I(d.dismissModal())}),l(29),s(30,"translate"),T()(),O(31,"div",17),B(32,"div",18)(33,"button",19),W("click",function(){return y(f),I(d.saveWallpaper())}),l(34),s(35,"translate"),T()()()()}n&2&&(i(3),g(r(4,11,"settings.display.wallpaper")),i(2),K("disabled",d.clicked),b("aria-label",r(6,13,"form.button_close")),i(7),g(r(13,15,"settings.display.wallpaper_intro")),i(3),g(j(16,17,"settings.display.wallpaper_rule",H(26,Pi,d.maxFileSizeText))),i(3),g(r(19,20,"settings.display.wallpaper_rule2")),i(3),u(d.wallpaperUrl?21:22),i(7),K("disabled",d.clicked),i(),C(" ",r(30,22,"form.button_close")," "),i(4),K("disabled",d.wallpaperUrl===d.originalWallpaperUrl||d.clicked),i(),C(" ",r(35,24,"form.button_save")," "))},dependencies:[st,V],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 Ri=["searchInput"],Mi=()=>({standalone:!0}),Z=(e,c)=>({"fa-chevron-down":e,"fa-chevron-right":c}),X=e=>({"is-invalid":e}),Di=e=>({link:e}),Hi=(e,c)=>({"badge-danger":e,"badge-info":c});function Ni(e,c){if(e&1){let t=w();a(0,"a",11),x("click",function(){y(t);let d=h(2);return I(d.clearSearch())}),p(1,"i",12),o()}}function Li(e,c){if(e&1){let t=w();a(0,"div",6)(1,"div",7)(2,"form",8)(3,"input",9,0),s(5,"translate"),ut("ngModelChange",function(d){y(t);let f=h();return mt(f.searchQuery,d)||(f.searchQuery=d),I(d)}),x("ngModelChange",function(){y(t);let d=h();return I(d.filterSettings())}),o(),m(6,Ni,2,0,"a",10),o()()()}if(e&2){let t=h();i(3),_("placeholder",r(5,4,"form.search")),ct("ngModel",t.searchQuery),_("ngModelOptions",Bt(6,Mi)),i(3),u(t.searchQuery?6:-1)}}function zi(e,c){e&1&&p(0,"app-spinner")}function Oi(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Ui(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),o(),a(4,"div",21),p(5,"input",22),s(6,"translate"),m(7,Oi,1,1,"i",23),o()()),e&2){let t=h(4);i(2),g(r(3,5,"settings.name")),i(3),_("formControl",t.hbNameFormControl)("ngClass",H(9,X,t.hbNameIsInvalid)),b("aria-label",r(6,7,"settings.name")),i(2),u(t.hbNameIsSaving?7:-1)}}function Wi(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),o(),a(4,"button",25),s(5,"translate"),x("click",function(){y(t);let d=h(4);return I(d.openBackupModal())}),p(6,"i",26),o()()}e&2&&(i(2),C(" ",r(3,2,"backup.title_backup")," "),i(2),b("aria-label",r(5,4,"backup.title_backup")))}function Ki(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),o(),a(4,"button",25),s(5,"translate"),x("click",function(){y(t);let d=h(4);return I(d.openConfigBackup())}),p(6,"i",26),o()()}e&2&&(i(2),C(" ",r(3,2,"config.restore.title")," "),i(2),b("aria-label",r(5,4,"config.restore.title")))}function ji(e,c){e&1&&(a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),o(),a(4,"a",27),s(5,"translate"),p(6,"i",26),o()()),e&2&&(i(2),C(" ",r(3,2,"menu.tooltip_user_accounts")," "),i(2),b("aria-label",r(5,4,"menu.tooltip_user_accounts")))}function Gi(e,c){if(e&1&&(a(0,"ul",18),m(1,Ui,8,11,"li",19),m(2,Wi,7,6,"li",20),m(3,Ki,7,6,"li",20),m(4,ji,7,6,"li",20),o()),e&2){let t=h(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 qi(e,c){if(e&1){let t=w();a(0,"div",13)(1,"div",15),x("click",function(){y(t);let d=h(2);return I(d.toggleSection("general"))}),a(2,"h5",16),p(3,"i",17),l(4),s(5,"translate"),o()(),m(6,Gi,5,4,"ul",18),o()}if(e&2){let t=h(2);i(),b("aria-expanded",t.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),i(2),_("ngClass",F(7,Z,t.showFields.general,!t.showFields.general)),i(),C(" ",r(5,5,"settings.general.title_general")," "),i(2),u(t.showFields.general?6:-1)}}function Qi(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Ji(e,c){if(e&1&&(a(0,"li",19),l(1),s(2,"translate"),a(3,"div",21)(4,"select",29)(5,"option",30),l(6),s(7,"translate"),o(),a(8,"option",31),l(9,"Bulgarian (bg)"),o(),a(10,"option",32),l(11,"Catalan (ca)"),o(),a(12,"option",33),l(13,"Chinese - Simplified (zh-CN)"),o(),a(14,"option",34),l(15,"Chinese - Traditional (zh-TW)"),o(),a(16,"option",35),l(17,"Czech (cs)"),o(),a(18,"option",36),l(19,"Dutch (nl)"),o(),a(20,"option",37),l(21,"English (en)"),o(),a(22,"option",38),l(23,"Finnish (fi)"),o(),a(24,"option",39),l(25,"French (fr)"),o(),a(26,"option",40),l(27,"German (de)"),o(),a(28,"option",41),l(29,"Hebrew (he)"),o(),a(30,"option",42),l(31,"Hungarian (hu)"),o(),a(32,"option",43),l(33,"Indonesian (id)"),o(),a(34,"option",44),l(35,"Italian (it)"),o(),a(36,"option",45),l(37,"Japanese (ja)"),o(),a(38,"option",46),l(39,"Korean (ko)"),o(),a(40,"option",47),l(41,"Macedonian (mk)"),o(),a(42,"option",48),l(43,"Norwegian (no)"),o(),a(44,"option",49),l(45,"Polish (pl)"),o(),a(46,"option",50),l(47,"Portuguese (Brazil)"),o(),a(48,"option",51),l(49,"Portuguese (Portugal)"),o(),a(50,"option",52),l(51,"Russian (ru)"),o(),a(52,"option",53),l(53,"Slovenian (sl)"),o(),a(54,"option",54),l(55,"Spanish (es)"),o(),a(56,"option",55),l(57,"Swedish (sv)"),o(),a(58,"option",56),l(59,"Thai (th)"),o(),a(60,"option",57),l(61,"Turkish (tr)"),o(),a(62,"option",58),l(63,"Ukrainian (uk)"),o()(),m(64,Qi,1,1,"i",23),o()()),e&2){let t=h(4);i(),C(" ",r(2,4,"settings.display.lang")," "),i(3),_("formControl",t.uiLangFormControl),i(2),g(r(7,6,"form.select.auto")),i(58),u(t.uiLangIsSaving?64:-1)}}function Xi(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Yi(e,c){if(e&1&&(a(0,"li",19),l(1),s(2,"translate"),a(3,"div",21)(4,"select",29)(5,"option",59),l(6),s(7,"translate"),o(),a(8,"option",60),l(9),s(10,"translate"),o(),a(11,"option",61),l(12),s(13,"translate"),o(),a(14,"option",62),l(15),s(16,"translate"),o(),a(17,"option",63),l(18),s(19,"translate"),o(),a(20,"option",64),l(21),s(22,"translate"),o(),a(23,"option",65),l(24),s(25,"translate"),o(),a(26,"option",66),l(27),s(28,"translate"),o(),a(29,"option",67),l(30),s(31,"translate"),o(),a(32,"option",68),l(33),s(34,"translate"),o(),a(35,"option",69),l(36),s(37,"translate"),o(),a(38,"option",70),l(39),s(40,"translate"),o(),a(41,"option",71),l(42),s(43,"translate"),o()(),m(44,Xi,1,1,"i",23),o()()),e&2){let t=h(4);i(),C(" ",r(2,16,"settings.display.theme")," "),i(3),_("formControl",t.uiThemeFormControl),i(2),g(r(7,18,"settings.display.orange")),i(3),g(r(10,20,"settings.display.red")),i(3),g(r(13,22,"settings.display.pink")),i(3),g(r(16,24,"settings.display.purple")),i(3),g(r(19,26,"settings.display.deep_purple")),i(3),g(r(22,28,"settings.display.indigo")),i(3),g(r(25,30,"settings.display.blue")),i(3),g(r(28,32,"settings.display.bluegrey")),i(3),g(r(31,34,"settings.display.cyan")),i(3),g(r(34,36,"settings.display.green")),i(3),g(r(37,38,"settings.display.teal")),i(3),g(r(40,40,"settings.display.grey")),i(3),g(r(43,42,"settings.display.brown")),i(2),u(t.uiThemeIsSaving?44:-1)}}function Zi(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function tn(e,c){if(e&1&&(a(0,"li",19),l(1),s(2,"translate"),a(3,"div",21)(4,"select",29)(5,"option",30),l(6),s(7,"translate"),o(),a(8,"option",72),l(9),s(10,"translate"),o(),a(11,"option",73),l(12),s(13,"translate"),o()(),m(14,Zi,1,1,"i",23),o()()),e&2){let t=h(4);i(),C(" ",r(2,6,"settings.display.lighting_mode")," "),i(3),_("formControl",t.uiLightFormControl),i(2),g(r(7,8,"form.select.auto")),i(3),g(r(10,10,"settings.display.light")),i(3),g(r(13,12,"settings.display.dark")),i(2),u(t.uiLightIsSaving?14:-1)}}function en(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function nn(e,c){if(e&1&&(a(0,"li",19),l(1),s(2,"translate"),a(3,"div",21)(4,"select",29)(5,"option",74),l(6),s(7,"translate"),o(),a(8,"option",75),l(9),s(10,"translate"),o()(),m(11,en,1,1,"i",23),o()()),e&2){let t=h(4);i(),C(" ",r(2,5,"settings.display.menu_mode")," "),i(3),_("formControl",t.uiMenuFormControl),i(2),g(r(7,7,"settings.display.menu_default")),i(3),g(r(10,9,"settings.display.menu_freeze")),i(2),u(t.uiMenuIsSaving?11:-1)}}function an(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function on(e,c){if(e&1&&(a(0,"li",19),l(1),s(2,"translate"),a(3,"div",21)(4,"select",29)(5,"option",76),l(6),s(7,"translate"),o(),a(8,"option",77),l(9),s(10,"translate"),o()(),m(11,an,1,1,"i",23),o()()),e&2){let t=h(4);i(),C(" ",r(2,5,"settings.display.temp_units")," "),i(3),_("formControl",t.uiTempFormControl),i(2),g(r(7,7,"settings.display.temp_units.c")),i(3),g(r(10,9,"settings.display.temp_units.f")),i(2),u(t.uiTempIsSaving?11:-1)}}function sn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function rn(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),a(4,"span",78),l(5),s(6,"translate"),o()(),a(7,"div",79)(8,"div",80),p(9,"input",81),s(10,"translate"),p(11,"label",82),o(),m(12,sn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C("",r(3,5,"settings.display.show_betas")," "),i(3),g(r(6,7,"common.labels.beta")),i(4),_("formControl",t.uiAlwaysShowBetasFormControl),b("aria-label",r(10,9,"settings.display.show_betas")),i(3),u(t.uiAlwaysShowBetasIsSaving?12:-1)}}function ln(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),o(),a(4,"button",25),s(5,"translate"),x("click",function(){y(t);let d=h(4);return I(d.openWallpaperModal())}),p(6,"i",26),o()()}e&2&&(i(2),g(r(3,2,"settings.display.wallpaper")),i(2),b("aria-label",r(5,4,"settings.display.wallpaper")))}function dn(e,c){if(e&1&&(a(0,"ul",28),m(1,Ji,65,8,"li",19),m(2,Yi,45,44,"li",19),m(3,tn,15,14,"li",19),m(4,nn,12,11,"li",19),m(5,on,12,11,"li",19),m(6,rn,13,11,"li",20),m(7,ln,7,6,"li",20),o()),e&2){let t=h(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 pn(e,c){if(e&1){let t=w();a(0,"div",13)(1,"div",15),x("click",function(){y(t);let d=h(2);return I(d.toggleSection("display"))}),a(2,"h5",16),p(3,"i",17),l(4),s(5,"translate"),o()(),m(6,dn,8,7,"ul",28),o()}if(e&2){let t=h(2);i(),b("aria-expanded",t.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),i(2),_("ngClass",F(7,Z,t.showFields.display,!t.showFields.display)),i(),C(" ",r(5,5,"settings.general.title_display")," "),i(2),u(t.showFields.display?6:-1)}}function cn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function mn(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),a(4,"code"),l(5,"-D"),o(),p(6,"br"),a(7,"small",84),l(8),s(9,"translate"),o()(),a(10,"div",79)(11,"div",80),p(12,"input",85),s(13,"translate"),p(14,"label",86),o(),m(15,cn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,5,"settings.startup.debug")," "),i(6),C(" ",r(9,7,t.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),i(4),_("formControl",t.hbDebugFormControl),b("aria-label",r(13,9,"settings.startup.debug")),i(3),u(t.hbDebugIsSaving?15:-1)}}function un(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function _n(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),a(4,"code"),l(5,"-I"),o(),p(6,"br"),a(7,"small",84),l(8),s(9,"translate"),o()(),a(10,"div",79)(11,"div",80),p(12,"input",87),s(13,"translate"),p(14,"label",88),o(),m(15,un,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,5,"settings.startup.insecure")," "),i(6),g(r(9,7,"settings.startup.insecure_desc")),i(4),_("formControl",t.hbInsecureFormControl),b("aria-label",r(13,9,"settings.startup.insecure")),i(3),u(t.hbInsecureIsSaving?15:-1)}}function hn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function gn(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),a(4,"code"),l(5,"-K"),o(),p(6,"br"),a(7,"small",84),l(8),s(9,"translate"),o()(),a(10,"div",79)(11,"div",80),p(12,"input",89),s(13,"translate"),p(14,"label",90),o(),m(15,hn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,5,"settings.startup.keep_accessories")," "),i(6),g(r(9,7,"settings.startup.keep_accessories_desc")),i(4),_("formControl",t.hbKeepFormControl),b("aria-label",r(13,9,"settings.startup.keep_accessories")),i(3),u(t.hbKeepIsSaving?15:-1)}}function Cn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function bn(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",79)(9,"div",80),p(10,"input",91),s(11,"translate"),p(12,"label",92),o(),m(13,Cn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,5,"settings.startup.metrics")),i(4),g(r(7,7,"settings.startup.metrics_desc")),i(4),_("formControl",t.uiMetricsFormControl),b("aria-label",r(11,9,"settings.startup.metrics")),i(3),u(t.uiMetricsIsSaving?13:-1)}}function vn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function fn(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",93),s(10,"translate"),m(11,vn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,5,"settings.network.hb_package")),i(4),g(r(7,7,"settings.network.hb_package_desc")),i(3),_("formControl",t.hbPackageFormControl),b("aria-label",r(10,9,"settings.network.hb_package")),i(2),u(t.hbPackageIsSaving?11:-1)}}function xn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Sn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function yn(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",95),s(10,"translate"),m(11,Sn,1,1,"i",23),o()()),e&2){let t=h(5);i(2),C(" ",r(3,5,"settings.linux.restart")),i(4),g(r(7,7,"settings.linux.restart_desc")),i(3),_("formControl",t.hbLinuxRestartFormControl),b("aria-label",r(10,9,"settings.linux.restart")),i(2),u(t.hbLinuxRestartIsSaving?11:-1)}}function In(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function wn(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",96),s(10,"translate"),m(11,In,1,1,"i",23),o()()),e&2){let t=h(5);i(2),C(" ",r(3,5,"settings.linux.temp")),i(4),g(r(7,7,"settings.linux.temp_desc")),i(3),_("formControl",t.uiTempFileFormControl),b("aria-label",r(10,9,"settings.linux.temp")),i(2),u(t.uiTempFileIsSaving?11:-1)}}function kn(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",94),s(10,"translate"),m(11,xn,1,1,"i",23),o()(),m(12,yn,12,11,"li",19),m(13,wn,12,11,"li",19)),e&2){let t=h(4);i(2),C(" ",r(3,7,"settings.linux.shutdown")),i(4),g(r(7,9,"settings.linux.shutdown_desc")),i(3),_("formControl",t.hbLinuxShutdownFormControl),b("aria-label",r(10,11,"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 En(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Tn(e,c){if(e&1&&(a(0,"li",19)(1,"span")(2,"span",97),l(3,"DEBUG"),o(),p(4,"br")(5,"small",98),s(6,"translate"),o(),a(7,"div",21),p(8,"input",99),m(9,En,1,1,"i",23),o()()),e&2){let t=h(4);i(5),_("innerHTML",j(6,3,"settings.service.debug_tooltip",H(6,Di,t.linkDebug)),tt),i(3),_("formControl",t.hbEnvDebugFormControl),i(),u(t.hbEnvDebugIsSaving?9:-1)}}function Bn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function $n(e,c){if(e&1&&(a(0,"li",19)(1,"span")(2,"span",97),l(3,"NODE_OPTIONS"),o(),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",100),m(10,Bn,1,1,"i",23),o()()),e&2){let t=h(4);i(6),g(r(7,3,"settings.service.node_tooltip")),i(3),_("formControl",t.hbEnvNodeFormControl),i(),u(t.hbEnvNodeIsSaving?10:-1)}}function Fn(e,c){e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"a",101),s(9,"translate"),p(10,"i",26),o()()),e&2&&(i(2),C(" ",r(3,3,"menu.docker.startup_script")),i(4),g(r(7,5,"platform.docker.script_help")),i(2),b("aria-label",r(9,7,"menu.docker.startup_script")))}function Pn(e,c){if(e&1&&(a(0,"ul",83),m(1,mn,16,11,"li",20),m(2,_n,16,11,"li",20),m(3,gn,16,11,"li",20),m(4,bn,14,11,"li",20),m(5,fn,12,11,"li",19),m(6,kn,14,13),m(7,Tn,10,8,"li",19),m(8,$n,11,5,"li",19),m(9,Fn,11,9,"li",20),o()),e&2){let t=h(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-metrics-startup")?-1:4),i(),u(t.isItemHidden("setting-package-path")?-1:5),i(),u(t.platform==="linux"?6:-1),i(),u(t.isItemHidden("setting-env-debug-manual")?-1:7),i(),u(t.isItemHidden("setting-env-node")?-1:8),i(),u(t.runningInDocker?9:-1)}}function Vn(e,c){if(e&1){let t=w();a(0,"div",13)(1,"div",15),x("click",function(){y(t);let d=h(2);return I(d.toggleSection("startup"))}),a(2,"h5",16),p(3,"i",17),l(4),s(5,"translate"),o()(),m(6,Pn,10,9,"ul",83),o()}if(e&2){let t=h(2);i(),b("aria-expanded",t.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),i(2),_("ngClass",F(7,Z,t.showFields.startup,!t.showFields.startup)),i(),C(" ",r(5,5,"settings.title_startup_options")," "),i(2),u(t.showFields.startup?6:-1)}}function An(e,c){e&1&&p(0,"i",106)}function Rn(e,c){if(e&1&&(a(0,"span",104),m(1,An,1,0,"i",106),l(2),a(3,"span",107),l(4),s(5,"translate"),o()()),e&2){let t=c.$implicit;_("ngClass",F(6,Hi,t.missing,!t.missing)),i(),u(t.missing?1:-1),i(),C(" ",t.iface,": "),i(2),g(t.missing?r(5,4,"settings.mdns_advertiser_not_connected"):t.ip4||t.ip6)}}function Mn(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),p(4,"br"),a(5,"div",103),l(6),s(7,"translate"),o(),L(8,Rn,6,9,"span",104,N),o(),a(10,"button",105),s(11,"translate"),x("click",function(){y(t);let d=h(4);return I(d.selectNetworkInterfaces())}),p(12,"i",26),o()()}if(e&2){let t=h(4);i(2),C(" ",r(3,4,"settings.network.title_network_interfaces")),i(4),g(r(7,6,"settings.network.message_network_interface")),i(2),z(t.adaptersSelected),i(2),_("disabled",!t.adaptersAvailable.length),b("aria-label",r(11,8,"settings.network.title_network_interfaces"))}}function Dn(e,c){e&1&&(a(0,"option",108),l(1),s(2,"translate"),o()),e&2&&(i(),C("Avahi (",r(2,1,"settings.mdns_advertiser_rec"),")"))}function Hn(e,c){e&1&&(a(0,"option",111),l(1),s(2,"translate"),o()),e&2&&(i(),C("systemd-resolved (",r(2,1,"settings.mdns_advertiser_exp"),")"))}function Nn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Ln(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21)(9,"select",29),s(10,"translate"),m(11,Dn,3,3,"option",108),a(12,"option",109),l(13),s(14,"translate"),o(),a(15,"option",110),l(16,"Bonjour HAP"),o(),m(17,Hn,3,3,"option",111),o(),m(18,Nn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,8,"settings.mdns_advertiser")),i(4),g(r(7,10,"settings.mdns_advertiser_help")),i(3),_("formControl",t.hbMDnsFormControl),b("aria-label",r(10,12,"settings.mdns_advertiser")),i(2),u(t.showAvahiMdnsOption?11:-1),i(2),C(" Ciao ",t.showAvahiMdnsOption?"":"("+r(14,14,"settings.mdns_advertiser_rec")+")"," "),i(4),u(t.showResolvedMdnsOption?17:-1),i(),u(t.hbMDnsIsSaving?18:-1)}}function zn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function On(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",112),s(10,"translate"),m(11,zn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,6,"settings.network.port_hb")),i(4),g(r(7,8,"settings.network.port_hb_desc")),i(3),_("formControl",t.hbPortFormControl)("ngClass",H(12,X,t.hbPortIsInvalid)),b("aria-label",r(10,10,"settings.network.port_hb")),i(2),u(t.hbPortIsSaving?11:-1)}}function Un(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Wn(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",112),s(10,"translate"),m(11,Un,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,6,"settings.network.port_start")),i(4),g(r(7,8,"settings.network.port_start_desc")),i(3),_("formControl",t.hbStartPortFormControl)("ngClass",H(12,X,t.hbStartPortIsInvalid)),b("aria-label",r(10,10,"settings.network.port_start")),i(2),u(t.hbStartPortIsSaving?11:-1)}}function Kn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function jn(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",112),s(10,"translate"),m(11,Kn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,6,"settings.network.port_end")),i(4),g(r(7,8,"settings.network.port_end_desc")),i(3),_("formControl",t.hbEndPortFormControl)("ngClass",H(12,X,t.hbEndPortIsInvalid)),b("aria-label",r(10,10,"settings.network.port_end")),i(2),u(t.hbEndPortIsSaving?11:-1)}}function Gn(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115),l(3),s(4,"translate"),o()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function qn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Qn(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br")(5,"small",113),s(6,"translate"),m(7,Gn,5,3),o(),a(8,"div",21),p(9,"input",114),s(10,"translate"),m(11,qn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,6,"settings.network.host")),i(3),_("innerHtml",r(6,8,"settings.network.host_desc"),tt),i(2),u(t.isPwa?7:-1),i(2),_("formControl",t.uiHostFormControl),b("aria-label",r(10,10,"settings.network.host")),i(2),u(t.uiHostIsSaving?11:-1)}}function Jn(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115),l(3),s(4,"translate"),o()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function Xn(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Yn(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o(),m(8,Jn,5,3),o(),a(9,"div",21),p(10,"input",116),s(11,"translate"),m(12,Xn,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,6,"settings.network.proxy")),i(4),g(r(7,8,"settings.network.proxy_desc")),i(2),u(t.isPwa?8:-1),i(2),_("formControl",t.uiProxyHostFormControl),b("aria-label",r(11,10,"settings.network.proxy")),i(2),u(t.uiProxyHostIsSaving?12:-1)}}function Zn(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115),l(3),s(4,"translate"),o()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function ta(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function ea(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o(),m(8,Zn,5,3),o(),a(9,"div",21),p(10,"input",117),s(11,"translate"),m(12,ta,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,7,"settings.network.port_ui")),i(4),g(r(7,9,"settings.network.port_ui_desc")),i(2),u(t.isPwa?8:-1),i(2),_("formControl",t.uiPortFormControl)("ngClass",H(13,X,t.uiPortIsInvalid)),b("aria-label",r(11,11,"settings.network.port_ui")),i(2),u(t.uiPortIsSaving?12:-1)}}function ia(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115)(3,"span",119),s(4,"translate"),o()),e&2&&(i(3),_("innerHtml",r(4,1,"settings.warning_webroot"),tt))}function na(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115)(3,"span",119),s(4,"translate"),o()),e&2&&(i(3),_("innerHtml",r(4,1,"settings.warning_pwa"),tt))}function aa(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function oa(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),a(4,"span",78),l(5),s(6,"translate"),o(),p(7,"br")(8,"small",113),s(9,"translate"),m(10,ia,5,3)(11,na,5,3),o(),a(12,"div",21),p(13,"input",118),s(14,"translate"),m(15,aa,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,7,"settings.network.webroot")," "),i(3),g(r(6,9,"common.labels.beta")),i(3),_("innerHtml",r(9,11,"settings.network.webroot_desc"),tt),i(2),u(t.webrootSettingDisabledAccess?10:t.isPwa?11:-1),i(3),_("formControl",t.uiWebrootFormControl),b("aria-label",r(14,13,"settings.network.webroot")),i(2),u(t.uiWebrootIsSaving?15:-1)}}function sa(e,c){if(e&1&&(a(0,"ul",102),m(1,Mn,13,10,"li",20),m(2,Ln,19,16,"li",19),m(3,On,12,14,"li",19),m(4,Wn,12,14,"li",19),m(5,jn,12,14,"li",19),m(6,Qn,12,12,"li",19),m(7,Yn,13,12,"li",19),m(8,ea,13,15,"li",19),m(9,oa,16,15,"li",19),o()),e&2){let t=h(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)}}function ra(e,c){if(e&1){let t=w();a(0,"div",13)(1,"div",15),x("click",function(){y(t);let d=h(2);return I(d.toggleSection("network"))}),a(2,"h5",16),p(3,"i",17),l(4),s(5,"translate"),o()(),m(6,sa,10,9,"ul",102),o()}if(e&2){let t=h(2);i(),b("aria-expanded",t.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),i(2),_("ngClass",F(7,Z,t.showFields.network,!t.showFields.network)),i(),C(" ",r(5,5,"settings.network.title_network")," "),i(2),u(t.showFields.network?6:-1)}}function la(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function da(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",121),s(10,"translate"),m(11,la,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,6,"settings.terminal.log_max")),i(4),g(r(7,8,"settings.terminal.log_max_desc")),i(3),_("formControl",t.hbLogSizeFormControl)("ngClass",H(12,X,t.hbLogSizeIsInvalid)),b("aria-label",r(10,10,"settings.terminal.log_max")),i(2),u(t.hbLogSizeIsSaving?11:-1)}}function pa(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function ca(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",122),s(10,"translate"),m(11,pa,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,6,"settings.terminal.log_truncate")),i(4),g(r(7,8,"settings.terminal.log_truncate_desc")),i(3),_("formControl",t.hbLogTruncateFormControl)("ngClass",H(12,X,t.hbLogTruncateIsInvalid)),b("aria-label",r(10,10,"settings.terminal.log_truncate")),i(2),u(t.hbLogTruncateIsSaving?11:-1)}}function ma(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function ua(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),a(4,"span",78),l(5),s(6,"translate"),o(),p(7,"br"),a(8,"small",84),l(9),s(10,"translate"),o()(),a(11,"div",79)(12,"div",80),p(13,"input",123),s(14,"translate"),p(15,"label",124),o(),m(16,ma,1,1,"i",23),o()()),e&2){let t=h(5);i(2),C(" ",r(3,6,"settings.terminal.persistence")," "),i(3),g(r(6,8,"common.labels.beta")),i(4),g(r(10,10,"settings.terminal.persistence_help")),i(4),_("formControl",t.uiTerminalPersistenceFormControl),b("aria-label",r(14,12,"settings.terminal.persistence")),i(3),u(t.uiTerminalPersistenceIsSaving?16:-1)}}function _a(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function ha(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),a(4,"span",78),l(5),s(6,"translate"),o(),p(7,"br"),a(8,"small",84),l(9),s(10,"translate"),o()(),a(11,"div",79)(12,"div",80),p(13,"input",125),s(14,"translate"),p(15,"label",126),o(),m(16,_a,1,1,"i",23),o()()),e&2){let t=h(5);i(2),C(" ",r(3,6,"settings.terminal.warning")," "),i(3),g(r(6,8,"common.labels.beta")),i(4),g(r(10,10,"settings.terminal.warning_help")),i(4),_("formControl",t.uiTerminalHideWarningFormControl),b("aria-label",r(14,12,"settings.terminal.warning")),i(3),u(t.uiTerminalHideWarningIsSaving?16:-1)}}function ga(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Ca(e,c){if(e&1&&(a(0,"li",19)(1,"div",127)(2,"span"),l(3),s(4,"translate"),a(5,"span",78),l(6),s(7,"translate"),o()(),a(8,"div",128),l(9),s(10,"translate"),o()(),a(11,"div",21),p(12,"input",129),s(13,"translate"),m(14,ga,1,1,"i",23),o()()),e&2){let t=h(6);i(3),C(" ",r(4,7,"settings.terminal.buffer_size")," "),i(3),g(r(7,9,"common.labels.beta")),i(3),g(r(10,11,"settings.terminal.buffer_size_help")),i(3),_("formControl",t.uiTerminalBufferSizeFormControl)("ngClass",H(15,X,t.uiTerminalBufferSizeIsInvalid)),b("aria-label",r(13,13,"settings.terminal.buffer_size")),i(2),u(t.uiTerminalBufferSizeIsSaving?14:-1)}}function ba(e,c){if(e&1&&m(0,Ca,15,17,"li",19),e&2){let t=h(5);u(t.isItemHidden("setting-terminal-buffer")?-1:0)}}function va(e,c){if(e&1&&(m(0,ua,17,14,"li",20),m(1,ha,17,14,"li",20),m(2,ba,1,1)),e&2){let t=h(4);u(t.isItemHidden("setting-terminal-persistence")?-1:0),i(),u(t.uiTerminalPersistenceFormControl.value?-1:1),i(),u(t.uiTerminalPersistenceFormControl.value?2:-1)}}function fa(e,c){if(e&1&&(a(0,"ul",120),m(1,da,12,14,"li",19),m(2,ca,12,14,"li",19),m(3,va,3,3),o()),e&2){let t=h(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 xa(e,c){if(e&1){let t=w();a(0,"div",13)(1,"div",15),x("click",function(){y(t);let d=h(2);return I(d.toggleSection("terminal"))}),a(2,"h5",16),p(3,"i",17),l(4),s(5,"translate"),o()(),m(6,fa,4,3,"ul",120),o()}if(e&2){let t=h(2);i(),b("aria-expanded",t.showFields.terminal?"true":"false")("aria-controls","fieldsTerminal"),i(2),_("ngClass",F(7,Z,t.showFields.terminal,!t.showFields.terminal)),i(),C(" ",r(5,5,"settings.network.title_terminal")," "),i(2),u(t.showFields.terminal?6:-1)}}function Sa(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function ya(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",79)(9,"div",80),p(10,"input",131),s(11,"translate"),p(12,"label",132),o(),m(13,Sa,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,5,"settings.security.auth")),i(4),C(" ",r(7,7,"settings.security.auth_desc")," "),i(4),_("formControl",t.uiAuthFormControl),b("aria-label",r(11,9,"settings.security.auth")),i(3),u(t.uiAuthIsSaving?13:-1)}}function Ia(e,c){e&1&&p(0,"i",135),e&2&&_("@fadeInOut",void 0)}function wa(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),a(4,"span",78),l(5),s(6,"translate"),o(),p(7,"br"),a(8,"small",84),l(9),s(10,"translate"),o()(),a(11,"div",79)(12,"div",80),p(13,"input",133),s(14,"translate"),p(15,"label",134),o(),m(16,Ia,1,1,"i",135),o()()),e&2){let t=h(5);i(2),C(" ",r(3,6,"settings.startup.session_inactivity_based")," "),i(3),g(r(6,8,"common.labels.beta")),i(4),g(r(10,10,"settings.startup.session_inactivity_based_desc")),i(4),_("formControl",t.uiSessionTimeoutInactivityBasedFormControl),b("aria-label",r(14,12,"settings.startup.session_inactivity_based")),i(3),u(t.uiSessionTimeoutInactivityBasedIsSaving?16:-1)}}function ka(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Ea(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",21),p(9,"input",136),s(10,"translate"),m(11,ka,1,1,"i",23),o()()),e&2){let t=h(5);i(2),C(" ",r(3,6,"settings.startup.session")),i(4),g(r(7,8,"settings.startup.session_desc")),i(3),_("formControl",t.uiSessionTimeoutFormControl)("ngClass",H(12,X,t.uiSessionTimeoutIsInvalid)),b("aria-label",r(10,10,"settings.startup.session")),i(2),u(t.uiSessionTimeoutIsSaving?11:-1)}}function Ta(e,c){if(e&1&&(m(0,wa,17,14,"li",20),m(1,Ea,12,14,"li",19)),e&2){let t=h(4);u(t.isItemHidden("setting-session-inactivity-nested")?-1:0),i(),u(t.isItemHidden("setting-security-session")?-1:1)}}function Ba(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115),l(3),s(4,"translate"),o()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function $a(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o(),m(8,Ba,5,3),o(),a(9,"div",21)(10,"select",29),s(11,"translate"),a(12,"option",137),l(13),s(14,"translate"),o(),a(15,"option",138),l(16),s(17,"translate"),o(),a(18,"option",139),l(19),s(20,"translate"),o()()()()),e&2){let t=h(4);i(2),C(" ",r(3,8,"settings.security.https")),i(4),g(r(7,10,"settings.security.https_desc")),i(2),u(t.isPwa?8:-1),i(2),_("formControl",t.uiSslTypeFormControl),b("aria-label",r(11,12,"settings.security.https")),i(3),g(r(14,14,"accessories.control.off")),i(3),g(r(17,16,"settings.security.https_keycert")),i(3),g(r(20,18,"settings.security.https_pfx"))}}function Fa(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115),l(3),s(4,"translate"),o()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function Pa(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Va(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115),l(3),s(4,"translate"),o()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function Aa(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Ra(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),o(),m(4,Va,5,3),a(5,"div",21),p(6,"input",141),s(7,"translate"),m(8,Aa,1,1,"i",23),o()()),e&2){let t=h(5);i(2),g(r(3,5,"settings.security.cert")),i(2),u(t.isPwa?4:-1),i(2),_("formControl",t.uiSslCertFormControl),b("aria-label",r(7,7,"settings.security.cert")),i(2),u(t.uiSslCertIsSaving?8:-1)}}function Ma(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),o(),m(4,Fa,5,3),a(5,"div",21),p(6,"input",140),s(7,"translate"),m(8,Pa,1,1,"i",23),o()(),m(9,Ra,9,9,"li",19)),e&2){let t=h(4);i(2),g(r(3,6,"settings.security.key")),i(2),u(t.isPwa?4:-1),i(2),_("formControl",t.uiSslKeyFormControl),b("aria-label",r(7,8,"settings.security.key")),i(2),u(t.uiSslKeyIsSaving?8:-1),i(),u(t.isItemHidden("setting-security-cert")?-1:9)}}function Da(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115),l(3),s(4,"translate"),o()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function Ha(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function Na(e,c){e&1&&(p(0,"br"),a(1,"small",84),p(2,"i",115),l(3),s(4,"translate"),o()),e&2&&(i(3),C(" ",r(4,1,"settings.warning_pwa")," "))}function La(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function za(e,c){if(e&1){let t=w();a(0,"li",19)(1,"span"),l(2),s(3,"translate"),o(),m(4,Na,5,3),a(5,"div",21)(6,"input",143),s(7,"translate"),x("focus",function(){y(t);let d=h(5);return I(d.showPfxPassphrase=!0)})("blur",function(){y(t);let d=h(5);return I(d.showPfxPassphrase=!1)}),o(),m(8,La,1,1,"i",23),o()()}if(e&2){let t=h(5);i(2),g(r(3,6,"settings.security.pass")),i(2),u(t.isPwa?4:-1),i(2),_("type",t.showPfxPassphrase?"text":"password")("formControl",t.uiSslPassphraseFormControl),b("aria-label",r(7,8,"settings.security.pass")),i(2),u(t.uiSslPassphraseIsSaving?8:-1)}}function Oa(e,c){if(e&1&&(a(0,"li",19)(1,"span"),l(2),s(3,"translate"),o(),m(4,Da,5,3),a(5,"div",21),p(6,"input",142),s(7,"translate"),m(8,Ha,1,1,"i",23),o()(),m(9,za,9,10,"li",19)),e&2){let t=h(4);i(2),g(r(3,6,"settings.security.pfx")),i(2),u(t.isPwa?4:-1),i(2),_("formControl",t.uiSslPfxFormControl),b("aria-label",r(7,8,"settings.security.pfx")),i(2),u(t.uiSslPfxIsSaving?8:-1),i(),u(t.isItemHidden("setting-security-pass")?-1:9)}}function Ua(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"button",25),s(9,"translate"),x("click",function(){y(t);let d=h(4);return I(d.accessoryUiControl())}),p(10,"i",26),o()()}e&2&&(i(2),C(" ",r(3,3,"settings.security.ui_control")),i(4),g(r(7,5,"settings.security.ui_control_desc")),i(2),b("aria-label",r(9,7,"settings.security.ui_control")))}function Wa(e,c){if(e&1&&(a(0,"ul",130),m(1,ya,14,11,"li",20),m(2,Ta,2,2),m(3,$a,21,20,"li",19),m(4,Ma,10,10),m(5,Oa,10,10),m(6,Ua,11,9,"li",20),o()),e&2){let t=h(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==="keycert"?4:-1),i(),u(t.uiSslTypeFormControl.value==="pfx"?5:-1),i(),u(t.isItemHidden("setting-security-control")?-1:6)}}function Ka(e,c){if(e&1){let t=w();a(0,"div",13)(1,"div",15),x("click",function(){y(t);let d=h(2);return I(d.toggleSection("security"))}),a(2,"h5",16),p(3,"i",17),l(4),s(5,"translate"),o()(),m(6,Wa,7,6,"ul",130),o()}if(e&2){let t=h(2);i(),b("aria-expanded",t.showFields.security?"true":"false")("aria-controls","fieldsSecurity"),i(2),_("ngClass",F(7,Z,t.showFields.security,!t.showFields.security)),i(),C(" ",r(5,5,"settings.network.title_security")," "),i(2),u(t.showFields.security?6:-1)}}function ja(e,c){e&1&&(a(0,"p",144),l(1),s(2,"translate"),o()),e&2&&(i(),g(r(2,1,"settings.cache.desc")))}function Ga(e,c){e&1&&p(0,"i",23),e&2&&_("@fadeInOut",void 0)}function qa(e,c){if(e&1&&(a(0,"li",20)(1,"span"),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"div",79)(9,"div",80),p(10,"input",146),s(11,"translate"),p(12,"label",147),o(),m(13,Ga,1,1,"i",23),o()()),e&2){let t=h(4);i(2),C(" ",r(3,5,"settings.accessory.debug")),i(4),g(r(7,7,"settings.accessory.debug_desc")),i(4),_("formControl",t.uiAccDebugFormControl),b("aria-label",r(11,9,"settings.accessory.debug")),i(3),u(t.uiAccDebugIsSaving?13:-1)}}function Qa(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"button",25),s(9,"translate"),x("click",function(){y(t);let d=h(4);return I(d.removeSingleCachedAccessories())}),p(10,"i",26),o()()}e&2&&(i(2),C(" ",r(3,3,"reset.accessory_ind.title")),i(4),g(r(7,5,"reset.accessory_ind.desc")),i(2),b("aria-label",r(9,7,"reset.accessory_ind.title")))}function Ja(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"button",25),s(9,"translate"),x("click",function(){y(t);let d=h(4);return I(d.removeBridgeAccessories())}),p(10,"i",26),o()()}e&2&&(i(2),C(" ",r(3,3,"reset.bridge_accessories.title")),i(4),g(r(7,5,"reset.bridge_accessories.desc")),i(2),b("aria-label",r(9,7,"reset.accessory_all.title")))}function Xa(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"button",25),s(9,"translate"),x("click",function(){y(t);let d=h(4);return I(d.removeAllCachedAccessories())}),p(10,"i",26),o()()}e&2&&(i(2),C(" ",r(3,3,"reset.accessory_all.title")),i(4),g(r(7,5,"reset.accessory_all.desc")),i(2),b("aria-label",r(9,7,"reset.accessory_all.title")))}function Ya(e,c){if(e&1&&(a(0,"ul",145),m(1,qa,14,11,"li",20),m(2,Qa,11,9,"li",20),m(3,Ja,11,9,"li",20),m(4,Xa,11,9,"li",20),o()),e&2){let t=h(3);i(),u(t.isItemHidden("setting-accessory-debug")?-1:1),i(),u(t.isItemHidden("setting-reset-accessory-ind")?-1:2),i(),u(t.isItemHidden("setting-reset-bridge-accessories")?-1:3),i(),u(t.isItemHidden("setting-reset-accessory-all")?-1:4)}}function Za(e,c){if(e&1){let t=w();a(0,"div",13)(1,"div",15),x("click",function(){y(t);let d=h(2);return I(d.toggleSection("cache"))}),a(2,"h5",16),p(3,"i",17),l(4),s(5,"translate"),o()(),m(6,ja,3,3,"p",144),m(7,Ya,5,4,"ul",145),o()}if(e&2){let t=h(2);i(),b("aria-expanded",t.showFields.cache?"true":"false")("aria-controls","fieldsCache"),i(2),_("ngClass",F(8,Z,t.showFields.cache,!t.showFields.cache)),i(),C(" ",r(5,6,"menu.label_accessories")," "),i(2),u(t.showFields.cache?6:-1),i(),u(t.showFields.cache?7:-1)}}function to(e,c){e&1&&(a(0,"p",144),l(1),s(2,"translate"),o()),e&2&&(i(),g(r(2,1,"reset.bridges.desc")))}function eo(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),p(4,"br"),a(5,"small",84),l(6),s(7,"translate"),o()(),a(8,"button",25),s(9,"translate"),x("click",function(){y(t);let d=h(4);return I(d.unpairAccessory())}),p(10,"i",26),o()()}e&2&&(i(2),C(" ",r(3,3,"reset.bridge_ind.title")),i(4),g(r(7,5,"reset.bridge_ind.desc")),i(2),b("aria-label",r(9,7,"reset.bridge_ind.title")))}function io(e,c){if(e&1){let t=w();a(0,"li",20)(1,"span",24),l(2),s(3,"translate"),s(4,"titlecase"),p(5,"br"),a(6,"small",84),l(7),s(8,"translate"),o()(),a(9,"button",25),s(10,"translate"),x("click",function(){y(t);let d=h(4);return I(d.resetHomebridgeState())}),p(11,"i",26),o()()}e&2&&(i(2),C(" ",r(4,5,r(3,3,"reset.bridge_all.title"))),i(5),g(r(8,7,"reset.bridge_all.desc")),i(2),b("aria-label",r(10,9,"reset.bridge_all.title")))}function no(e,c){if(e&1&&(a(0,"ul",148),m(1,eo,11,9,"li",20),m(2,io,12,11,"li",20),o()),e&2){let t=h(3);i(),u(t.isItemHidden("setting-reset-bridge-ind")?-1:1),i(),u(t.isItemHidden("setting-reset-bridge-all")?-1:2)}}function ao(e,c){if(e&1){let t=w();a(0,"div",13)(1,"div",15),x("click",function(){y(t);let d=h(2);return I(d.toggleSection("reset"))}),a(2,"h5",16),p(3,"i",17),l(4),s(5,"translate"),o()(),m(6,to,3,3,"p",144),m(7,no,3,2,"ul",148),o()}if(e&2){let t=h(2);i(),b("aria-expanded",t.showFields.reset?"true":"false")("aria-controls","fieldsReset"),i(2),_("ngClass",F(8,Z,t.showFields.reset,!t.showFields.reset)),i(),C(" ",r(5,6,"reset.bridges.title")," "),i(2),u(t.showFields.reset?6:-1),i(),u(t.showFields.reset?7:-1)}}function oo(e,c){if(e&1&&(m(0,qi,7,10,"div",13),m(1,pn,7,10,"div",13),m(2,Vn,7,10,"div",13),m(3,ra,7,10,"div",13),m(4,xa,7,10,"div",13),m(5,Ka,7,10,"div",13),m(6,Za,8,11,"div",13),m(7,ao,8,11,"div",13),p(8,"div",14)),e&2){let t=h();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.isSectionVisible("terminal")?4:-1),i(),u(t.isSectionVisible("security")?5:-1),i(),u(t.isSectionVisible("cache")?6:-1),i(),u(t.isSectionVisible("reset")?7:-1)}}var Er=(()=>{class e{searchInput;$api=S(D);$cdr=S($t);$modal=S(rt);$notification=S(Xt);$router=S(U);$settings=S(Y);$terminal=S(Zt);$toastr=S(M);$translate=S(R);restartToastIsShown=!1;showSearchBar=!1;searchQuery="";showFields={general:!0,display:!0,startup:!0,network:!0,security:!0,terminal:!0,reset:!0,cache:!0};hiddenItems={};originalWebroot=this.$settings.originalWebroot;loading=!0;isHbV2=!1;showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;adaptersAvailable=[];adaptersSelected=[];showPfxPassphrase=!1;runningInDocker=this.$settings.env.runningInDocker;runningOnRaspberryPi=this.$settings.env.runningOnRaspberryPi;platform=this.$settings.env.platform;enableTerminalAccess=this.$settings.env.enableTerminalAccess;isPwa=!!Jt();webrootSettingDisabledAccess=!1;hbNameIsInvalid=!1;hbNameIsSaving=!1;hbNameFormControl=new E("");uiLangIsSaving=!1;uiLangFormControl=new E("");uiThemeIsSaving=!1;uiThemeFormControl=new E("");uiLightIsSaving=!1;uiLightFormControl=new E("");uiMenuIsSaving=!1;uiMenuFormControl=new E("");uiTempIsSaving=!1;uiTempFormControl=new E("");uiAlwaysShowBetasIsSaving=!1;uiAlwaysShowBetasFormControl=new E(!1);uiTerminalPersistenceIsSaving=!1;uiTerminalPersistenceFormControl=new E(!1);uiTerminalHideWarningIsSaving=!1;uiTerminalHideWarningFormControl=new E(!1);uiTerminalBufferSizeIsSaving=!1;uiTerminalBufferSizeIsInvalid=!1;uiTerminalBufferSizeFormControl=new E(globalThis.terminal.bufferSize);hbDebugIsSaving=!1;hbDebugFormControl=new E(!1);hbInsecureIsSaving=!1;hbInsecureFormControl=new E(!1);hbKeepIsSaving=!1;hbKeepFormControl=new E(!1);hbEnvDebugIsSaving=!1;hbEnvDebugFormControl=new E("");hbEnvNodeIsSaving=!1;hbEnvNodeFormControl=new E("");hbLogSizeIsInvalid=!1;hbLogSizeIsSaving=!1;hbLogSizeFormControl=new E(-1);hbLogTruncateIsInvalid=!1;hbLogTruncateIsSaving=!1;hbLogTruncateFormControl=new E(0);hbMDnsIsSaving=!1;hbMDnsFormControl=new E("");hbPortIsInvalid=!1;hbPortIsSaving=!1;hbPortFormControl=new E(0);uiPortIsInvalid=!1;uiPortIsSaving=!1;uiPortFormControl=new E(0);hbStartPortIsInvalid=!1;hbStartPortIsSaving=!1;hbStartPortFormControl=new E(0);hbEndPortIsInvalid=!1;hbEndPortIsSaving=!1;hbEndPortFormControl=new E(0);uiHostIsSaving=!1;uiHostFormControl=new E("");uiWebrootIsSaving=!1;uiWebrootFormControl=new E("");uiProxyHostIsSaving=!1;uiProxyHostFormControl=new E("");uiAuthIsSaving=!1;uiAuthFormControl=new Dt(!0);uiSessionTimeoutIsInvalid=!1;uiSessionTimeoutIsSaving=!1;uiSessionTimeoutFormControl=new E(0);uiSessionTimeoutInactivityBasedIsSaving=!1;uiSessionTimeoutInactivityBasedFormControl=new E(!1);uiSslTypeFormControl=new E("off");uiSslKeyIsSaving=!1;uiSslKeyFormControl=new E("");uiSslCertIsSaving=!1;uiSslCertFormControl=new E("");uiSslPfxIsSaving=!1;uiSslPfxFormControl=new E("");uiSslPassphraseIsSaving=!1;uiSslPassphraseFormControl=new E("");hbPackageIsSaving=!1;hbPackageFormControl=new E("");uiMetricsIsSaving=!1;uiMetricsFormControl=new E(!0);uiAccDebugIsSaving=!1;uiAccDebugFormControl=new E(!1);uiTempFileIsSaving=!1;uiTempFileFormControl=new E("");hbLinuxShutdownIsSaving=!1;hbLinuxShutdownFormControl=new E("");hbLinuxRestartIsSaving=!1;hbLinuxRestartFormControl=new E("");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>';toggleSearch(){this.showSearchBar=!this.showSearchBar,this.showSearchBar?setTimeout(()=>{this.searchInput&&this.searchInput.nativeElement&&this.searchInput.nativeElement.focus()},100):this.clearSearch()}clearSearch(){this.searchQuery="",this.filterSettings()}filterSettings(){if(this.hiddenItems={},!this.searchQuery)return;let t=this.searchQuery.toLowerCase(),n=this.getItemsContent();Object.entries(n).forEach(([d,f])=>{f&&f.toLowerCase().includes(t)||(this.hiddenItems[d]=!0)}),this.$cdr.detectChanges()}isItemHidden(t){let n=!!this.hiddenItems[t];return this.searchQuery,n}isSectionVisible(t){if(!this.searchQuery)return!0;let d={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-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"],terminal:["setting-terminal-log-max","setting-terminal-persistence","setting-terminal-buffer"],security:["setting-security-auth","setting-session-inactivity-nested","setting-security-session","setting-security-https","setting-security-cert","setting-security-pass","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 d?d.some(f=>!this.isItemHidden(f)):!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-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-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-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.security.session_timeout_inactivity_based"),"setting-session-inactivity-nested":this.$translate.instant("settings.startup.session_inactivity_based"),"setting-webroot":this.$translate.instant("settings.security.webui_webroot"),"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 v(this,null,function*(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),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.hbNameFormControl.patchValue(this.$settings.env.homebridgeInstanceName),this.hbNameFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.hbNameSave(t)),this.uiLangFormControl.patchValue(this.$settings.env.lang),this.uiLangFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiLangSave(t)),this.uiThemeFormControl.patchValue(this.$settings.theme),this.uiThemeFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiThemeSave(t)),this.uiLightFormControl.patchValue(this.$settings.lightingMode),this.uiLightFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiLightSave(t)),this.uiMenuFormControl.patchValue(this.$settings.menuMode),this.uiMenuFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiMenuSave(t)),this.uiTempFormControl.patchValue(this.$settings.env.temperatureUnits),this.uiTempFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiTempSave(t)),this.uiAlwaysShowBetasFormControl.patchValue(this.$settings.env.plugins?.alwaysShowBetas||!1),this.uiAlwaysShowBetasFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiAlwaysShowBetasSave(t)),this.uiTerminalPersistenceFormControl.patchValue(this.$settings.env.terminal?.persistence),this.uiTerminalPersistenceFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiTerminalPersistenceSave(t)),this.uiTerminalHideWarningFormControl.patchValue(this.$settings.env.terminal?.hideWarning),this.uiTerminalHideWarningFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiTerminalHideWarningSave(t)),this.uiTerminalBufferSizeFormControl.patchValue(this.$settings.env.terminal?.bufferSize),this.uiTerminalBufferSizeFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiTerminalBufferSizeSave(t)),this.hbLogSizeFormControl.patchValue(this.$settings.env.log?.maxSize),this.hbLogSizeFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.hbLogSizeSave(t)),this.hbLogTruncateFormControl.patchValue(this.$settings.env.log?.truncateSize),this.hbLogTruncateFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.hbLogTruncateSave(t)),this.uiPortFormControl.patchValue(this.$settings.env.port),this.uiPortFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiPortSave(t)),this.uiAuthFormControl.patchValue(this.$settings.formAuth),this.uiAuthFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiAuthSave(t)),this.uiSessionTimeoutFormControl.patchValue(this.$settings.sessionTimeout),this.uiSessionTimeoutFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiSessionTimeoutSave(t)),this.uiSessionTimeoutInactivityBasedFormControl.patchValue(this.$settings.sessionTimeoutInactivityBased||!1),this.uiSessionTimeoutInactivityBasedFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiSessionTimeoutInactivityBasedSave(t)),this.uiSslKeyFormControl.patchValue(this.$settings.env.ssl?.key||""),this.uiSslKeyFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiSslKeySave(t)),this.uiSslCertFormControl.patchValue(this.$settings.env.ssl?.cert||""),this.uiSslCertFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiSslCertSave(t)),this.uiSslPfxFormControl.patchValue(this.$settings.env.ssl?.pfx||""),this.uiSslPfxFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiSslPfxSave(t)),this.uiSslPassphraseFormControl.patchValue(this.$settings.env.ssl?.passphrase||""),this.uiSslPassphraseFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiSslPassphraseSave(t)),this.uiSslTypeFormControl.patchValue(this.uiSslKeyFormControl.value||this.uiSslCertFormControl.value?"keycert":this.uiSslPfxFormControl.value||this.uiSslPassphraseFormControl.value?"pfx":"off"),this.uiSslTypeFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiSslTypeSave(t)),this.uiHostFormControl.patchValue(this.$settings.host||""),this.uiHostFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiHostSave(t)),this.uiWebrootFormControl.patchValue(this.$settings.webroot||""),this.uiWebrootFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiWebrootSave(t)),this.uiProxyHostFormControl.patchValue(this.$settings.proxyHost||""),this.uiProxyHostFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiProxyHostSave(t)),this.hbPackageFormControl.patchValue(this.$settings.env.homebridgePackagePath||""),this.hbPackageFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.hbPackageSave(t)),this.uiMetricsFormControl.patchValue(!this.$settings.env.disableServerMetricsMonitoring),this.uiMetricsFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiMetricsSave(t)),this.uiAccDebugFormControl.patchValue(this.$settings.env.accessoryControl?.debug),this.uiAccDebugFormControl.valueChanges.pipe(k(750)).subscribe(t=>this.uiAccDebugSave(t)),this.uiTempFileFormControl.patchValue(this.$settings.env.temp),this.uiTempFileFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.uiTempFileSave(t)),this.hbLinuxShutdownFormControl.patchValue(this.$settings.env.linux?.shutdown),this.hbLinuxShutdownFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.hbLinuxShutdownSave(t)),this.hbLinuxRestartFormControl.patchValue(this.$settings.env.linux?.restart),this.hbLinuxRestartFormControl.valueChanges.pipe(k(1500)).subscribe(t=>this.hbLinuxRestartSave(t)),this.loading=!1})}openBackupModal(){this.$modal.open(ft,{size:"lg",backdrop:"static"})}openConfigBackup(){this.$router.navigate(["/config"],{queryParams:{action:"restore"}})}openWallpaperModal(){this.$modal.open(ge,{size:"lg",backdrop:"static"})}resetHomebridgeState(){this.$modal.open(me,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(_e,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(pe,{size:"lg",backdrop:"static"})}accessoryUiControl(){return v(this,null,function*(){try{let t=this.$modal.open(ne,{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(te,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open(ce,{size:"lg",backdrop:"static"})}selectNetworkInterfaces(){return v(this,null,function*(){let t=this.$modal.open(he,{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 v(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(k(750)).subscribe(n=>this.hbDebugSave(n)),this.hbInsecureFormControl.patchValue(t.HOMEBRIDGE_INSECURE),this.hbInsecureFormControl.valueChanges.pipe(k(750)).subscribe(n=>this.hbInsecureSave(n)),this.hbKeepFormControl.patchValue(t.HOMEBRIDGE_KEEP_ORPHANS),this.hbKeepFormControl.valueChanges.pipe(k(750)).subscribe(n=>this.hbKeepSave(n)),this.hbEnvDebugFormControl.patchValue(t.ENV_DEBUG),this.hbEnvDebugFormControl.valueChanges.pipe(k(1500)).subscribe(n=>this.hbEnvDebugSave(n)),this.hbEnvNodeFormControl.patchValue(t.ENV_NODE_OPTIONS),this.hbEnvNodeFormControl.valueChanges.pipe(k(1500)).subscribe(n=>this.hbEnvNodeSave(n))}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}initNetworkingOptions(){return v(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=!0,this.showResolvedMdnsOption=!0)}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}getNetworkSettings(){return v(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,d,f,q])=>{this.adaptersAvailable=t,this.buildBridgeNetworkAdapterList(n),this.hbMDnsFormControl.patchValue(d.advertiser),this.hbMDnsFormControl.valueChanges.pipe(k(750)).subscribe(Q=>this.hbMDnsSave(Q)),this.hbPortFormControl.patchValue(f.port),this.hbPortFormControl.valueChanges.pipe(k(1500)).subscribe(Q=>this.hbPortSave(Q)),this.hbStartPortFormControl.patchValue(q.start),this.hbStartPortFormControl.valueChanges.pipe(k(1500)).subscribe(Q=>this.hbStartPortSave(Q)),this.hbEndPortFormControl.patchValue(q.end),this.hbEndPortFormControl.valueChanges.pipe(k(1500)).subscribe(Q=>this.hbEndPortSave(Q))})})}saveUiSettingChange(t,n){return v(this,null,function*(){try{yield $(this.$api.put("/config-editor/ui",{key:t,value:n}))}catch(d){console.error(d),this.$toastr.error(d.message,this.$translate.instant("toast.title_error"))}})}hbNameSave(t){return v(this,null,function*(){if(!t||!/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(t)){this.hbNameIsInvalid=!0;return}try{this.hbNameIsSaving=!0,yield $(this.$api.put("/server/name",{name:t})),this.$settings.setEnvItem("homebridgeInstanceName",t),this.hbNameIsInvalid=!1,setTimeout(()=>{this.hbNameIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbNameIsSaving=!1}})}uiLangSave(t){return v(this,null,function*(){try{this.uiLangIsSaving=!0,this.$settings.setLang(t),yield this.saveUiSettingChange("lang",t),setTimeout(()=>{this.uiLangIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiLangIsSaving=!1}})}uiThemeSave(t){return v(this,null,function*(){try{this.uiThemeIsSaving=!0,this.$settings.setTheme(t),yield this.saveUiSettingChange("theme",t),setTimeout(()=>{this.uiThemeIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiThemeIsSaving=!1}})}uiLightSave(t){return v(this,null,function*(){try{this.uiLightIsSaving=!0,this.$settings.setLightingMode(t,"user"),yield this.saveUiSettingChange("lightingMode",t),setTimeout(()=>{this.uiLightIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiLightIsSaving=!1}})}uiMenuSave(t){return v(this,null,function*(){try{this.uiMenuIsSaving=!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=!1}})}uiTempSave(t){return v(this,null,function*(){try{this.uiTempIsSaving=!0,this.$settings.setEnvItem("temperatureUnits",t),yield this.saveUiSettingChange("tempUnits",t),setTimeout(()=>{this.uiTempIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTempIsSaving=!1}})}uiAlwaysShowBetasSave(t){return v(this,null,function*(){try{this.uiAlwaysShowBetasIsSaving=!0,this.$settings.setEnvItem("plugins.alwaysShowBetas",t),yield this.saveUiSettingChange("plugins.alwaysShowBetas",t),setTimeout(()=>{this.uiAlwaysShowBetasIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAlwaysShowBetasIsSaving=!1}})}uiTerminalPersistenceSave(t){return v(this,null,function*(){if(!t&&this.$terminal.hasActiveSession()){let n=this.$modal.open(Qt,{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=!0,t||this.$terminal.destroyPersistentSession(),this.$settings.setEnvItem("terminal.persistence",t),yield this.saveUiSettingChange("terminal.persistence",t),setTimeout(()=>{this.uiTerminalPersistenceIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalPersistenceIsSaving=!1}})}uiTerminalHideWarningSave(t){return v(this,null,function*(){try{this.uiTerminalHideWarningIsSaving=!0,this.$settings.setEnvItem("terminal.hideWarning",t),yield this.saveUiSettingChange("terminal.hideWarning",t),setTimeout(()=>{this.uiTerminalHideWarningIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalHideWarningIsSaving=!1}})}uiTerminalBufferSizeSave(t){return v(this,null,function*(){if(t&&(typeof t!="number"||t<0||Number.isInteger(t)===!1)){this.uiTerminalBufferSizeIsInvalid=!0;return}try{this.uiTerminalBufferSizeIsSaving=!0,this.$settings.setEnvItem("terminal.bufferSize",t),yield this.saveUiSettingChange("terminal.bufferSize",t),this.uiTerminalBufferSizeIsInvalid=!1,setTimeout(()=>{this.uiTerminalBufferSizeIsSaving=!1},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiTerminalBufferSizeIsSaving=!1}})}hbDebugSave(t){return v(this,null,function*(){try{this.hbDebugIsSaving=!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=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbInsecureSave(t){return v(this,null,function*(){try{this.hbInsecureIsSaving=!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=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbKeepSave(t){return v(this,null,function*(){try{this.hbKeepIsSaving=!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=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbEnvDebugSave(t){return v(this,null,function*(){try{this.hbEnvDebugIsSaving=!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=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbEnvNodeSave(t){return v(this,null,function*(){try{this.hbEnvNodeIsSaving=!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=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbLogSizeSave(t){return v(this,null,function*(){if(t&&(typeof t!="number"||t<-1||Number.isInteger(t)===!1)){this.hbLogSizeIsInvalid=!0;return}try{this.hbLogSizeIsSaving=!0,this.$settings.setEnvItem("log.maxSize",t),(!t||t===-1)&&(yield this.saveUiSettingChange("log.truncateSize",null),this.hbLogTruncateIsInvalid=!1),yield this.saveUiSettingChange("log.maxSize",t),this.hbLogSizeIsInvalid=!1,setTimeout(()=>{this.hbLogSizeIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLogSizeIsSaving=!1}})}hbLogTruncateSave(t){return v(this,null,function*(){if(t&&(typeof t!="number"||t<0||Number.isInteger(t)===!1)){this.hbLogTruncateIsInvalid=!0;return}try{this.hbLogTruncateIsSaving=!0,this.$settings.setEnvItem("log.truncateSize",t),yield this.saveUiSettingChange("log.truncateSize",t),this.hbLogTruncateIsInvalid=!1,setTimeout(()=>{this.hbLogTruncateIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbLogTruncateIsSaving=!1}})}hbMDnsSave(t){return v(this,null,function*(){try{this.hbMDnsIsSaving=!0,yield $(this.$api.put("/server/mdns-advertiser",{advertiser:t})),setTimeout(()=>{this.hbMDnsIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbMDnsIsSaving=!1}})}hbPortSave(t){return v(this,null,function*(){if(t===this.uiPortFormControl.value){this.hbPortIsInvalid=!0;return}try{this.hbPortIsSaving=!0,yield $(this.$api.put("/server/port",{port:t})),this.hbPortIsInvalid=!1,setTimeout(()=>{this.hbPortIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbPortIsSaving=!1}})}hbStartPortSave(t){return v(this,null,function*(){try{this.hbStartPortIsSaving=!0,yield $(this.$api.put("/server/ports",{start:t,end:this.hbEndPortFormControl.value})),this.hbStartPortIsInvalid=!1,setTimeout(()=>{this.hbStartPortIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbStartPortIsSaving=!1}})}hbEndPortSave(t){return v(this,null,function*(){try{this.hbEndPortIsSaving=!0,yield $(this.$api.put("/server/ports",{start:this.hbStartPortFormControl.value,end:t})),this.hbEndPortIsInvalid=!1,setTimeout(()=>{this.hbEndPortIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbEndPortIsSaving=!1}})}uiPortSave(t){return v(this,null,function*(){if(!t||typeof t!="number"||t<1025||t>65533||Number.isInteger(t)===!1||t===this.hbPortFormControl.value){this.uiPortIsInvalid=!0;return}try{this.uiPortIsSaving=!0,this.$settings.setEnvItem("port",t),yield this.saveUiSettingChange("port",t),this.uiPortIsInvalid=!1,setTimeout(()=>{this.uiPortIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiPortIsSaving=!1}})}uiAuthSave(t){return v(this,null,function*(){try{this.uiAuthIsSaving=!0,this.$settings.setItem("formAuth",t),yield this.saveUiSettingChange("auth",t?"form":"none"),this.$notification.formAuthEnabled.next(t),setTimeout(()=>{this.uiAuthIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAuthIsSaving=!1}})}uiSessionTimeoutSave(t){return v(this,null,function*(){if(t&&(typeof t!="number"||t<600||t>864e5||Number.isInteger(t)===!1)){this.uiSessionTimeoutIsInvalid=!0;return}try{this.uiSessionTimeoutIsSaving=!0,this.$settings.setItem("sessionTimeout",t),yield this.saveUiSettingChange("sessionTimeout",t),this.uiSessionTimeoutIsInvalid=!1,setTimeout(()=>{this.uiSessionTimeoutIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSessionTimeoutIsSaving=!1}})}uiSessionTimeoutInactivityBasedSave(t){return v(this,null,function*(){try{this.uiSessionTimeoutInactivityBasedIsSaving=!0,this.$settings.setItem("sessionTimeoutInactivityBased",t),yield this.saveUiSettingChange("sessionTimeoutInactivityBased",t),setTimeout(()=>{this.uiSessionTimeoutInactivityBasedIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSessionTimeoutInactivityBasedIsSaving=!1}})}uiSslKeySave(t){return v(this,null,function*(){try{this.uiSslKeyIsSaving=!0,this.$settings.setEnvItem("ssl.key",t),yield this.saveUiSettingChange("ssl.key",t),setTimeout(()=>{this.uiSslKeyIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslKeyIsSaving=!1}})}uiSslCertSave(t){return v(this,null,function*(){try{this.uiSslCertIsSaving=!0,this.$settings.setEnvItem("ssl.cert",t),yield this.saveUiSettingChange("ssl.cert",t),setTimeout(()=>{this.uiSslCertIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslCertIsSaving=!1}})}uiSslPfxSave(t){return v(this,null,function*(){try{this.uiSslPfxIsSaving=!0,this.$settings.setEnvItem("ssl.pfx",t),yield this.saveUiSettingChange("ssl.pfx",t),setTimeout(()=>{this.uiSslPfxIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslPfxIsSaving=!1}})}uiSslPassphraseSave(t){return v(this,null,function*(){try{this.uiSslPassphraseIsSaving=!0,this.$settings.setEnvItem("ssl.passphrase",t),yield this.saveUiSettingChange("ssl.passphrase",t),setTimeout(()=>{this.uiSslPassphraseIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiSslPassphraseIsSaving=!1}})}uiSslTypeSave(t){return v(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","");break;case"pfx":this.uiSslKeyFormControl.patchValue("",{emitEvent:!1}),this.uiSslCertFormControl.patchValue("",{emitEvent:!1}),this.$settings.setEnvItem("ssl.key",""),this.$settings.setEnvItem("ssl.cert","");break;default: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",""),yield this.saveUiSettingChange("ssl",""),this.showRestartToast()}})}uiHostSave(t){return v(this,null,function*(){try{this.uiHostIsSaving=!0,this.$settings.setItem("host",t),yield this.saveUiSettingChange("host",t),setTimeout(()=>{this.uiHostIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiHostIsSaving=!1}})}uiWebrootSave(t){return v(this,null,function*(){try{this.uiWebrootIsSaving=!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=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiWebrootIsSaving=!1}})}uiProxyHostSave(t){return v(this,null,function*(){try{this.uiProxyHostIsSaving=!0,this.$settings.setItem("proxyHost",t),yield this.saveUiSettingChange("proxyHost",t),setTimeout(()=>{this.uiProxyHostIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiProxyHostIsSaving=!1}})}hbPackageSave(t){return v(this,null,function*(){try{this.hbPackageIsSaving=!0,this.$settings.setEnvItem("homebridgePackagePath",t),yield this.saveUiSettingChange("homebridgePackagePath",t),setTimeout(()=>{this.hbPackageIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.hbPackageIsSaving=!1}})}uiMetricsSave(t){return v(this,null,function*(){try{this.uiMetricsIsSaving=!0,this.$settings.setEnvItem("disableServerMetricsMonitoring",!t),yield this.saveUiSettingChange("disableServerMetricsMonitoring",!t),setTimeout(()=>{this.uiMetricsIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}uiAccDebugSave(t){return v(this,null,function*(){try{this.uiAccDebugIsSaving=!0,this.$settings.setEnvItem("accessoryControl.debug",t),yield this.saveUiSettingChange("accessoryControl.debug",t),setTimeout(()=>{this.uiAccDebugIsSaving=!1,this.showRestartToast()},1e3)}catch(n){console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error")),this.uiAccDebugIsSaving=!1}})}uiTempFileSave(t){return v(this,null,function*(){try{this.uiTempFileIsSaving=!0,this.$settings.setEnvItem("temp",t),yield this.saveUiSettingChange("temp",t),setTimeout(()=>{this.uiTempFileIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbLinuxShutdownSave(t){return v(this,null,function*(){try{this.hbLinuxShutdownIsSaving=!0,this.$settings.setEnvItem("linux.shutdown",t),yield this.saveUiSettingChange("linux.shutdown",t),setTimeout(()=>{this.hbLinuxShutdownIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}hbLinuxRestartSave(t){return v(this,null,function*(){try{this.hbLinuxRestartIsSaving=!0,this.$settings.setEnvItem("linux.restart",t),yield this.saveUiSettingChange("linux.restart",t),setTimeout(()=>{this.hbLinuxRestartIsSaving=!1,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>this.showRestartToast(),error: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=!1}})}buildBridgeNetworkAdapterList(t){if(!t.length){this.adaptersSelected=[];return}this.adaptersSelected=t.map(n=>{let d=this.adaptersAvailable.find(f=>f.iface===n);return d?{iface:d.iface,selected:!0,missing:!1,ip4:d.ip4,ip6:d.ip6}:{iface:n,selected:!0,missing:!0}})}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.subscribe(()=>{this.$router.navigate(["/restart"])})}}static \u0275fac=function(n){return new(n||e)};static \u0275cmp=P({type:e,selectors:[["ng-component"]],viewQuery:function(n,d){if(n&1&&lt(Ri,5),n&2){let f;dt(f=pt())&&(d.searchInput=f.first)}},decls:12,vars:11,consts:[["searchInput",""],[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"],["href","javascript:void(0)",1,"search-bar-clear"],["href","javascript:void(0)",1,"search-bar-clear",3,"click"],[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",3,"ngClass"],["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","ngClass"],[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",2,"min-width","50px",3,"click"],[1,"fas","fa-arrow-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ms-3",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,"badge","badge-primary","ms-1"],[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"],["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",3,"formControl"],["type","text","placeholder","shutdown",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["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",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",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",3,"formControl"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ms-3",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,"ngClass"],[1,"btn","btn-primary","waves-effect","m-0","ms-3",2,"min-width","50px",3,"click","disabled"],[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",3,"formControl","ngClass"],[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",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",3,"formControl"],["type","number","min","1025","max","65533","placeholder","8581",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["type","text","placeholder","/",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],[3,"innerHtml"],["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",3,"formControl","ngClass"],["type","number","min","0","placeholder","200000",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["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",3,"formControl","ngClass"],["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"],["type","number","min","600","max","86400000","placeholder","28800",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl","ngClass"],["value","off"],["value","keycert"],["value","pfx"],["type","text","placeholder","/Users/.../certs/server.key",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/Users/.../certs/server.crt",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["type","text","placeholder","/Users/.../certs/server.pfx",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"formControl"],["placeholder","mypassphrase",1,"form-control","custom-input","resp-input","order-1","order-md-2",3,"focus","blur","type","formControl"],[1,"small","grey-text","mb-2","mx-0"],["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,d){n&1&&(a(0,"div",1)(1,"div",2)(2,"h3",3),l(3),s(4,"translate"),o()(),a(5,"div",4)(6,"button",5),s(7,"translate"),x("click",function(){return d.toggleSearch()}),p(8,"i"),o()()(),m(9,Li,7,7,"div",6),m(10,zi,1,0,"app-spinner")(11,oo,9,8)),n&2&&(i(3),g(r(4,7,"menu.settings.title")),i(3),b("aria-label",r(7,9,"form.search")),i(2),Et(Tt("fas",d.showSearchBar?" primary-text":""," fa-search")),i(),u(d.showSearchBar?9:-1),i(),u(d.loading?10:11))},dependencies:[G,jt,ot,Ht,zt,Ot,ht,Nt,nt,Lt,at,Rt,Kt,Wt,Ut,gt,Mt,st,Ct,Yt,it,V],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:[At("fadeInOut",[yt(":enter",[_t({opacity:0}),St("750ms",_t({opacity:1}))]),yt(":leave",[St("750ms",_t({opacity:0}))])])]}})}return e})();export{Er as SettingsComponent};
@@ -0,0 +1 @@
1
+ import{k as tt,n as et,q as it}from"./chunk-TV4YROXP.js";import{T as G,e as ut,ea as R,g as ct,h as P,hd as X,ja as W,n as Q,w as U}from"./chunk-WWMJUVLA.js";var st=ut((N,J)=>{(function(b,D){typeof N=="object"&&typeof J<"u"?J.exports=D():typeof define=="function"&&define.amd?define(D):(b=typeof globalThis<"u"?globalThis:b||self).dayjs=D()})(N,function(){"use strict";var b=1e3,D=6e4,s=36e5,h="millisecond",d="second",m="minute",M="hour",v="day",f="week",L="month",q="quarter",S="year",_="date",E="Invalid Date",nt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,rt=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,ot={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(r){var i=["th","st","nd","rd"],t=r%100;return"["+r+(i[(t-20)%10]||i[t]||i[0])+"]"}},B=function(r,i,t){var n=String(r);return!n||n.length>=i?r:""+Array(i+1-n.length).join(t)+r},at={s:B,z:function(r){var i=-r.utcOffset(),t=Math.abs(i),n=Math.floor(t/60),e=t%60;return(i<=0?"+":"-")+B(n,2,"0")+":"+B(e,2,"0")},m:function r(i,t){if(i.date()<t.date())return-r(t,i);var n=12*(t.year()-i.year())+(t.month()-i.month()),e=i.clone().add(n,L),o=t-e<0,a=i.clone().add(n+(o?-1:1),L);return+(-(n+(t-e)/(o?e-a:a-e))||0)},a:function(r){return r<0?Math.ceil(r)||0:Math.floor(r)},p:function(r){return{M:L,y:S,w:f,d:v,D:_,h:M,m,s:d,ms:h,Q:q}[r]||String(r||"").toLowerCase().replace(/s$/,"")},u:function(r){return r===void 0}},I="en",T={};T[I]=ot;var Z="$isDayjsObject",F=function(r){return r instanceof C||!(!r||!r[Z])},Y=function r(i,t,n){var e;if(!i)return I;if(typeof i=="string"){var o=i.toLowerCase();T[o]&&(e=o),t&&(T[o]=t,e=o);var a=i.split("-");if(!e&&a.length>1)return r(a[0])}else{var c=i.name;T[c]=i,e=c}return!n&&e&&(I=e),e||!n&&I},g=function(r,i){if(F(r))return r.clone();var t=typeof i=="object"?i:{};return t.date=r,t.args=arguments,new C(t)},u=at;u.l=Y,u.i=F,u.w=function(r,i){return g(r,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var C=(function(){function r(t){this.$L=Y(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[Z]=!0}var i=r.prototype;return i.parse=function(t){this.$d=(function(n){var e=n.date,o=n.utc;if(e===null)return new Date(NaN);if(u.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var a=e.match(nt);if(a){var c=a[2]-1||0,l=(a[7]||"0").substring(0,3);return o?new Date(Date.UTC(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,l)):new Date(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,l)}}return new Date(e)})(t),this.init()},i.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},i.$utils=function(){return u},i.isValid=function(){return this.$d.toString()!==E},i.isSame=function(t,n){var e=g(t);return this.startOf(n)<=e&&e<=this.endOf(n)},i.isAfter=function(t,n){return g(t)<this.startOf(n)},i.isBefore=function(t,n){return this.endOf(n)<g(t)},i.$g=function(t,n,e){return u.u(t)?this[n]:this.set(e,t)},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this.$d.getTime()},i.startOf=function(t,n){var e=this,o=!!u.u(n)||n,a=u.p(t),c=function(x,y){var k=u.w(e.$u?Date.UTC(e.$y,y,x):new Date(e.$y,y,x),e);return o?k:k.endOf(v)},l=function(x,y){return u.w(e.toDate()[x].apply(e.toDate("s"),(o?[0,0,0,0]:[23,59,59,999]).slice(y)),e)},$=this.$W,p=this.$M,w=this.$D,H="set"+(this.$u?"UTC":"");switch(a){case S:return o?c(1,0):c(31,11);case L:return o?c(1,p):c(0,p+1);case f:var O=this.$locale().weekStart||0,j=($<O?$+7:$)-O;return c(o?w-j:w+(6-j),p);case v:case _:return l(H+"Hours",0);case M:return l(H+"Minutes",1);case m:return l(H+"Seconds",2);case d:return l(H+"Milliseconds",3);default:return this.clone()}},i.endOf=function(t){return this.startOf(t,!1)},i.$set=function(t,n){var e,o=u.p(t),a="set"+(this.$u?"UTC":""),c=(e={},e[v]=a+"Date",e[_]=a+"Date",e[L]=a+"Month",e[S]=a+"FullYear",e[M]=a+"Hours",e[m]=a+"Minutes",e[d]=a+"Seconds",e[h]=a+"Milliseconds",e)[o],l=o===v?this.$D+(n-this.$W):n;if(o===L||o===S){var $=this.clone().set(_,1);$.$d[c](l),$.init(),this.$d=$.set(_,Math.min(this.$D,$.daysInMonth())).$d}else c&&this.$d[c](l);return this.init(),this},i.set=function(t,n){return this.clone().$set(t,n)},i.get=function(t){return this[u.p(t)]()},i.add=function(t,n){var e,o=this;t=Number(t);var a=u.p(n),c=function(p){var w=g(o);return u.w(w.date(w.date()+Math.round(p*t)),o)};if(a===L)return this.set(L,this.$M+t);if(a===S)return this.set(S,this.$y+t);if(a===v)return c(1);if(a===f)return c(7);var l=(e={},e[m]=D,e[M]=s,e[d]=b,e)[a]||1,$=this.$d.getTime()+t*l;return u.w($,this)},i.subtract=function(t,n){return this.add(-1*t,n)},i.format=function(t){var n=this,e=this.$locale();if(!this.isValid())return e.invalidDate||E;var o=t||"YYYY-MM-DDTHH:mm:ssZ",a=u.z(this),c=this.$H,l=this.$m,$=this.$M,p=e.weekdays,w=e.months,H=e.meridiem,O=function(y,k,A,V){return y&&(y[k]||y(n,o))||A[k].slice(0,V)},j=function(y){return u.s(c%12||12,y,"0")},x=H||function(y,k,A){var V=y<12?"AM":"PM";return A?V.toLowerCase():V};return o.replace(rt,function(y,k){return k||(function(A){switch(A){case"YY":return String(n.$y).slice(-2);case"YYYY":return u.s(n.$y,4,"0");case"M":return $+1;case"MM":return u.s($+1,2,"0");case"MMM":return O(e.monthsShort,$,w,3);case"MMMM":return O(w,$);case"D":return n.$D;case"DD":return u.s(n.$D,2,"0");case"d":return String(n.$W);case"dd":return O(e.weekdaysMin,n.$W,p,2);case"ddd":return O(e.weekdaysShort,n.$W,p,3);case"dddd":return p[n.$W];case"H":return String(c);case"HH":return u.s(c,2,"0");case"h":return j(1);case"hh":return j(2);case"a":return x(c,l,!0);case"A":return x(c,l,!1);case"m":return String(l);case"mm":return u.s(l,2,"0");case"s":return String(n.$s);case"ss":return u.s(n.$s,2,"0");case"SSS":return u.s(n.$ms,3,"0");case"Z":return a}return null})(y)||a.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(t,n,e){var o,a=this,c=u.p(n),l=g(t),$=(l.utcOffset()-this.utcOffset())*D,p=this-l,w=function(){return u.m(a,l)};switch(c){case S:o=w()/12;break;case L:o=w();break;case q:o=w()/3;break;case f:o=(p-$)/6048e5;break;case v:o=(p-$)/864e5;break;case M:o=p/s;break;case m:o=p/D;break;case d:o=p/b;break;default:o=p}return e?o:u.a(o)},i.daysInMonth=function(){return this.endOf(L).$D},i.$locale=function(){return T[this.$L]},i.locale=function(t,n){if(!t)return this.$L;var e=this.clone(),o=Y(t,n,!0);return o&&(e.$L=o),e},i.clone=function(){return u.w(this.$d,this)},i.toDate=function(){return new Date(this.valueOf())},i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toISOString=function(){return this.$d.toISOString()},i.toString=function(){return this.$d.toUTCString()},r})(),z=C.prototype;return g.prototype=z,[["$ms",h],["$s",d],["$m",m],["$H",M],["$W",v],["$M",L],["$y",S],["$D",_]].forEach(function(r){z[r[1]]=function(i){return this.$g(i,r[0],r[1])}}),g.extend=function(r,i){return r.$i||(r(i,C,g),r.$i=!0),g},g.locale=Y,g.isDayjs=F,g.unix=function(r){return g(1e3*r)},g.en=T[I],g.Ls=T,g.p={},g})});var K=ct(st(),1);var yt=(()=>{class b{$api=W(it);$title=W(X);$toastr=W(et);$translate=W(tt);settingsLoadedSubject=new Q;defaultTheme="deep-purple";forbiddenKeys=["__proto__","constructor","prototype"];env={};host;proxyHost;webroot;originalWebroot;formAuth=!0;sessionTimeout=28800;sessionTimeoutInactivityBased=!1;uiVersion;theme;lightingMode;currentLightingMode;actualLightingMode;browserLightingMode;menuMode;keepOrphans;wallpaper;serverTimeOffset=0;rtl=!1;browserLang;onSettingsLoaded=this.settingsLoadedSubject.pipe(G());settingsLoaded=!1;themeList=["orange","red","pink","purple","deep-purple","indigo","blue","blue-grey","cyan","green","teal","grey","brown"];constructor(){this.getAppSettings()}getAppSettings(){return P(this,null,function*(){let s=yield U(this.$api.get("/auth/settings"));this.formAuth=s.formAuth,this.sessionTimeout=s.sessionTimeout,this.sessionTimeoutInactivityBased=s.sessionTimeoutInactivityBased,this.env=s.env,this.host=s.host,this.webroot=s.webroot,this.originalWebroot=s.originalWebroot,this.proxyHost=s.proxyHost,this.lightingMode=s.lightingMode,this.wallpaper=s.wallpaper,this.setLightingMode(this.lightingMode,"user"),this.setTheme(s.theme),this.setMenuMode(s.menuMode),this.setKeepOrphans(s.keepOrphans),this.setTitle(this.env.homebridgeInstanceName),this.checkServerTime(s.serverTimestamp),this.setUiVersion(s.env.packageVersion),this.setLang(this.env.lang),this.settingsLoaded=!0,this.settingsLoadedSubject.next(void 0),this.browserLang=this.$translate.getBrowserCultureLang()})}setBrowserLightingMode(s){this.browserLightingMode=s,this.lightingMode==="auto"&&this.setLightingMode(s,"browser")}setLightingMode(s,h){h==="user"&&(this.lightingMode=s),this.currentLightingMode=s,this.actualLightingMode=this.currentLightingMode==="auto"?this.browserLightingMode:this.currentLightingMode,this.theme&&this.setTheme(this.theme)}setTheme(s){(!s||!this.themeList.includes(s))&&(s=this.defaultTheme,U(this.$api.put("/config-editor/ui",{key:"theme",value:s})).catch(m=>console.error("Error saving setTheme:",m)));let h=window.document.querySelector("body");h.classList.remove(`config-ui-x-${this.theme}`),h.classList.remove(`config-ui-x-dark-mode-${this.theme}`),this.theme=s,this.actualLightingMode==="dark"?(h.classList.add(`config-ui-x-dark-mode-${this.theme}`),h.classList.contains("dark-mode")||h.classList.add("dark-mode")):(h.classList.add(`config-ui-x-${this.theme}`),h.classList.contains("dark-mode")&&h.classList.remove("dark-mode")),window.document.querySelectorAll("iframe").forEach((m,M)=>{try{let v=m.contentDocument;if(v){let f=v.body;this.actualLightingMode==="dark"?(f.classList.contains(`config-ui-x-${this.theme}`)&&f.classList.remove(`config-ui-x-${this.theme}`),f.classList.contains(`config-ui-x-dark-mode-${this.theme}`)||f.classList.add(`config-ui-x-dark-mode-${this.theme}`),f.classList.contains("dark-mode")||f.classList.add("dark-mode"),f.style.backgroundColor="#242424 !important",f.style.color="#ffffff !important"):(f.classList.contains(`config-ui-x-${this.theme}`)||f.classList.add(`config-ui-x-${this.theme}`),f.classList.contains(`config-ui-x-dark-mode-${this.theme}`)&&f.classList.remove(`config-ui-x-dark-mode-${this.theme}`),f.classList.contains("dark-mode")&&f.classList.remove("dark-mode"),f.style.backgroundColor="#ffffff !important",f.style.color="#000000 !important"),m.contentWindow.postMessage({type:"theme-update",isDark:this.actualLightingMode==="dark",theme:s},window.location.origin)}}catch(v){console.warn(`Iframe ${M}: Access denied (cross-origin?)`,{error:v,src:m.src})}})}setMenuMode(s){this.menuMode=s}setKeepOrphans(s){this.keepOrphans=s}setLang(s){s?this.$translate.use(s):s="auto",this.env.lang=s}setItem(s,h){this[s]=h}setEnvItem(s,h){if(s.includes(".")){let d=s.split("."),m=this.env;for(let M=0;M<d.length-1;M+=1){if(this.forbiddenKeys.includes(d[M]))return;m[d[M]]||(m[d[M]]={}),m=m[d[M]]}this.forbiddenKeys.includes(d[d.length-1])||(m[d[d.length-1]]=h)}else this.env[s]=h}checkServerTime(s){let d=(0,K.default)(s).diff((0,K.default)(),"hour");this.serverTimeOffset=d*60*60,(d>=8||d<=-8)&&this.$toastr.warning(this.$translate.instant("settings.datetime.incorrect"),this.$translate.instant("toast.title_warning"),{timeOut:2e4,tapToDismiss:!1}).onTap.subscribe(()=>{window.open("https://homebridge.io/w/JqTFs","_blank")})}setUiVersion(s){this.uiVersion||(this.uiVersion=s)}setTitle(s){this.$title.setTitle(s||"Homebridge")}static \u0275fac=function(h){return new(h||b)};static \u0275prov=R({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})();export{st as a,yt as b};
@@ -1,2 +1,2 @@
1
- import{a as D}from"./chunk-D2RHA7X2.js";import{E as c,Mb as y,Nb as b,Ob as E,Tc as O,Wa as h,Xa as w,_a as u,bb as C,cb as f,da as _,ec as N,fa as M,ha as v,ja as a,xb as g,za as l}from"./chunk-ZHRPBG7M.js";var T=["editorContainer"],z="[_nghost-%COMP%]{display:block;height:200px}.editor-container[_ngcontent-%COMP%]{width:100%;height:98%}",I=new v("NGX_MONACO_EDITOR_CONFIG"),R=!1,q,x=(()=>{let i=class i{constructor(){this.config=a(I),this.onInit=new C,this._insideNg=!1}set insideNg(e){this._insideNg=e,this._editor&&(this._editor.dispose(),this.initMonaco(this._options,this.insideNg))}get insideNg(){return this._insideNg}ngAfterViewInit(){R?q.then(()=>{this.initMonaco(this._options,this.insideNg)}):(R=!0,q=new Promise(e=>{let t=this.config.baseUrl;if((t==="assets"||!t)&&(t="./assets/monaco/min/vs"),typeof window.monaco=="object"){this.initMonaco(this._options,this.insideNg),e();return}let o=r=>{let m=r||window.require,p={paths:{vs:`${t}`}};Object.assign(p,this.config.requireConfig||{}),m.config(p),m(["vs/editor/editor.main"],()=>{typeof this.config.onMonacoLoad=="function"&&this.config.onMonacoLoad(),this.initMonaco(this._options,this.insideNg),e()})};if(this.config.monacoRequire)o(this.config.monacoRequire);else if(window.require)if(window.require.config)o();else{var s=`${t}/loader.js`,d=new XMLHttpRequest;d.addEventListener("load",()=>{let r=document.createElement("script");r.type="text/javascript",r.text=["var nodeRequire = require;",d.responseText.replace('"use strict";',""),"var monacoAmdRequire = require;","require = nodeRequire;","require.nodeRequire = require;"].join(`
1
+ import{a as D}from"./chunk-MCPFJTIS.js";import{E as c,Mb as y,Nb as b,Ob as E,Tc as O,Wa as h,Xa as w,_a as u,bb as C,cb as f,da as _,ec as N,fa as M,ha as v,ja as a,xb as g,za as l}from"./chunk-WWMJUVLA.js";var T=["editorContainer"],z="[_nghost-%COMP%]{display:block;height:200px}.editor-container[_ngcontent-%COMP%]{width:100%;height:98%}",I=new v("NGX_MONACO_EDITOR_CONFIG"),R=!1,q,x=(()=>{let i=class i{constructor(){this.config=a(I),this.onInit=new C,this._insideNg=!1}set insideNg(e){this._insideNg=e,this._editor&&(this._editor.dispose(),this.initMonaco(this._options,this.insideNg))}get insideNg(){return this._insideNg}ngAfterViewInit(){R?q.then(()=>{this.initMonaco(this._options,this.insideNg)}):(R=!0,q=new Promise(e=>{let t=this.config.baseUrl;if((t==="assets"||!t)&&(t="./assets/monaco/min/vs"),typeof window.monaco=="object"){this.initMonaco(this._options,this.insideNg),e();return}let o=r=>{let m=r||window.require,p={paths:{vs:`${t}`}};Object.assign(p,this.config.requireConfig||{}),m.config(p),m(["vs/editor/editor.main"],()=>{typeof this.config.onMonacoLoad=="function"&&this.config.onMonacoLoad(),this.initMonaco(this._options,this.insideNg),e()})};if(this.config.monacoRequire)o(this.config.monacoRequire);else if(window.require)if(window.require.config)o();else{var s=`${t}/loader.js`,d=new XMLHttpRequest;d.addEventListener("load",()=>{let r=document.createElement("script");r.type="text/javascript",r.text=["var nodeRequire = require;",d.responseText.replace('"use strict";',""),"var monacoAmdRequire = require;","require = nodeRequire;","require.nodeRequire = require;"].join(`
2
2
  `),document.body.appendChild(r),o(window.monacoAmdRequire)}),d.open("GET",s),d.send()}else{let r=document.createElement("script");r.type="text/javascript",r.src=`${t}/loader.js`,r.addEventListener("load",()=>{o()}),document.body.appendChild(r)}}))}ngOnDestroy(){this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._editor&&(this._editor.dispose(),this._editor=void 0)}};i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=h({type:i,selectors:[["ng-component"]],viewQuery:function(t,o){if(t&1&&y(T,7),t&2){let s;b(s=E())&&(o._editorContainer=s.first)}},inputs:{insideNg:"insideNg"},outputs:{onInit:"onInit"},standalone:!1,decls:0,vars:0,template:function(t,o){},encapsulation:2});let n=i;return n})(),X=(()=>{let i=class i extends x{constructor(){super(...arguments),this.zone=a(f),this._value="",this.propagateChange=e=>{},this.onTouched=()=>{}}set options(e){this._options=Object.assign({},this.config.defaultOptions,e),this._editor&&(this._editor.dispose(),this.initMonaco(this._options,this.insideNg))}get options(){return this._options}set model(e){this.options.model=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}writeValue(e){this._value=e||"",setTimeout(()=>{this._editor&&!this.options.model&&this._editor.setValue(this._value)})}registerOnChange(e){this.propagateChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.options.readOnly=e}initMonaco(e,t){let o=!!e.model;if(o){let s=monaco.editor.getModel(e.model.uri||"");s?(e.model=s,e.model.setValue(this._value)):e.model=monaco.editor.createModel(e.model.value,e.model.language,e.model.uri)}t?this._editor=monaco.editor.create(this._editorContainer.nativeElement,e):this.zone.runOutsideAngular(()=>{this._editor=monaco.editor.create(this._editorContainer.nativeElement,e)}),o||this._editor.setValue(this._value),this._editor.onDidChangeModelContent(s=>{let d=this._editor.getValue();this.zone.run(()=>{this.propagateChange(d),this._value=d})}),this._editor.onDidBlurEditorWidget(()=>{this.onTouched()}),this._editor.setTheme=s=>{this.options.theme=s,monaco.editor.setTheme(s)},this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._windowResizeSubscription=c(window,"resize").subscribe(()=>this._editor.layout()),this.onInit.emit(this._editor)}};i.\u0275fac=(()=>{let e;return function(o){return(e||(e=l(i)))(o||i)}})(),i.\u0275cmp=h({type:i,selectors:[["ngx-monaco-editor"]],inputs:{options:"options",model:"model"},features:[N([{provide:D,useExisting:_(()=>i),multi:!0}]),u],decls:2,vars:0,consts:[["editorContainer",""],[1,"editor-container"]],template:function(t,o){t&1&&g(0,"div",1,0)},styles:["[_nghost-%COMP%]{display:block;height:200px}.editor-container[_ngcontent-%COMP%]{width:100%;height:98%}"],changeDetection:0});let n=i;return n})(),$=(()=>{let i=class i extends x{constructor(){super(...arguments),this.zone=a(f)}set options(e){this._options=Object.assign({},this.config.defaultOptions,e),this._editor&&(this._editor.dispose(),this.initMonaco(this._options,this.insideNg))}get options(){return this._options}set originalModel(e){this._originalModel=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}set modifiedModel(e){this._modifiedModel=e,this._editor&&(this._editor.dispose(),this.initMonaco(this.options,this.insideNg))}initMonaco(e,t){if(!this._originalModel||!this._modifiedModel)throw new Error("originalModel or modifiedModel not found for ngx-monaco-diff-editor");this._originalModel.language=this._originalModel.language||e.language,this._modifiedModel.language=this._modifiedModel.language||e.language;let o=monaco.editor.createModel(this._originalModel.code,this._originalModel.language),s=monaco.editor.createModel(this._modifiedModel.code,this._modifiedModel.language);this._editorContainer.nativeElement.innerHTML="";let d=e.theme;t?this._editor=monaco.editor.createDiffEditor(this._editorContainer.nativeElement,e):this.zone.runOutsideAngular(()=>{this._editor=monaco.editor.createDiffEditor(this._editorContainer.nativeElement,e)}),e.theme=d,this._editor.setModel({original:o,modified:s}),this._windowResizeSubscription&&this._windowResizeSubscription.unsubscribe(),this._windowResizeSubscription=c(window,"resize").subscribe(()=>this._editor.layout()),this.onInit.emit(this._editor)}};i.\u0275fac=(()=>{let e;return function(o){return(e||(e=l(i)))(o||i)}})(),i.\u0275cmp=h({type:i,selectors:[["ngx-monaco-diff-editor"]],inputs:{options:"options",originalModel:"originalModel",modifiedModel:"modifiedModel"},features:[u],decls:2,vars:0,consts:[["editorContainer",""],[1,"editor-container"]],template:function(t,o){t&1&&g(0,"div",1,0)},styles:[z],changeDetection:0});let n=i;return n})(),H=(()=>{let i=class i{static forRoot(e={}){return{ngModule:i,providers:[{provide:I,useValue:e}]}}};i.\u0275fac=function(t){return new(t||i)},i.\u0275mod=w({type:i}),i.\u0275inj=M({imports:[O]});let n=i;return n})();export{X as a,$ as b,H as c};
@@ -1 +1 @@
1
- import{d as n}from"./chunk-LV5TYHZ7.js";import{b as s}from"./chunk-TFDQROXG.js";import{ea as o,h as r,ja as e,w as i}from"./chunk-ZHRPBG7M.js";var l=(()=>{class t{$router=e(n);$settings=e(s);canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
1
+ import{d as n}from"./chunk-6LB7WDKS.js";import{b as s}from"./chunk-NORWQIOQ.js";import{ea as o,h as r,ja as e,w as i}from"./chunk-WWMJUVLA.js";var l=(()=>{class t{$router=e(n);$settings=e(s);canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
@@ -0,0 +1 @@
1
+ import{a as s}from"./chunk-S2PIKK2Y.js";import"./chunk-R2HTSW5Q.js";import"./chunk-B6UZ2NES.js";import"./chunk-2XYBM4MH.js";import"./chunk-3ZU7ZAMP.js";import"./chunk-MCPFJTIS.js";import"./chunk-LKH45EAW.js";import"./chunk-3AQ4YCMY.js";import{g as i}from"./chunk-6LB7WDKS.js";import"./chunk-NORWQIOQ.js";import"./chunk-TV4YROXP.js";import{Xa as t,fa as e}from"./chunk-WWMJUVLA.js";var u=[{path:"",loadComponent:()=>import("./chunk-IRGRXEWA.js").then(o=>o.AccessoriesComponent)}],c=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=t({type:o});static \u0275inj=e({imports:[i.forChild(u),i]})}return o})();var l=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=t({type:o});static \u0275inj=e({imports:[s,c]})}return o})();export{l as AccessoriesModule};
@@ -1 +1 @@
1
- import{a as M}from"./chunk-XNS3RMG7.js";import"./chunk-MD7IQ7EC.js";import{a as O}from"./chunk-CGPMZGNR.js";import{a as _}from"./chunk-6XY6ZG6F.js";import{n as z,t as D}from"./chunk-QHDPBN4J.js";import"./chunk-D2RHA7X2.js";import"./chunk-CGI57AOT.js";import{b as H}from"./chunk-64EYU6BC.js";import"./chunk-TFDQROXG.js";import{k as E,l as A,n as F,q as V}from"./chunk-3TZUDSUL.js";import{Db as T,Gb as p,Ib as b,Ka as y,La as l,Pb as L,Qb as S,Vb as I,Wa as $,Wb as B,g as q,h as v,ja as i,kb as u,lb as x,mb as C,mc as a,n as w,nc as s,oa as d,pa as g,rb as f,sb as c,tb as r,ub as m,xc as k}from"./chunk-ZHRPBG7M.js";var N=q(O(),1);var Q=["logoutput"];function W(o,P){if(o&1){let t=T();c(0,"div",4)(1,"button",7),a(2,"translate"),a(3,"translate"),p("click",function(){d(t);let n=b();return g(n.downloadLogFile())}),m(4,"i",8),r(),c(5,"button",9),a(6,"translate"),a(7,"translate"),p("click",function(){d(t);let n=b();return g(n.truncateLogFile())}),m(8,"i",10),r()()}o&2&&(l(),f("openDelay",150)("ngbTooltip",s(2,6,"form.button_download")),u("aria-label",s(3,8,"form.button_download")),l(4),f("openDelay",150)("ngbTooltip",s(6,10,"form.button_delete")),u("aria-label",s(7,12,"form.button_delete")))}var it=(()=>{class o{$api=i(V);$auth=i(H);$log=i(M);$modal=i(z);$toastr=i(F);$translate=i(E);termTarget=k("logoutput");resizeEvent=new w;isAdmin=this.$auth.user.admin;onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{allowProposedApi:!0},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,N.saveAs)(e.body,"homebridge.log.txt")},error:e=>v(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(h){console.error(h)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&L(n.termTarget,Q,5),e&2&&S()},hostBindings:function(e,n){e&1&&p("resize",function(j){return n.onWindowResize(j)},y)},decls:9,vars:4,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-download"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-trash-alt"]],template:function(e,n){e&1&&(c(0,"div",1)(1,"div",2)(2,"h3",3),I(3),a(4,"translate"),r()(),x(5,W,9,14,"div",4),r(),c(6,"div",5),m(7,"div",6,0),r()),e&2&&(l(3),B(s(4,2,"menu.linux.label_logs")),l(2),C(n.isAdmin?5:-1))},dependencies:[D,A],encapsulation:2})}return o})();export{it as LogsComponent};
1
+ import{a as M}from"./chunk-7CIGAN3X.js";import"./chunk-MO7W4MOJ.js";import{a as O}from"./chunk-BU6Y5VTM.js";import{a as _}from"./chunk-4GG6NV7Z.js";import{n as z,t as D}from"./chunk-3ZU7ZAMP.js";import"./chunk-MCPFJTIS.js";import"./chunk-LKH45EAW.js";import{b as H}from"./chunk-3AQ4YCMY.js";import"./chunk-NORWQIOQ.js";import{k as E,l as A,n as F,q as V}from"./chunk-TV4YROXP.js";import{Db as T,Gb as p,Ib as b,Ka as y,La as l,Pb as L,Qb as S,Vb as I,Wa as $,Wb as B,g as q,h as v,ja as i,kb as u,lb as x,mb as C,mc as a,n as w,nc as s,oa as d,pa as g,rb as f,sb as c,tb as r,ub as m,xc as k}from"./chunk-WWMJUVLA.js";var N=q(O(),1);var Q=["logoutput"];function W(o,P){if(o&1){let t=T();c(0,"div",4)(1,"button",7),a(2,"translate"),a(3,"translate"),p("click",function(){d(t);let n=b();return g(n.downloadLogFile())}),m(4,"i",8),r(),c(5,"button",9),a(6,"translate"),a(7,"translate"),p("click",function(){d(t);let n=b();return g(n.truncateLogFile())}),m(8,"i",10),r()()}o&2&&(l(),f("openDelay",150)("ngbTooltip",s(2,6,"form.button_download")),u("aria-label",s(3,8,"form.button_download")),l(4),f("openDelay",150)("ngbTooltip",s(6,10,"form.button_delete")),u("aria-label",s(7,12,"form.button_delete")))}var it=(()=>{class o{$api=i(V);$auth=i(H);$log=i(M);$modal=i(z);$toastr=i(F);$translate=i(E);termTarget=k("logoutput");resizeEvent=new w;isAdmin=this.$auth.user.admin;onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{allowProposedApi:!0},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,N.saveAs)(e.body,"homebridge.log.txt")},error:e=>v(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(h){console.error(h)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error?.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=$({type:o,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&L(n.termTarget,Q,5),e&2&&S()},hostBindings:function(e,n){e&1&&p("resize",function(j){return n.onWindowResize(j)},y)},decls:9,vars:4,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-download"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-trash-alt"]],template:function(e,n){e&1&&(c(0,"div",1)(1,"div",2)(2,"h3",3),I(3),a(4,"translate"),r()(),x(5,W,9,14,"div",4),r(),c(6,"div",5),m(7,"div",6,0),r()),e&2&&(l(3),B(s(4,2,"menu.linux.label_logs")),l(2),C(n.isAdmin?5:-1))},dependencies:[D,A],encapsulation:2})}return o})();export{it as LogsComponent};