homebridge-config-ui-x 5.0.0-beta.24 → 5.0.0-beta.25

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 (134) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/bin/hb-service.d.ts +2 -2
  3. package/dist/bin/hb-service.js +1 -1
  4. package/dist/bin/hb-service.js.map +1 -1
  5. package/dist/core/auth/auth.controller.js.map +1 -1
  6. package/dist/main.js.map +1 -1
  7. package/dist/modules/backup/backup.service.js +3 -3
  8. package/dist/modules/backup/backup.service.js.map +1 -1
  9. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  10. package/dist/modules/plugins/plugins.service.js +17 -7
  11. package/dist/modules/plugins/plugins.service.js.map +1 -1
  12. package/package.json +3 -4
  13. package/public/3rdpartylicenses.txt +94 -24
  14. package/public/{chunk-PH3WWITU.js → chunk-23M23WV2.js} +1 -1
  15. package/public/chunk-3NLI5MWV.js +1 -0
  16. package/public/chunk-3O7UXDCP.js +1 -0
  17. package/public/{chunk-DGZPMACM.js → chunk-3S35VE6D.js} +1 -1
  18. package/public/{chunk-BXNSSZQU.js → chunk-3YGT5XDE.js} +2 -2
  19. package/public/{chunk-23BZOS52.js → chunk-45QQI3VL.js} +1 -1
  20. package/public/{chunk-P24MYBIN.js → chunk-466ZAM7C.js} +1 -1
  21. package/public/{chunk-CEFSEL4J.js → chunk-474BOAR2.js} +1 -1
  22. package/public/{chunk-Z4RRWRCY.js → chunk-4LIVGQGH.js} +1 -1
  23. package/public/chunk-5GARK6H2.js +1 -0
  24. package/public/{chunk-2DMDQOK2.js → chunk-5KLZWFYX.js} +1 -1
  25. package/public/{chunk-WREHLPR6.js → chunk-5MHVRMBE.js} +1 -1
  26. package/public/{chunk-Q4VBD4HY.js → chunk-675OFXLW.js} +1 -1
  27. package/public/{chunk-LJNOSMWT.js → chunk-7BCHGXO4.js} +1 -1
  28. package/public/chunk-7CTHDMRF.js +1 -0
  29. package/public/{chunk-HGVWDZM7.js → chunk-ABLKZIQ3.js} +2 -2
  30. package/public/chunk-AQQPDAYK.js +1 -0
  31. package/public/{chunk-GHS7224B.js → chunk-BDIXMVA7.js} +1 -1
  32. package/public/{chunk-X34UWQ4G.js → chunk-BFPRGWPN.js} +1 -1
  33. package/public/chunk-BMWLHPL2.js +1 -0
  34. package/public/{chunk-XVCYUDXV.js → chunk-BWSYEFYX.js} +1 -1
  35. package/public/{chunk-IF47NAUS.js → chunk-C2XBPNOQ.js} +1 -1
  36. package/public/chunk-CALVGL3N.js +1 -0
  37. package/public/chunk-CKNHTRCL.js +7 -0
  38. package/public/chunk-D4Q2TS6P.js +1 -0
  39. package/public/chunk-DIFP2ZEW.js +1 -0
  40. package/public/chunk-DQUIBW3A.js +1 -0
  41. package/public/{chunk-AUNYWYZK.js → chunk-DWL7BAZR.js} +1 -1
  42. package/public/{chunk-2U34OGZ2.js → chunk-E6TOS5PQ.js} +1 -1
  43. package/public/chunk-FEBFQ3DL.js +1 -0
  44. package/public/chunk-FMV2U5UJ.js +1 -0
  45. package/public/chunk-FOYTSKFL.js +1 -0
  46. package/public/{chunk-GCSRDNWU.js → chunk-GDU27W4Y.js} +1 -1
  47. package/public/{chunk-YVIUWSSI.js → chunk-GTXRRXBZ.js} +1 -1
  48. package/public/chunk-GWQ6LQZL.js +1 -0
  49. package/public/{chunk-YXTLNUTK.js → chunk-HA6CO5NZ.js} +1 -1
  50. package/public/chunk-HTDHOIID.js +1 -0
  51. package/public/{chunk-4VIMFDES.js → chunk-HUGKO4YQ.js} +1 -1
  52. package/public/{chunk-LN2VCCLR.js → chunk-IMHBRR76.js} +1 -1
  53. package/public/chunk-IPMME72S.js +1 -0
  54. package/public/{chunk-WXDRU7AD.js → chunk-J6PRMQON.js} +1 -1
  55. package/public/{chunk-NMCUOQS6.js → chunk-JCSR43VP.js} +1 -1
  56. package/public/{chunk-67EN4M44.js → chunk-JF5AT3NK.js} +1 -1
  57. package/public/chunk-JN4FOPPF.js +1 -0
  58. package/public/{chunk-FVYSS7A6.js → chunk-K2R3BPLP.js} +1 -1
  59. package/public/chunk-MSB3OVAL.js +1 -0
  60. package/public/{chunk-CE76KHI4.js → chunk-MV3ERMGJ.js} +1 -1
  61. package/public/chunk-N2PCJZX2.js +1 -0
  62. package/public/chunk-N5KOQEZ2.js +1 -0
  63. package/public/{chunk-4MKTUK3C.js → chunk-NFG4Y4PX.js} +1 -1
  64. package/public/chunk-NITUCSNQ.js +1 -0
  65. package/public/{chunk-5SBO5IQQ.js → chunk-NSCP3SOQ.js} +1 -1
  66. package/public/chunk-NU6AAZWI.js +1 -0
  67. package/public/chunk-OAHWWVO7.js +1 -0
  68. package/public/{chunk-5TMMPP6L.js → chunk-PKJCXZE5.js} +1 -1
  69. package/public/{chunk-JK2TIEOZ.js → chunk-QADJSVPE.js} +1 -1
  70. package/public/chunk-QYT5LYC6.js +1 -0
  71. package/public/{chunk-YMEOGTJF.js → chunk-R32JIOK7.js} +1 -1
  72. package/public/{chunk-EBVMWV7Q.js → chunk-T3GI7KUT.js} +1 -1
  73. package/public/chunk-T6YC67I2.js +1 -0
  74. package/public/chunk-TKS2P7BY.js +1 -0
  75. package/public/chunk-TVWBCLU3.js +1 -0
  76. package/public/chunk-TYGAKDLQ.js +1 -0
  77. package/public/{chunk-MEQQHR4J.js → chunk-TYU5VELI.js} +4 -4
  78. package/public/chunk-UKJNJQYA.js +1 -0
  79. package/public/chunk-UKPIYCWA.js +1 -0
  80. package/public/chunk-VEP4HNXH.js +1 -0
  81. package/public/chunk-VSKGHU6T.js +6 -0
  82. package/public/{chunk-LAZONQ56.js → chunk-WBYIFSS4.js} +2 -2
  83. package/public/{chunk-QRHPGHWR.js → chunk-WFTXQQES.js} +5 -5
  84. package/public/chunk-WGB7S5X7.js +1 -0
  85. package/public/chunk-WJ474LWO.js +1 -0
  86. package/public/chunk-WV6F7JKU.js +1 -0
  87. package/public/{chunk-JHGDWS5G.js → chunk-XFK2EZ3K.js} +1 -1
  88. package/public/{chunk-AGHJJT2B.js → chunk-XP7D2PRA.js} +1 -1
  89. package/public/{chunk-ACRDELJP.js → chunk-XQNHUDX7.js} +1 -1
  90. package/public/{chunk-L7XNUEKD.js → chunk-YIQ2YNEE.js} +1 -1
  91. package/public/{chunk-UUOIJNVA.js → chunk-YLEC7AUG.js} +1 -1
  92. package/public/chunk-YUE3OQJS.js +32 -0
  93. package/public/{chunk-A2XZOBXK.js → chunk-ZK726DZI.js} +1 -1
  94. package/public/{chunk-SAUJHLW4.js → chunk-ZW6ZWLX2.js} +1 -1
  95. package/public/index.html +1 -1
  96. package/public/main-UX5KVBA6.js +1 -0
  97. package/public/chunk-2AEDCPAZ.js +0 -6
  98. package/public/chunk-34534FR6.js +0 -1
  99. package/public/chunk-3EOLD2RC.js +0 -1
  100. package/public/chunk-3NLYPA3O.js +0 -1
  101. package/public/chunk-7VE3PNKY.js +0 -1
  102. package/public/chunk-AWFGX4UH.js +0 -1
  103. package/public/chunk-BPUJQP7S.js +0 -1
  104. package/public/chunk-CGB55TWP.js +0 -1
  105. package/public/chunk-CO6C42ID.js +0 -1
  106. package/public/chunk-CWAROVXL.js +0 -1
  107. package/public/chunk-CWLESZWI.js +0 -1
  108. package/public/chunk-DTCZUF5X.js +0 -1
  109. package/public/chunk-E4NNL36U.js +0 -1
  110. package/public/chunk-EPTTTCYA.js +0 -1
  111. package/public/chunk-FN54I3N2.js +0 -1
  112. package/public/chunk-FR2SRQ6O.js +0 -32
  113. package/public/chunk-GPATGB7A.js +0 -1
  114. package/public/chunk-I7RBEGVL.js +0 -1
  115. package/public/chunk-IXX3QR3W.js +0 -1
  116. package/public/chunk-JRE4YLKQ.js +0 -1
  117. package/public/chunk-K7SACHXO.js +0 -1
  118. package/public/chunk-NHJLTSH3.js +0 -7
  119. package/public/chunk-NIQ3CMM3.js +0 -1
  120. package/public/chunk-NSKRVV2Q.js +0 -1
  121. package/public/chunk-O57GSOID.js +0 -1
  122. package/public/chunk-OIPTRAIJ.js +0 -1
  123. package/public/chunk-OXB2TK4Y.js +0 -1
  124. package/public/chunk-PAPJD32S.js +0 -1
  125. package/public/chunk-PZ34U5OV.js +0 -1
  126. package/public/chunk-S562WX6B.js +0 -1
  127. package/public/chunk-SQIPIZV2.js +0 -1
  128. package/public/chunk-USZR6IOE.js +0 -1
  129. package/public/chunk-WAV54USB.js +0 -1
  130. package/public/chunk-WLWKH3SS.js +0 -1
  131. package/public/chunk-YNSIFZ5S.js +0 -1
  132. package/public/chunk-Z3THJJ67.js +0 -1
  133. package/public/chunk-ZPJB4ZAQ.js +0 -1
  134. package/public/main-67JW6AVL.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as ee}from"./chunk-AGHJJT2B.js";import{a as Q,b as ne}from"./chunk-HGVWDZM7.js";import{a as X,b as Z}from"./chunk-5SBO5IQQ.js";import{a as G}from"./chunk-67EN4M44.js";import{m as U,n as W,o as Y}from"./chunk-QRHPGHWR.js";import{c as q,e as z,l as J,y as K}from"./chunk-UUOIJNVA.js";import{b as F}from"./chunk-EBVMWV7Q.js";import{b as N}from"./chunk-YMEOGTJF.js";import{b as k,j as V}from"./chunk-WLWKH3SS.js";import{a as T,b as M}from"./chunk-Q4VBD4HY.js";import{Bb as w,Cc as l,Dc as c,Ec as O,Lb as y,Mb as v,Rb as g,Tb as I,Ub as H,Vb as j,Wb as r,Xb as a,Yb as _,ac as C,dc as h,ec as d,g as oe,h as S,ib as n,ld as L,na as m,ob as D,oc as b,pc as x,qc as $,tc as P,ub as E,uc as R,vc as B,w as A,xa as p,ya as f}from"./chunk-NHJLTSH3.js";function ae(o,u){o&1&&(r(0,"div",6),_(1,"i",14),a())}function se(o,u){if(o&1){let e=C();r(0,"tr")(1,"td",15),b(2),l(3,"date"),a(),r(4,"td",16)(5,"a",17),h("click",function(){let t=p(e).$implicit,s=d(2);return f(s.restore(t.id))}),b(6),l(7,"translate"),_(8,"i",18),a()()()}if(o&2){let e=u.$implicit;n(2),x(O(3,2,e.timestamp,"medium")),n(4),$(" ",c(7,5,"config.restore.copy_to_editor")," ")}}function le(o,u){if(o&1&&(r(0,"table",7)(1,"tbody"),H(2,se,9,7,"tr",null,I),a()()),o&2){let e=d();n(2),j(e.backupList)}}function de(o,u){o&1&&(r(0,"div")(1,"h3",11),b(2),l(3,"translate"),a()()),o&2&&(n(2),x(c(3,1,"config.restore.no_backups")))}function ce(o,u){if(o&1){let e=C();r(0,"button",19),l(1,"translate"),h("click",function(){p(e);let t=d();return f(t.deleteAllBackups())}),b(2),l(3,"translate"),a()}o&2&&(y("aria-label",c(1,2,"form.button_remove")),n(2),$(" ",c(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=m(U);$api=m(k);$toastr=m(V);$translate=m(T);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=E({type:o,selectors:[["ng-component"]],decls:22,vars:16,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"table","table-borderless","table-hover","table-sm"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button",1,"btn","btn-danger","mr-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"w-100"],["nowrap",""],[1,"card-link",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button",1,"btn","btn-danger","mr-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),b(3),l(4,"translate"),a(),r(5,"button",3),l(6,"translate"),h("click",function(){return t.$activeModal.dismiss("Dismiss")}),r(7,"span",4),b(8,"\xD7"),a()()(),r(9,"div",5),w(10,ae,2,0,"div",6)(11,le,4,0,"table",7)(12,de,4,3,"div"),a(),r(13,"div",8)(14,"div",9)(15,"button",10),l(16,"translate"),h("click",function(){return t.$activeModal.dismiss("Dismiss")}),b(17),l(18,"translate"),a()(),_(19,"div",11),r(20,"div",12),w(21,ce,4,6,"button",13),a()()()),i&2&&(n(3),x(c(4,8,"config.restore.title_restore_homebridge_backup")),n(2),y("aria-label",c(6,10,"form.button_close")),n(5),g(t.loading?10:-1),n(),g(!t.loading&&t.backupList&&t.backupList.length?11:-1),n(),g(!t.loading&&(!t.backupList||!t.backupList.length)?12:-1),n(3),y("aria-label",c(16,12,"form.button_close")),n(2),$(" ",c(18,14,"form.button_close")," "),n(4),g(!t.loading&&t.backupList.length?21:-1))},dependencies:[L,M],encapsulation:2})}return o})();var ie=oe(ne(),1);function me(o,u){if(o&1){let e=C();r(0,"button",13),l(1,"translate"),l(2,"translate"),h("click",function(){p(e);let t=d();return f(t.onExportConfig())}),_(3,"i",14),a()}o&2&&(v("ngbTooltip",c(1,2,"form.button_download")),y("aria-label",c(2,4,"form.button_download")))}function pe(o,u){if(o&1){let e=C();r(0,"button",15),l(1,"translate"),l(2,"translate"),h("click",function(){p(e);let t=d();return f(t.onCancelRestore())}),_(3,"i",16),a()}if(o&2){let e=d();v("disabled",e.saveInProgress)("ngbTooltip",c(1,3,"form.button_cancel")),y("aria-label",c(2,5,"form.button_cancel"))}}function fe(o,u){if(o&1){let e=C();r(0,"button",13),l(1,"translate"),l(2,"translate"),h("click",function(){p(e);let t=d();return f(t.onRestore())}),_(3,"i",17),a()}o&2&&(v("ngbTooltip",c(1,2,"form.button_restore")),y("aria-label",c(2,4,"form.button_restore")))}function ge(o,u){o&1&&_(0,"i",8)}function ue(o,u){o&1&&_(0,"i",9)}function he(o,u){if(o&1){let e=C();r(0,"ngx-monaco-editor",18),h("onInit",function(t){p(e);let s=d();return f(s.onEditorInit(t))})("keydown.control.s",function(t){p(e);let s=d();return t.preventDefault(),f(s.onSave())})("keydown.meta.s",function(t){p(e);let s=d();return t.preventDefault(),f(s.onSave())}),a()}if(o&2){let e=d();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function be(o,u){if(o&1){let e=C();r(0,"ngx-monaco-diff-editor",19),h("onInit",function(t){p(e);let s=d();return f(s.onInitDiffEditor(t))})("keydown.control.s",function(t){p(e);let s=d();return t.preventDefault(),f(s.onSave())})("keydown.meta.s",function(t){p(e);let s=d();return t.preventDefault(),f(s.onSave())}),a()}if(o&2){let e=d();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function _e(o,u){if(o&1){let e=C();r(0,"textarea",20),B("ngModelChange",function(t){p(e);let s=d();return R(s.homebridgeConfig,t)||(s.homebridgeConfig=t),f(t)}),b(1," "),a()}if(o&2){let e=d();P("ngModel",e.homebridgeConfig)}}var qe=(()=>{class o{$api=m(k);$md=m(G);$modal=m(W);$monacoEditor=m(ee);$route=m(F);$renderer=m(D);$settings=m(N);$toastr=m(V);$translate=m(T);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>{this.setMonacoEditorModel()}})}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return S(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield A(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Q,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
1
+ import{a as ee}from"./chunk-XP7D2PRA.js";import{a as Z,b as ne}from"./chunk-ABLKZIQ3.js";import{a as W,b as Y}from"./chunk-NSCP3SOQ.js";import{a as X}from"./chunk-JF5AT3NK.js";import{m as J,n as K,o as U}from"./chunk-WFTXQQES.js";import{c as N,e as F,l as q,y as z}from"./chunk-YLEC7AUG.js";import{b as G}from"./chunk-T3GI7KUT.js";import{b as Q}from"./chunk-R32JIOK7.js";import{h as M,k as V}from"./chunk-N2PCJZX2.js";import{a as k,b as T}from"./chunk-675OFXLW.js";import{Bb as w,Cc as l,Dc as c,Ec as O,Lb as y,Mb as v,Rb as g,Tb as I,Ub as H,Vb as j,Wb as r,Xb as a,Yb as _,ac as C,dc as h,ec as d,g as oe,h as S,ib as n,id as L,na as m,ob as D,oc as b,pc as x,qc as $,tc as P,ub as E,uc as R,vc as B,w as A,xa as p,ya as f}from"./chunk-CKNHTRCL.js";var ie=oe(ne(),1);function ae(o,u){o&1&&(r(0,"div",6),_(1,"i",14),a())}function se(o,u){if(o&1){let e=C();r(0,"tr")(1,"td",15),b(2),l(3,"date"),a(),r(4,"td",16)(5,"a",17),h("click",function(){let t=p(e).$implicit,s=d(2);return f(s.restore(t.id))}),b(6),l(7,"translate"),_(8,"i",18),a()()()}if(o&2){let e=u.$implicit;n(2),x(O(3,2,e.timestamp,"medium")),n(4),$(" ",c(7,5,"config.restore.copy_to_editor")," ")}}function le(o,u){if(o&1&&(r(0,"table",7)(1,"tbody"),H(2,se,9,7,"tr",null,I),a()()),o&2){let e=d();n(2),j(e.backupList)}}function de(o,u){o&1&&(r(0,"div")(1,"h3",11),b(2),l(3,"translate"),a()()),o&2&&(n(2),x(c(3,1,"config.restore.no_backups")))}function ce(o,u){if(o&1){let e=C();r(0,"button",19),l(1,"translate"),h("click",function(){p(e);let t=d();return f(t.deleteAllBackups())}),b(2),l(3,"translate"),a()}o&2&&(y("aria-label",c(1,2,"form.button_remove")),n(2),$(" ",c(3,4,"form.button_remove")," "))}var te=(()=>{class o{$activeModal=m(J);$api=m(V);$toastr=m(M);$translate=m(k);loading=!0;backupList=[];constructor(){}ngOnInit(){this.$api.get("/config-editor/backups").subscribe({next:e=>{this.loading=!1,this.backupList=e},error:e=>{this.loading=!1,console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}restore(e){return this.$activeModal.close(e)}deleteAllBackups(){return this.$api.delete("/config-editor/backups").subscribe({next:()=>{this.$activeModal.dismiss(),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success"))},error:e=>{console.error(e),this.$toastr.error(e.error.message||e.message,this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=E({type:o,selectors:[["ng-component"]],decls:22,vars:16,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"table","table-borderless","table-hover","table-sm"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button",1,"btn","btn-danger","mr-auto"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"w-100"],["nowrap",""],[1,"card-link",3,"click"],[1,"fas","fa-fw","fa-arrow-right"],["type","button",1,"btn","btn-danger","mr-auto",3,"click"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"h5",2),b(3),l(4,"translate"),a(),r(5,"button",3),l(6,"translate"),h("click",function(){return t.$activeModal.dismiss("Dismiss")}),r(7,"span",4),b(8,"\xD7"),a()()(),r(9,"div",5),w(10,ae,2,0,"div",6)(11,le,4,0,"table",7)(12,de,4,3,"div"),a(),r(13,"div",8)(14,"div",9)(15,"button",10),l(16,"translate"),h("click",function(){return t.$activeModal.dismiss("Dismiss")}),b(17),l(18,"translate"),a()(),_(19,"div",11),r(20,"div",12),w(21,ce,4,6,"button",13),a()()()),i&2&&(n(3),x(c(4,8,"config.restore.title_restore_homebridge_backup")),n(2),y("aria-label",c(6,10,"form.button_close")),n(5),g(t.loading?10:-1),n(),g(!t.loading&&t.backupList&&t.backupList.length?11:-1),n(),g(!t.loading&&(!t.backupList||!t.backupList.length)?12:-1),n(3),y("aria-label",c(16,12,"form.button_close")),n(2),$(" ",c(18,14,"form.button_close")," "),n(4),g(!t.loading&&t.backupList.length?21:-1))},dependencies:[L,T],encapsulation:2})}return o})();function me(o,u){if(o&1){let e=C();r(0,"button",13),l(1,"translate"),l(2,"translate"),h("click",function(){p(e);let t=d();return f(t.onExportConfig())}),_(3,"i",14),a()}o&2&&(v("ngbTooltip",c(1,2,"form.button_download")),y("aria-label",c(2,4,"form.button_download")))}function pe(o,u){if(o&1){let e=C();r(0,"button",15),l(1,"translate"),l(2,"translate"),h("click",function(){p(e);let t=d();return f(t.onCancelRestore())}),_(3,"i",16),a()}if(o&2){let e=d();v("disabled",e.saveInProgress)("ngbTooltip",c(1,3,"form.button_cancel")),y("aria-label",c(2,5,"form.button_cancel"))}}function fe(o,u){if(o&1){let e=C();r(0,"button",13),l(1,"translate"),l(2,"translate"),h("click",function(){p(e);let t=d();return f(t.onRestore())}),_(3,"i",17),a()}o&2&&(v("ngbTooltip",c(1,2,"form.button_restore")),y("aria-label",c(2,4,"form.button_restore")))}function ge(o,u){o&1&&_(0,"i",8)}function ue(o,u){o&1&&_(0,"i",9)}function he(o,u){if(o&1){let e=C();r(0,"ngx-monaco-editor",18),h("onInit",function(t){p(e);let s=d();return f(s.onEditorInit(t))})("keydown.control.s",function(t){p(e);let s=d();return t.preventDefault(),f(s.onSave())})("keydown.meta.s",function(t){p(e);let s=d();return t.preventDefault(),f(s.onSave())}),a()}if(o&2){let e=d();v("options",e.editorOptions)("model",e.monacoEditorModel)}}function be(o,u){if(o&1){let e=C();r(0,"ngx-monaco-diff-editor",19),h("onInit",function(t){p(e);let s=d();return f(s.onInitDiffEditor(t))})("keydown.control.s",function(t){p(e);let s=d();return t.preventDefault(),f(s.onSave())})("keydown.meta.s",function(t){p(e);let s=d();return t.preventDefault(),f(s.onSave())}),a()}if(o&2){let e=d();v("options",e.editorOptions)("originalModel",e.monacoEditorModel)("modifiedModel",e.monacoEditorModel)}}function _e(o,u){if(o&1){let e=C();r(0,"textarea",20),B("ngModelChange",function(t){p(e);let s=d();return R(s.homebridgeConfig,t)||(s.homebridgeConfig=t),f(t)}),b(1," "),a()}if(o&2){let e=d();P("ngModel",e.homebridgeConfig)}}var qe=(()=>{class o{$api=m(V);$md=m(X);$modal=m(K);$monacoEditor=m(ee);$route=m(G);$renderer=m(D);$settings=m(Q);$toastr=m(M);$translate=m(k);homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;editorDecorations=[];lastHeight;visualViewPortEventCallback;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0};let e=document.querySelector(".content");this.$renderer.setStyle(e,"height","100%"),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.visualViewPortEventCallback=()=>this.visualViewPortChanged(),this.lastHeight=window.innerHeight,window.visualViewport&&!this.isMobile&&(window.visualViewport.addEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.disableTouchMove()),this.$route.data.subscribe(i=>{this.homebridgeConfig=i.config}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>{this.setMonacoEditorModel()}})}onEditorInit(e){window.editor=e,this.monacoEditor=e,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(e){this.monacoEditor=e.modifiedEditor,e.getModel().original.setValue(this.originalConfig),e.getModel().modified.setValue(this.homebridgeConfig),window.editor=e}onSave(){return S(this,null,function*(){if(!this.saveInProgress){this.monacoEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[])),this.saveInProgress=!0;try{if(!this.isMobile){yield this.monacoEditor.getAction("editor.action.formatDocument").run();let i=window.monaco.editor.getModelMarkers({owner:"json"});for(let t of i)if(t.message==="Duplicate object key"){this.saveInProgress=!1,this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"));return}this.homebridgeConfig=this.monacoEditor.getModel().getValue()}let e=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(e,null,4),typeof e.bridge!="object"?this.$toastr.error(this.$translate.instant("config.config_bridge_missing"),this.$translate.instant("toast.title_error")):/^(?:[0-9A-F]{2}:){5}[0-9A-F]{2}$/i.test(e.bridge.username)?e.accessories&&!Array.isArray(e.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&!Array.isArray(e.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):e.platforms&&Array.isArray(e.platforms)&&!this.validateSection(e.platforms,"platform")||e.accessories&&Array.isArray(e.accessories)&&!this.validateSection(e.accessories,"accessory")||e.plugins&&Array.isArray(e.plugins)&&!this.validatePlugins(e.plugins,"plugins")||e.disabledPlugins&&Array.isArray(e.disabledPlugins)&&!this.validatePlugins(e.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(e),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}parseConfigFromEditor(){try{return JSON.parse(this.homebridgeConfig)}catch{let i=ie.default.parse(this.homebridgeConfig);return this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&this.monacoEditor.getModel().setValue(this.homebridgeConfig),i}}saveConfig(e){return S(this,null,function*(){try{let i=yield A(this.$api.post("/config-editor",e));this.homebridgeConfig=JSON.stringify(i,null,4),this.$modal.open(Z,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}onRestore(){this.$modal.open(te,{size:"lg",backdrop:"static"}).result.then(e=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig),this.$api.get(`/config-editor/backups/${e}`).subscribe({next:i=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(i,null,4),this.monacoEditor&&window.editor.modifiedEditor&&(this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[]),this.monacoEditor.executeEdits("beautifier",[{identifier:"delete",range:new monaco.Range(1,1,this.monacoEditor.getModel().getLineCount()+10,1),text:"",forceMoveMarkers:!0}]),this.monacoEditor.executeEdits("beautifier",[{identifier:"insert",range:new monaco.Range(1,1,1,1),text:this.homebridgeConfig,forceMoveMarkers:!0}]))},error:i=>{console.error(i),this.$toastr.error(i.error.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onExportConfig(){let e=`data:text/json;charset=utf-8,${encodeURIComponent(this.homebridgeConfig)}`,i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("download","config.json"),document.body.appendChild(i),i.click(),i.remove()}onCancelRestore(){this.homebridgeConfig=this.originalConfig,this.originalConfig=""}validateSection(e,i){for(let t of e){if(typeof t!="object"||Array.isArray(t))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(!t[i])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1;if(typeof t[i]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:i}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(t),!1}return!0}validatePlugins(e,i){for(let t of e)if(typeof t!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:i}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(e){this.monacoEditor&&(e=JSON.stringify(e,null,4).split(`
2
2
  `).map(i=>` ${i}`).join(`
3
3
  `),setTimeout(()=>{let i=this.monacoEditor.getModel().findMatches(e);if(i.length){let t=i[0].range,s=new monaco.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:s,options:{isWholeLine:!0,linesDecorationsClassName:"hb-monaco-editor-line-error"}}])}},200))}setMonacoEditorModel(){if(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas.some(i=>i.uri==="http://homebridge/config.json"))return;let e=monaco.Uri.parse("a://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[e.toString()],schema:{type:"object",required:["bridge"],properties:{bridge:{type:"object",required:["name","username","port","pin"],properties:{name:{type:"string",description:`The Homebridge instance name.
4
4
  This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
@@ -17,4 +17,4 @@ Requires Homebridge v1.3 or later.`,items:{type:"string",description:`The full p
17
17
  Example: homebridge-dummy`},default:[]},ports:{type:"object",description:"The range of ports that should be used for certain accessories like cameras and TVs",required:["start","end"],properties:{start:{type:"number",default:52100,minimum:1025,maximum:65534},end:{type:"number",default:52150,minimum:1025,maximum:65534}},default:{start:52100,end:52150}},platforms:{type:"array",description:`Any plugin that exposes a platform should have it's config entered in this array.
18
18
  Separate each plugin config block using a comma.`,items:{type:"object",required:["platform"],anyOf:[{type:"object",required:["platform"],properties:{platform:{type:"string",description:"This is used by Homebridge to identify which plugin this platform belongs to.",not:{enum:["config"]}},name:{type:"string",description:"The name of the platform."}}},{type:"object",properties:{platform:{type:"string",description:`Homebridge UI platform name must be set to "config".
19
19
  Do Not Change!`,oneOf:[{enum:"config"}]},name:{type:"string",description:"The name used in the Homebridge log."}}}]}},accessories:{type:"array",description:`Any plugin that exposes an accessory should have it's config entered in this array.
20
- Separate each plugin config block using a comma.`,items:{type:"object",required:["accessory","name"],properties:{accessory:{type:"string",description:"This is used by Homebridge to identify which plugin this accessory belongs to."},name:{type:"string",description:"The name of the accessory."}}}}}}}]}),this.monacoEditorModel.uri=monaco.Uri.parse("a://homebridge/config.json")}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){let e=document.querySelector(".content");this.$renderer.removeStyle(e,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=E({type:o,selectors:[["ng-component"]],decls:18,vars:18,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-right"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0",3,"ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0",3,"disabled","ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModel"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-times"],[1,"fas","fa-fw","fa-history"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModelChange","ngModel"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),b(4),l(5,"translate"),a()(),r(6,"div",4),w(7,me,4,6,"button",5)(8,pe,4,7,"button",6)(9,fe,4,6,"button",5),r(10,"button",7),l(11,"translate"),l(12,"translate"),h("click",function(){return t.onSave()}),w(13,ge,1,0,"i",8)(14,ue,1,0,"i",9),a()()(),w(15,he,1,2,"ngx-monaco-editor",10)(16,be,1,3,"ngx-monaco-diff-editor",11)(17,_e,2,1,"textarea",12),a()),i&2&&(n(4),x(c(5,12,"menu.config_json_editor")),n(3),g(t.originalConfig?-1:7),n(),g(t.originalConfig?8:-1),n(),g(t.originalConfig?-1:9),n(),v("disabled",t.saveInProgress)("ngbTooltip",c(11,14,"form.button_save")),y("aria-label",c(12,16,"form.button_save")),n(3),g(t.saveInProgress?-1:13),n(),g(t.saveInProgress?14:-1),n(),g(!t.isMobile&&!t.originalConfig?15:-1),n(),g(!t.isMobile&&t.originalConfig?16:-1),n(),g(t.isMobile?17:-1))},dependencies:[Y,X,Z,K,q,z,J,M],encapsulation:2})}return o})();export{qe as a};
20
+ Separate each plugin config block using a comma.`,items:{type:"object",required:["accessory","name"],properties:{accessory:{type:"string",description:"This is used by Homebridge to identify which plugin this accessory belongs to."},name:{type:"string",description:"The name of the accessory."}}}}}}}]}),this.monacoEditorModel.uri=monaco.Uri.parse("a://homebridge/config.json")}visualViewPortChanged(){this.lastHeight<window.visualViewport.height&&document.activeElement.blur(),window.visualViewport.height<window.innerHeight?(this.$md.enableTouchMove(),this.lastHeight=window.visualViewport.height):window.visualViewport.height===window.innerHeight&&(this.$md.disableTouchMove(),this.lastHeight=window.visualViewport.height)}ngOnDestroy(){let e=document.querySelector(".content");this.$renderer.removeStyle(e,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove()),this.monacoEditor&&this.monacoEditor.dispose()}static \u0275fac=function(i){return new(i||o)};static \u0275cmp=E({type:o,selectors:[["ng-component"]],decls:18,vars:18,consts:[[1,"flex-column","d-flex","align-items-stretch","h-100"],[1,"row"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-right"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0",3,"ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0",3,"disabled","ngbTooltip"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0","mr-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-floppy-disk"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModel"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","waves-effect","my-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-danger","waves-effect","my-0",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-times"],[1,"fas","fa-fw","fa-history"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","model"],[1,"flex-grow-1","h-100","w-100","mt-3","mb-0",3,"onInit","keydown.control.s","keydown.meta.s","options","originalModel","modifiedModel"],["wrap","off","autocomplete","off","autocorrect","off","autocapitalize","off","spellcheck","false",1,"hb-plain-text-editor","align-self-end","h-100","w-100","my-3",3,"ngModelChange","ngModel"]],template:function(i,t){i&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"h3",3),b(4),l(5,"translate"),a()(),r(6,"div",4),w(7,me,4,6,"button",5)(8,pe,4,7,"button",6)(9,fe,4,6,"button",5),r(10,"button",7),l(11,"translate"),l(12,"translate"),h("click",function(){return t.onSave()}),w(13,ge,1,0,"i",8)(14,ue,1,0,"i",9),a()()(),w(15,he,1,2,"ngx-monaco-editor",10)(16,be,1,3,"ngx-monaco-diff-editor",11)(17,_e,2,1,"textarea",12),a()),i&2&&(n(4),x(c(5,12,"menu.config_json_editor")),n(3),g(t.originalConfig?-1:7),n(),g(t.originalConfig?8:-1),n(),g(t.originalConfig?-1:9),n(),v("disabled",t.saveInProgress)("ngbTooltip",c(11,14,"form.button_save")),y("aria-label",c(12,16,"form.button_save")),n(3),g(t.saveInProgress?-1:13),n(),g(t.saveInProgress?14:-1),n(),g(!t.isMobile&&!t.originalConfig?15:-1),n(),g(!t.isMobile&&t.originalConfig?16:-1),n(),g(t.isMobile?17:-1))},dependencies:[U,W,Y,z,N,F,q,T],encapsulation:2})}return o})();export{qe as a};
@@ -1 +1 @@
1
- import{m as E}from"./chunk-QRHPGHWR.js";import{b as y}from"./chunk-Q4VBD4HY.js";import{Bb as p,Cc as m,Dc as d,Lb as f,Mb as S,Qb as L,Rb as s,Wb as n,Xb as a,Yb as I,ac as k,dc as _,eb as g,ec as c,ib as e,na as B,oc as l,pc as b,qc as x,ub as w,xa as C,ya as v}from"./chunk-NHJLTSH3.js";function T(t,u){if(t&1&&I(0,"i",15),t&2){let i=c();L("fas fa-fw ",i.faIconClass," mb-4")}}function M(t,u){if(t&1&&(n(0,"div",7)(1,"h5",16),l(2),a()()),t&2){let i=c();e(2),b(i.subtitle)}}function h(t,u){if(t&1){let i=k();n(0,"button",17),m(1,"translate"),_("click",function(){C(i);let o=c();return v(o.$activeModal.dismiss("Dismiss"))}),l(2),m(3,"translate"),a()}t&2&&(f("aria-label",d(1,2,"form.button_close")),e(2),x(" ",d(3,4,"form.button_close")," "))}function D(t,u){if(t&1){let i=k();n(0,"button",17),m(1,"translate"),_("click",function(){C(i);let o=c();return v(o.$activeModal.dismiss("Dismiss"))}),l(2),m(3,"translate"),a()}t&2&&(f("aria-label",d(1,2,"form.button_close")),e(2),x(" ",d(3,4,"form.button_close")," "))}function V(t,u){if(t&1&&(n(0,"a",14),l(1),I(2,"i",18),a()),t&2){let i=c();S("href",i.ctaButtonLink,g),e(),x(" ",i.ctaButtonLabel," ")}}var U=(()=>{class t{$activeModal=B(E);title;subtitle;message;ctaButtonLabel;ctaButtonLink;faIconClass;constructor(){}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=w({type:t,selectors:[["ng-component"]],inputs:{title:"title",subtitle:"subtitle",message:"message",ctaButtonLabel:"ctaButtonLabel",ctaButtonLink:"ctaButtonLink",faIconClass:"faIconClass"},decls:20,vars:10,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],[2,"font-size","75px",3,"class"],["role","alert",1,"alert"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[2,"font-size","75px"],[1,"mb-0"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(r,o){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),a(),n(4,"button",3),m(5,"translate"),_("click",function(){return o.$activeModal.dismiss("Dismiss")}),n(6,"span",4),l(7,"\xD7"),a()()(),n(8,"div",5),p(9,T,1,3,"i",6)(10,M,3,1,"div",7),n(11,"p",8),l(12),a()(),n(13,"div",9)(14,"div",10),p(15,h,4,6,"button",11),a(),n(16,"div",12),p(17,D,4,6,"button",11),a(),n(18,"div",13),p(19,V,3,2,"a",14),a()()()),r&2&&(e(3),b(o.title),e(),f("aria-label",d(5,8,"form.button_close")),e(5),s(o.faIconClass?9:-1),e(),s(o.subtitle?10:-1),e(2),b(o.message),e(3),s(o.ctaButtonLink?15:-1),e(2),s(o.ctaButtonLink?-1:17),e(2),s(o.ctaButtonLink?19:-1))},dependencies:[y],encapsulation:2})}return t})();export{U as a};
1
+ import{m as y}from"./chunk-WFTXQQES.js";import{b as E}from"./chunk-675OFXLW.js";import{Bb as p,Cc as m,Dc as d,Lb as f,Mb as S,Qb as L,Rb as s,Wb as n,Xb as a,Yb as I,ac as k,dc as _,eb as g,ec as c,ib as e,na as B,oc as l,pc as b,qc as x,ub as w,xa as C,ya as v}from"./chunk-CKNHTRCL.js";function T(t,u){if(t&1&&I(0,"i",15),t&2){let i=c();L("fas fa-fw ",i.faIconClass," mb-4")}}function M(t,u){if(t&1&&(n(0,"div",7)(1,"h5",16),l(2),a()()),t&2){let i=c();e(2),b(i.subtitle)}}function h(t,u){if(t&1){let i=k();n(0,"button",17),m(1,"translate"),_("click",function(){C(i);let o=c();return v(o.$activeModal.dismiss("Dismiss"))}),l(2),m(3,"translate"),a()}t&2&&(f("aria-label",d(1,2,"form.button_close")),e(2),x(" ",d(3,4,"form.button_close")," "))}function D(t,u){if(t&1){let i=k();n(0,"button",17),m(1,"translate"),_("click",function(){C(i);let o=c();return v(o.$activeModal.dismiss("Dismiss"))}),l(2),m(3,"translate"),a()}t&2&&(f("aria-label",d(1,2,"form.button_close")),e(2),x(" ",d(3,4,"form.button_close")," "))}function V(t,u){if(t&1&&(n(0,"a",14),l(1),I(2,"i",18),a()),t&2){let i=c();S("href",i.ctaButtonLink,g),e(),x(" ",i.ctaButtonLabel," ")}}var U=(()=>{class t{$activeModal=B(y);title;subtitle;message;ctaButtonLabel;ctaButtonLink;faIconClass;constructor(){}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=w({type:t,selectors:[["ng-component"]],inputs:{title:"title",subtitle:"subtitle",message:"message",ctaButtonLabel:"ctaButtonLabel",ctaButtonLink:"ctaButtonLink",faIconClass:"faIconClass"},decls:20,vars:10,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","w-100","text-center"],[2,"font-size","75px",3,"class"],["role","alert",1,"alert"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[2,"font-size","75px"],[1,"mb-0"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(r,o){r&1&&(n(0,"div",0)(1,"div",1)(2,"h5",2),l(3),a(),n(4,"button",3),m(5,"translate"),_("click",function(){return o.$activeModal.dismiss("Dismiss")}),n(6,"span",4),l(7,"\xD7"),a()()(),n(8,"div",5),p(9,T,1,3,"i",6)(10,M,3,1,"div",7),n(11,"p",8),l(12),a()(),n(13,"div",9)(14,"div",10),p(15,h,4,6,"button",11),a(),n(16,"div",12),p(17,D,4,6,"button",11),a(),n(18,"div",13),p(19,V,3,2,"a",14),a()()()),r&2&&(e(3),b(o.title),e(),f("aria-label",d(5,8,"form.button_close")),e(5),s(o.faIconClass?9:-1),e(),s(o.subtitle?10:-1),e(2),b(o.message),e(3),s(o.ctaButtonLink?15:-1),e(2),s(o.ctaButtonLink?-1:17),e(2),s(o.ctaButtonLink?19:-1))},dependencies:[E],encapsulation:2})}return t})();export{U as a};
@@ -1 +1 @@
1
- import{c as Q,d as x,e as z,f as D,g as H,j as w,m as j,p as A,q as W,w as U,y as J,z as K}from"./chunk-UUOIJNVA.js";import{d as G}from"./chunk-EBVMWV7Q.js";import{c as q}from"./chunk-2U34OGZ2.js";import{b as T}from"./chunk-YMEOGTJF.js";import{a as P}from"./chunk-WLWKH3SS.js";import{b as O}from"./chunk-Q4VBD4HY.js";import{Bb as S,Cc as l,Dc as p,M as k,Mb as m,Rb as c,Wb as a,Xb as r,Yb as h,bd as R,dc as $,ec as I,h as y,hd as N,ib as i,lc as C,mc as L,na as g,oc as s,pc as d,qc as B,rb as v,ub as M,w as V,yc as f}from"./chunk-NHJLTSH3.js";var X=["password"],Y=["username"],Z=["otp"],ee=e=>({background:e}),F=e=>({"is-invalid":e});function te(e,_){if(e&1&&(a(0,"div")(1,"div",10),h(2,"i",11)(3,"input",12,0),a(5,"label",13),s(6),l(7,"translate"),r()(),a(8,"div",10),h(9,"i",14)(10,"input",15,1),a(12,"label",16),s(13),l(14,"translate"),r()()()),e&2){let t=I();i(3),m("ngClass",f(8,F,t.form.controls.username.dirty&&t.form.controls.username.errors)),i(3),d(p(7,4,"login.label_username")),i(4),m("ngClass",f(10,F,t.form.controls.password.dirty&&t.form.controls.password.errors)),i(3),d(p(14,6,"login.label_password"))}}function ne(e,_){if(e&1&&(a(0,"div")(1,"p",7),s(2),l(3,"translate"),r(),a(4,"div",10),h(5,"i",17)(6,"input",18,2),a(8,"label",19),s(9),l(10,"translate"),r()()()),e&2){let t=I();i(2),d(p(3,3,"users.setup_2fa_enter_code")),i(4),m("ngClass",f(7,F,t.form.controls.otp.dirty&&t.form.controls.otp.errors)),i(3),d(p(10,5,"login.label_2fa_code"))}}function ie(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.invalid_credentials")))}function oe(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.message_invalid_2fa_code")))}var Ce=(()=>{class e{$auth=g(q);$router=g(G);$settings=g(T);passwordInput=v("password");usernameInput=v("username");otpInput=v("otp");form;backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;targetRoute;constructor(){}ngOnInit(){this.form=new H({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(k(500)).subscribe(t=>{var n;let o=(n=this.passwordInput())==null?void 0:n.nativeElement.value;o&&o!==t.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield V(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let t=this.$settings.env.customWallpaperHash?`${P.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`:"/assets/snapshot.jpg";this.backgroundStyle=`url('${t}') center/cover`}})}onSubmit(){return y(this,null,function*(){var n,b,E;this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0;let t=(n=this.passwordInput())==null?void 0:n.nativeElement.value;t&&t!==this.form.get("password").value&&this.form.controls.password.setValue(t);let o=(b=this.usernameInput())==null?void 0:b.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let u=(E=this.otpInput())==null?void 0:E.nativeElement.value;u&&u!==this.form.get("otp").value&&this.form.controls.username.setValue(u)}yield this.$auth.login(this.form.getRawValue()).then(()=>{this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}).catch(u=>{u.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[x.required,x.minLength(6),x.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}),this.inProgress=!1})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["ng-component"]],viewQuery:function(o,n){o&1&&(C(n.passwordInput,X,5),C(n.usernameInput,Y,5),C(n.otpInput,Z,5)),o&2&&L(3)},decls:13,vars:12,consts:[["username",""],["password",""],["otp",""],[1,"login-container","d-flex","align-items-center","justify-content-center",3,"ngStyle"],[1,"card","card-body","mx-2","login-card"],["novalidate","",3,"ngSubmit","formGroup"],[1,"h4","text-center","mb-4"],[1,"text-center"],[1,"red-text"],["tabindex","3","type","submit",1,"btn","btn-primary",3,"disabled"],[1,"md-form"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-username"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2",1,"form-control","px-0",3,"ngClass"],["for","form-pass"],[1,"fas","fa-fw","fa-key","prefix","grey-text"],["formControlName","otp","type","text","id","form-ota","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-ota"]],template:function(o,n){o&1&&(a(0,"div",3)(1,"div",4)(2,"form",5),$("ngSubmit",function(){return n.onSubmit()}),a(3,"p",6),s(4,"Homebridge"),r(),S(5,te,15,12,"div")(6,ne,11,9,"div"),a(7,"div",7),S(8,ie,4,3,"p",8)(9,oe,4,3,"p",8),a(10,"button",9),s(11),l(12,"translate"),r()()()()()),o&2&&(m("ngStyle",f(10,ee,n.backgroundStyle)),i(2),m("formGroup",n.form),i(3),c(n.twoFactorCodeRequired?-1:5),i(),c(n.twoFactorCodeRequired?6:-1),i(2),c(n.invalidCredentials?8:-1),i(),c(n.invalid2faCode?9:-1),i(),m("disabled",n.form.invalid),i(),B(" ",p(12,8,"login.button_login")," "))},dependencies:[N,J,j,Q,z,D,U,K,A,W,R,O],styles:[".login-container[_ngcontent-%COMP%]{background-color:#f4f4f4;background-size:cover;position:absolute;top:0;bottom:0;right:0;left:0}.login-card[_ngcontent-%COMP%]{max-width:500px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (min-height: 800px){.login-card[_ngcontent-%COMP%]{margin-bottom:12em}}.login-logo[_ngcontent-%COMP%]{position:absolute;top:-35%;z-index:2000;max-width:450px}@media screen and (max-width: 450px){.login-logo[_ngcontent-%COMP%]{max-width:320px;top:-25%}}@media screen and (max-width: 320px){.login-logo[_ngcontent-%COMP%]{max-width:280px}}@media screen and (max-height: 450px){.login-logo[_ngcontent-%COMP%]{display:none}}"]})}return e})();export{Ce as a};
1
+ import{c as N,d as x,e as O,f as T,g as q,j as w,m as G,p as Q,q as z,w as D,y as H,z as j}from"./chunk-YLEC7AUG.js";import{d as W}from"./chunk-T3GI7KUT.js";import{c as K}from"./chunk-E6TOS5PQ.js";import{b as J}from"./chunk-R32JIOK7.js";import{j as U}from"./chunk-N2PCJZX2.js";import{b as A}from"./chunk-675OFXLW.js";import{Bb as S,Cc as l,Dc as p,M as V,Mb as m,Rb as c,Wb as a,Xb as r,Yb as h,bd as B,dc as M,ec as I,ed as R,h as y,ib as i,lc as C,mc as $,na as g,oc as s,pc as d,qc as L,rb as v,ub as k,w as P,yc as f}from"./chunk-CKNHTRCL.js";var X=["password"],Y=["username"],Z=["otp"],ee=e=>({background:e}),F=e=>({"is-invalid":e});function te(e,_){if(e&1&&(a(0,"div")(1,"div",10),h(2,"i",11)(3,"input",12,0),a(5,"label",13),s(6),l(7,"translate"),r()(),a(8,"div",10),h(9,"i",14)(10,"input",15,1),a(12,"label",16),s(13),l(14,"translate"),r()()()),e&2){let t=I();i(3),m("ngClass",f(8,F,t.form.controls.username.dirty&&t.form.controls.username.errors)),i(3),d(p(7,4,"login.label_username")),i(4),m("ngClass",f(10,F,t.form.controls.password.dirty&&t.form.controls.password.errors)),i(3),d(p(14,6,"login.label_password"))}}function ne(e,_){if(e&1&&(a(0,"div")(1,"p",7),s(2),l(3,"translate"),r(),a(4,"div",10),h(5,"i",17)(6,"input",18,2),a(8,"label",19),s(9),l(10,"translate"),r()()()),e&2){let t=I();i(2),d(p(3,3,"users.setup_2fa_enter_code")),i(4),m("ngClass",f(7,F,t.form.controls.otp.dirty&&t.form.controls.otp.errors)),i(3),d(p(10,5,"login.label_2fa_code"))}}function ie(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.invalid_credentials")))}function oe(e,_){e&1&&(a(0,"p",8)(1,"small"),s(2),l(3,"translate"),r()()),e&2&&(i(2),d(p(3,1,"login.message_invalid_2fa_code")))}var Ce=(()=>{class e{$auth=g(K);$router=g(W);$settings=g(J);passwordInput=v("password");usernameInput=v("username");otpInput=v("otp");form;backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;targetRoute;constructor(){}ngOnInit(){this.form=new q({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(V(500)).subscribe(t=>{var n;let o=(n=this.passwordInput())==null?void 0:n.nativeElement.value;o&&o!==t.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield P(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let t=this.$settings.env.customWallpaperHash?`${U.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`:"/assets/snapshot.jpg";this.backgroundStyle=`url('${t}') center/cover`}})}onSubmit(){return y(this,null,function*(){var n,b,E;this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0;let t=(n=this.passwordInput())==null?void 0:n.nativeElement.value;t&&t!==this.form.get("password").value&&this.form.controls.password.setValue(t);let o=(b=this.usernameInput())==null?void 0:b.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let u=(E=this.otpInput())==null?void 0:E.nativeElement.value;u&&u!==this.form.get("otp").value&&this.form.controls.username.setValue(u)}yield this.$auth.login(this.form.getRawValue()).then(()=>{this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}).catch(u=>{u.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[x.required,x.minLength(6),x.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}),this.inProgress=!1})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],viewQuery:function(o,n){o&1&&(C(n.passwordInput,X,5),C(n.usernameInput,Y,5),C(n.otpInput,Z,5)),o&2&&$(3)},decls:13,vars:12,consts:[["username",""],["password",""],["otp",""],[1,"login-container","d-flex","align-items-center","justify-content-center",3,"ngStyle"],[1,"card","card-body","mx-2","login-card"],["novalidate","",3,"ngSubmit","formGroup"],[1,"h4","text-center","mb-4"],[1,"text-center"],[1,"red-text"],["tabindex","3","type","submit",1,"btn","btn-primary",3,"disabled"],[1,"md-form"],[1,"fas","fa-fw","fa-user","prefix","grey-text"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-username"],[1,"fas","fa-fw","fa-lock","prefix","grey-text"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2",1,"form-control","px-0",3,"ngClass"],["for","form-pass"],[1,"fas","fa-fw","fa-key","prefix","grey-text"],["formControlName","otp","type","text","id","form-ota","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","px-0",3,"ngClass"],["for","form-ota"]],template:function(o,n){o&1&&(a(0,"div",3)(1,"div",4)(2,"form",5),M("ngSubmit",function(){return n.onSubmit()}),a(3,"p",6),s(4,"Homebridge"),r(),S(5,te,15,12,"div")(6,ne,11,9,"div"),a(7,"div",7),S(8,ie,4,3,"p",8)(9,oe,4,3,"p",8),a(10,"button",9),s(11),l(12,"translate"),r()()()()()),o&2&&(m("ngStyle",f(10,ee,n.backgroundStyle)),i(2),m("formGroup",n.form),i(3),c(n.twoFactorCodeRequired?-1:5),i(),c(n.twoFactorCodeRequired?6:-1),i(2),c(n.invalidCredentials?8:-1),i(),c(n.invalid2faCode?9:-1),i(),m("disabled",n.form.invalid),i(),L(" ",p(12,8,"login.button_login")," "))},dependencies:[R,H,G,N,O,T,D,j,Q,z,B,A],styles:[".login-container[_ngcontent-%COMP%]{background-color:#f4f4f4;background-size:cover;position:absolute;top:0;bottom:0;right:0;left:0}.login-card[_ngcontent-%COMP%]{max-width:500px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (min-height: 800px){.login-card[_ngcontent-%COMP%]{margin-bottom:12em}}.login-logo[_ngcontent-%COMP%]{position:absolute;top:-35%;z-index:2000;max-width:450px}@media screen and (max-width: 450px){.login-logo[_ngcontent-%COMP%]{max-width:320px;top:-25%}}@media screen and (max-width: 320px){.login-logo[_ngcontent-%COMP%]{max-width:280px}}@media screen and (max-height: 450px){.login-logo[_ngcontent-%COMP%]{display:none}}"]})}return e})();export{Ce as a};
@@ -1,4 +1,4 @@
1
- import{Yb as Ut,e as d,g as He,h as Lt,lc as Dt,mc as Ft,rb as _t,ub as xt,wa as qt}from"./chunk-NHJLTSH3.js";var zt=d((Dn,kt)=>{kt.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}});var I=d(P=>{var st,Ve=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];P.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};P.getSymbolTotalCodewords=function(t){return Ve[t]};P.getBCHDigit=function(n){let t=0;for(;n!==0;)t++,n>>>=1;return t};P.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');st=t};P.isKanjiModeEnabled=function(){return typeof st<"u"};P.toSJIS=function(t){return st(t)}});var Q=d(w=>{w.L={bit:1};w.M={bit:0};w.Q={bit:3};w.H={bit:2};function Ke(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return w.L;case"m":case"medium":return w.M;case"q":case"quartile":return w.Q;case"h":case"high":return w.H;default:throw new Error("Unknown EC Level: "+n)}}w.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4};w.from=function(t,e){if(w.isValid(t))return t;try{return Ke(t)}catch{return e}}});var Kt=d((zn,Vt)=>{function Ht(){this.buffer=[],this.length=0}Ht.prototype={get:function(n){let t=Math.floor(n/8);return(this.buffer[t]>>>7-n%8&1)===1},put:function(n,t){for(let e=0;e<t;e++)this.putBit((n>>>t-e-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(n){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),n&&(this.buffer[t]|=128>>>this.length%8),this.length++}};Vt.exports=Ht});var Ot=d((Hn,Jt)=>{function k(n){if(!n||n<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=n,this.data=new Uint8Array(n*n),this.reservedBit=new Uint8Array(n*n)}k.prototype.set=function(n,t,e,r){let o=n*this.size+t;this.data[o]=e,r&&(this.reservedBit[o]=!0)};k.prototype.get=function(n,t){return this.data[n*this.size+t]};k.prototype.xor=function(n,t,e){this.data[n*this.size+t]^=e};k.prototype.isReserved=function(n,t){return this.reservedBit[n*this.size+t]};Jt.exports=k});var Yt=d(j=>{var Je=I().getSymbolSize;j.getRowColCoords=function(t){if(t===1)return[];let e=Math.floor(t/7)+2,r=Je(t),o=r===145?26:Math.ceil((r-13)/(2*e-2))*2,i=[r-7];for(let s=1;s<e-1;s++)i[s]=i[s-1]-o;return i.push(6),i.reverse()};j.getPositions=function(t){let e=[],r=j.getRowColCoords(t),o=r.length;for(let i=0;i<o;i++)for(let s=0;s<o;s++)i===0&&s===0||i===0&&s===o-1||i===o-1&&s===0||e.push([r[i],r[s]]);return e}});var vt=d(jt=>{var Oe=I().getSymbolSize,Qt=7;jt.getPositions=function(t){let e=Oe(t);return[[0,0],[e-Qt,0],[0,e-Qt]]}});var Gt=d(g=>{g.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var b={N1:3,N2:3,N3:40,N4:10};g.isValid=function(t){return t!=null&&t!==""&&!isNaN(t)&&t>=0&&t<=7};g.from=function(t){return g.isValid(t)?parseInt(t,10):void 0};g.getPenaltyN1=function(t){let e=t.size,r=0,o=0,i=0,s=null,u=null;for(let c=0;c<e;c++){o=i=0,s=u=null;for(let l=0;l<e;l++){let a=t.get(c,l);a===s?o++:(o>=5&&(r+=b.N1+(o-5)),s=a,o=1),a=t.get(l,c),a===u?i++:(i>=5&&(r+=b.N1+(i-5)),u=a,i=1)}o>=5&&(r+=b.N1+(o-5)),i>=5&&(r+=b.N1+(i-5))}return r};g.getPenaltyN2=function(t){let e=t.size,r=0;for(let o=0;o<e-1;o++)for(let i=0;i<e-1;i++){let s=t.get(o,i)+t.get(o,i+1)+t.get(o+1,i)+t.get(o+1,i+1);(s===4||s===0)&&r++}return r*b.N2};g.getPenaltyN3=function(t){let e=t.size,r=0,o=0,i=0;for(let s=0;s<e;s++){o=i=0;for(let u=0;u<e;u++)o=o<<1&2047|t.get(s,u),u>=10&&(o===1488||o===93)&&r++,i=i<<1&2047|t.get(u,s),u>=10&&(i===1488||i===93)&&r++}return r*b.N3};g.getPenaltyN4=function(t){let e=0,r=t.data.length;for(let i=0;i<r;i++)e+=t.data[i];return Math.abs(Math.ceil(e*100/r/5)-10)*b.N4};function Ye(n,t,e){switch(n){case g.Patterns.PATTERN000:return(t+e)%2===0;case g.Patterns.PATTERN001:return t%2===0;case g.Patterns.PATTERN010:return e%3===0;case g.Patterns.PATTERN011:return(t+e)%3===0;case g.Patterns.PATTERN100:return(Math.floor(t/2)+Math.floor(e/3))%2===0;case g.Patterns.PATTERN101:return t*e%2+t*e%3===0;case g.Patterns.PATTERN110:return(t*e%2+t*e%3)%2===0;case g.Patterns.PATTERN111:return(t*e%3+(t+e)%2)%2===0;default:throw new Error("bad maskPattern:"+n)}}g.applyMask=function(t,e){let r=e.size;for(let o=0;o<r;o++)for(let i=0;i<r;i++)e.isReserved(i,o)||e.xor(i,o,Ye(t,i,o))};g.getBestMask=function(t,e){let r=Object.keys(g.Patterns).length,o=0,i=1/0;for(let s=0;s<r;s++){e(s),g.applyMask(s,t);let u=g.getPenaltyN1(t)+g.getPenaltyN2(t)+g.getPenaltyN3(t)+g.getPenaltyN4(t);g.applyMask(s,t),u<i&&(i=u,o=s)}return o}});var ct=d(ut=>{var N=Q(),v=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],G=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];ut.getBlocksCount=function(t,e){switch(e){case N.L:return v[(t-1)*4+0];case N.M:return v[(t-1)*4+1];case N.Q:return v[(t-1)*4+2];case N.H:return v[(t-1)*4+3];default:return}};ut.getTotalCodewordsCount=function(t,e){switch(e){case N.L:return G[(t-1)*4+0];case N.M:return G[(t-1)*4+1];case N.Q:return G[(t-1)*4+2];case N.H:return G[(t-1)*4+3];default:return}}});var $t=d(W=>{var z=new Uint8Array(512),$=new Uint8Array(256);(function(){let t=1;for(let e=0;e<255;e++)z[e]=t,$[t]=e,t<<=1,t&256&&(t^=285);for(let e=255;e<512;e++)z[e]=z[e-255]})();W.log=function(t){if(t<1)throw new Error("log("+t+")");return $[t]};W.exp=function(t){return z[t]};W.mul=function(t,e){return t===0||e===0?0:z[$[t]+$[e]]}});var Wt=d(H=>{var lt=$t();H.mul=function(t,e){let r=new Uint8Array(t.length+e.length-1);for(let o=0;o<t.length;o++)for(let i=0;i<e.length;i++)r[o+i]^=lt.mul(t[o],e[i]);return r};H.mod=function(t,e){let r=new Uint8Array(t);for(;r.length-e.length>=0;){let o=r[0];for(let s=0;s<e.length;s++)r[s]^=lt.mul(e[s],o);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r};H.generateECPolynomial=function(t){let e=new Uint8Array([1]);for(let r=0;r<t;r++)e=H.mul(e,new Uint8Array([1,lt.exp(r)]));return e}});var te=d((jn,Xt)=>{var Zt=Wt();function at(n){this.genPoly=void 0,this.degree=n,this.degree&&this.initialize(this.degree)}at.prototype.initialize=function(t){this.degree=t,this.genPoly=Zt.generateECPolynomial(this.degree)};at.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");let e=new Uint8Array(t.length+this.degree);e.set(t);let r=Zt.mod(e,this.genPoly),o=this.degree-r.length;if(o>0){let i=new Uint8Array(this.degree);return i.set(r,o),i}return r};Xt.exports=at});var ft=d(ee=>{ee.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}});var dt=d(B=>{var ne="[0-9]+",Qe="[A-Z $%*+\\-./:]+",V="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";V=V.replace(/u/g,"\\u");var je="(?:(?![A-Z0-9 $%*+\\-./:]|"+V+`)(?:.|[\r
1
+ import{Yb as Ut,e as d,g as He,h as Lt,lc as Dt,mc as Ft,rb as _t,ub as xt,wa as qt}from"./chunk-CKNHTRCL.js";var zt=d((Dn,kt)=>{kt.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}});var I=d(P=>{var st,Ve=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];P.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};P.getSymbolTotalCodewords=function(t){return Ve[t]};P.getBCHDigit=function(n){let t=0;for(;n!==0;)t++,n>>>=1;return t};P.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');st=t};P.isKanjiModeEnabled=function(){return typeof st<"u"};P.toSJIS=function(t){return st(t)}});var Q=d(w=>{w.L={bit:1};w.M={bit:0};w.Q={bit:3};w.H={bit:2};function Ke(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return w.L;case"m":case"medium":return w.M;case"q":case"quartile":return w.Q;case"h":case"high":return w.H;default:throw new Error("Unknown EC Level: "+n)}}w.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4};w.from=function(t,e){if(w.isValid(t))return t;try{return Ke(t)}catch{return e}}});var Kt=d((zn,Vt)=>{function Ht(){this.buffer=[],this.length=0}Ht.prototype={get:function(n){let t=Math.floor(n/8);return(this.buffer[t]>>>7-n%8&1)===1},put:function(n,t){for(let e=0;e<t;e++)this.putBit((n>>>t-e-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(n){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),n&&(this.buffer[t]|=128>>>this.length%8),this.length++}};Vt.exports=Ht});var Ot=d((Hn,Jt)=>{function k(n){if(!n||n<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=n,this.data=new Uint8Array(n*n),this.reservedBit=new Uint8Array(n*n)}k.prototype.set=function(n,t,e,r){let o=n*this.size+t;this.data[o]=e,r&&(this.reservedBit[o]=!0)};k.prototype.get=function(n,t){return this.data[n*this.size+t]};k.prototype.xor=function(n,t,e){this.data[n*this.size+t]^=e};k.prototype.isReserved=function(n,t){return this.reservedBit[n*this.size+t]};Jt.exports=k});var Yt=d(j=>{var Je=I().getSymbolSize;j.getRowColCoords=function(t){if(t===1)return[];let e=Math.floor(t/7)+2,r=Je(t),o=r===145?26:Math.ceil((r-13)/(2*e-2))*2,i=[r-7];for(let s=1;s<e-1;s++)i[s]=i[s-1]-o;return i.push(6),i.reverse()};j.getPositions=function(t){let e=[],r=j.getRowColCoords(t),o=r.length;for(let i=0;i<o;i++)for(let s=0;s<o;s++)i===0&&s===0||i===0&&s===o-1||i===o-1&&s===0||e.push([r[i],r[s]]);return e}});var vt=d(jt=>{var Oe=I().getSymbolSize,Qt=7;jt.getPositions=function(t){let e=Oe(t);return[[0,0],[e-Qt,0],[0,e-Qt]]}});var Gt=d(g=>{g.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var b={N1:3,N2:3,N3:40,N4:10};g.isValid=function(t){return t!=null&&t!==""&&!isNaN(t)&&t>=0&&t<=7};g.from=function(t){return g.isValid(t)?parseInt(t,10):void 0};g.getPenaltyN1=function(t){let e=t.size,r=0,o=0,i=0,s=null,u=null;for(let c=0;c<e;c++){o=i=0,s=u=null;for(let l=0;l<e;l++){let a=t.get(c,l);a===s?o++:(o>=5&&(r+=b.N1+(o-5)),s=a,o=1),a=t.get(l,c),a===u?i++:(i>=5&&(r+=b.N1+(i-5)),u=a,i=1)}o>=5&&(r+=b.N1+(o-5)),i>=5&&(r+=b.N1+(i-5))}return r};g.getPenaltyN2=function(t){let e=t.size,r=0;for(let o=0;o<e-1;o++)for(let i=0;i<e-1;i++){let s=t.get(o,i)+t.get(o,i+1)+t.get(o+1,i)+t.get(o+1,i+1);(s===4||s===0)&&r++}return r*b.N2};g.getPenaltyN3=function(t){let e=t.size,r=0,o=0,i=0;for(let s=0;s<e;s++){o=i=0;for(let u=0;u<e;u++)o=o<<1&2047|t.get(s,u),u>=10&&(o===1488||o===93)&&r++,i=i<<1&2047|t.get(u,s),u>=10&&(i===1488||i===93)&&r++}return r*b.N3};g.getPenaltyN4=function(t){let e=0,r=t.data.length;for(let i=0;i<r;i++)e+=t.data[i];return Math.abs(Math.ceil(e*100/r/5)-10)*b.N4};function Ye(n,t,e){switch(n){case g.Patterns.PATTERN000:return(t+e)%2===0;case g.Patterns.PATTERN001:return t%2===0;case g.Patterns.PATTERN010:return e%3===0;case g.Patterns.PATTERN011:return(t+e)%3===0;case g.Patterns.PATTERN100:return(Math.floor(t/2)+Math.floor(e/3))%2===0;case g.Patterns.PATTERN101:return t*e%2+t*e%3===0;case g.Patterns.PATTERN110:return(t*e%2+t*e%3)%2===0;case g.Patterns.PATTERN111:return(t*e%3+(t+e)%2)%2===0;default:throw new Error("bad maskPattern:"+n)}}g.applyMask=function(t,e){let r=e.size;for(let o=0;o<r;o++)for(let i=0;i<r;i++)e.isReserved(i,o)||e.xor(i,o,Ye(t,i,o))};g.getBestMask=function(t,e){let r=Object.keys(g.Patterns).length,o=0,i=1/0;for(let s=0;s<r;s++){e(s),g.applyMask(s,t);let u=g.getPenaltyN1(t)+g.getPenaltyN2(t)+g.getPenaltyN3(t)+g.getPenaltyN4(t);g.applyMask(s,t),u<i&&(i=u,o=s)}return o}});var ct=d(ut=>{var N=Q(),v=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],G=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];ut.getBlocksCount=function(t,e){switch(e){case N.L:return v[(t-1)*4+0];case N.M:return v[(t-1)*4+1];case N.Q:return v[(t-1)*4+2];case N.H:return v[(t-1)*4+3];default:return}};ut.getTotalCodewordsCount=function(t,e){switch(e){case N.L:return G[(t-1)*4+0];case N.M:return G[(t-1)*4+1];case N.Q:return G[(t-1)*4+2];case N.H:return G[(t-1)*4+3];default:return}}});var $t=d(W=>{var z=new Uint8Array(512),$=new Uint8Array(256);(function(){let t=1;for(let e=0;e<255;e++)z[e]=t,$[t]=e,t<<=1,t&256&&(t^=285);for(let e=255;e<512;e++)z[e]=z[e-255]})();W.log=function(t){if(t<1)throw new Error("log("+t+")");return $[t]};W.exp=function(t){return z[t]};W.mul=function(t,e){return t===0||e===0?0:z[$[t]+$[e]]}});var Wt=d(H=>{var lt=$t();H.mul=function(t,e){let r=new Uint8Array(t.length+e.length-1);for(let o=0;o<t.length;o++)for(let i=0;i<e.length;i++)r[o+i]^=lt.mul(t[o],e[i]);return r};H.mod=function(t,e){let r=new Uint8Array(t);for(;r.length-e.length>=0;){let o=r[0];for(let s=0;s<e.length;s++)r[s]^=lt.mul(e[s],o);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r};H.generateECPolynomial=function(t){let e=new Uint8Array([1]);for(let r=0;r<t;r++)e=H.mul(e,new Uint8Array([1,lt.exp(r)]));return e}});var te=d((jn,Xt)=>{var Zt=Wt();function at(n){this.genPoly=void 0,this.degree=n,this.degree&&this.initialize(this.degree)}at.prototype.initialize=function(t){this.degree=t,this.genPoly=Zt.generateECPolynomial(this.degree)};at.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");let e=new Uint8Array(t.length+this.degree);e.set(t);let r=Zt.mod(e,this.genPoly),o=this.degree-r.length;if(o>0){let i=new Uint8Array(this.degree);return i.set(r,o),i}return r};Xt.exports=at});var ft=d(ee=>{ee.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}});var dt=d(B=>{var ne="[0-9]+",Qe="[A-Z $%*+\\-./:]+",V="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";V=V.replace(/u/g,"\\u");var je="(?:(?![A-Z0-9 $%*+\\-./:]|"+V+`)(?:.|[\r
2
2
  ]))+`;B.KANJI=new RegExp(V,"g");B.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");B.BYTE=new RegExp(je,"g");B.NUMERIC=new RegExp(ne,"g");B.ALPHANUMERIC=new RegExp(Qe,"g");var ve=new RegExp("^"+V+"$"),Ge=new RegExp("^"+ne+"$"),$e=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");B.testKanji=function(t){return ve.test(t)};B.testNumeric=function(t){return Ge.test(t)};B.testAlphanumeric=function(t){return $e.test(t)}});var M=d(p=>{var We=ft(),gt=dt();p.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]};p.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]};p.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]};p.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]};p.MIXED={bit:-1};p.getCharCountIndicator=function(t,e){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!We.isValid(e))throw new Error("Invalid version: "+e);return e>=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]};p.getBestModeForData=function(t){return gt.testNumeric(t)?p.NUMERIC:gt.testAlphanumeric(t)?p.ALPHANUMERIC:gt.testKanji(t)?p.KANJI:p.BYTE};p.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")};p.isValid=function(t){return t&&t.bit&&t.ccBits};function Ze(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"numeric":return p.NUMERIC;case"alphanumeric":return p.ALPHANUMERIC;case"kanji":return p.KANJI;case"byte":return p.BYTE;default:throw new Error("Unknown mode: "+n)}}p.from=function(t,e){if(p.isValid(t))return t;try{return Ze(t)}catch{return e}}});var ue=d(R=>{var Z=I(),Xe=ct(),re=Q(),S=M(),ht=ft(),ie=7973,oe=Z.getBCHDigit(ie);function tn(n,t,e){for(let r=1;r<=40;r++)if(t<=R.getCapacity(r,e,n))return r}function se(n,t){return S.getCharCountIndicator(n,t)+4}function en(n,t){let e=0;return n.forEach(function(r){let o=se(r.mode,t);e+=o+r.getBitsLength()}),e}function nn(n,t){for(let e=1;e<=40;e++)if(en(n,e)<=R.getCapacity(e,t,S.MIXED))return e}R.from=function(t,e){return ht.isValid(t)?parseInt(t,10):e};R.getCapacity=function(t,e,r){if(!ht.isValid(t))throw new Error("Invalid QR Code version");typeof r>"u"&&(r=S.BYTE);let o=Z.getSymbolTotalCodewords(t),i=Xe.getTotalCodewordsCount(t,e),s=(o-i)*8;if(r===S.MIXED)return s;let u=s-se(r,t);switch(r){case S.NUMERIC:return Math.floor(u/10*3);case S.ALPHANUMERIC:return Math.floor(u/11*2);case S.KANJI:return Math.floor(u/13);case S.BYTE:default:return Math.floor(u/8)}};R.getBestVersionForData=function(t,e){let r,o=re.from(e,re.M);if(Array.isArray(t)){if(t.length>1)return nn(t,o);if(t.length===0)return 1;r=t[0]}else r=t;return tn(r.mode,r.getLength(),o)};R.getEncodedBits=function(t){if(!ht.isValid(t)||t<7)throw new Error("Invalid QR Code version");let e=t<<12;for(;Z.getBCHDigit(e)-oe>=0;)e^=ie<<Z.getBCHDigit(e)-oe;return t<<12|e}});var fe=d(ae=>{var pt=I(),le=1335,rn=21522,ce=pt.getBCHDigit(le);ae.getEncodedBits=function(t,e){let r=t.bit<<3|e,o=r<<10;for(;pt.getBCHDigit(o)-ce>=0;)o^=le<<pt.getBCHDigit(o)-ce;return(r<<10|o)^rn}});var ge=d((Xn,de)=>{var on=M();function _(n){this.mode=on.NUMERIC,this.data=n.toString()}_.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};_.prototype.getLength=function(){return this.data.length};_.prototype.getBitsLength=function(){return _.getBitsLength(this.data.length)};_.prototype.write=function(t){let e,r,o;for(e=0;e+3<=this.data.length;e+=3)r=this.data.substr(e,3),o=parseInt(r,10),t.put(o,10);let i=this.data.length-e;i>0&&(r=this.data.substr(e),o=parseInt(r,10),t.put(o,i*3+1))};de.exports=_});var pe=d((tr,he)=>{var sn=M(),mt=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function x(n){this.mode=sn.ALPHANUMERIC,this.data=n}x.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};x.prototype.getLength=function(){return this.data.length};x.prototype.getBitsLength=function(){return x.getBitsLength(this.data.length)};x.prototype.write=function(t){let e;for(e=0;e+2<=this.data.length;e+=2){let r=mt.indexOf(this.data[e])*45;r+=mt.indexOf(this.data[e+1]),t.put(r,11)}this.data.length%2&&t.put(mt.indexOf(this.data[e]),6)};he.exports=x});var we=d((er,me)=>{var un=M();function U(n){this.mode=un.BYTE,typeof n=="string"?this.data=new TextEncoder().encode(n):this.data=new Uint8Array(n)}U.getBitsLength=function(t){return t*8};U.prototype.getLength=function(){return this.data.length};U.prototype.getBitsLength=function(){return U.getBitsLength(this.data.length)};U.prototype.write=function(n){for(let t=0,e=this.data.length;t<e;t++)n.put(this.data[t],8)};me.exports=U});var Ee=d((nr,ye)=>{var cn=M(),ln=I();function D(n){this.mode=cn.KANJI,this.data=n}D.getBitsLength=function(t){return t*13};D.prototype.getLength=function(){return this.data.length};D.prototype.getBitsLength=function(){return D.getBitsLength(this.data.length)};D.prototype.write=function(n){let t;for(t=0;t<this.data.length;t++){let e=ln.toSJIS(this.data[t]);if(e>=33088&&e<=40956)e-=33088;else if(e>=57408&&e<=60351)e-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
3
3
  Make sure your charset is UTF-8`);e=(e>>>8&255)*192+(e&255),n.put(e,13)}};ye.exports=D});var Ce=d((rr,wt)=>{"use strict";var K={single_source_shortest_paths:function(n,t,e){var r={},o={};o[t]=0;var i=K.PriorityQueue.make();i.push(t,0);for(var s,u,c,l,a,m,h,y,A;!i.empty();){s=i.pop(),u=s.value,l=s.cost,a=n[u]||{};for(c in a)a.hasOwnProperty(c)&&(m=a[c],h=l+m,y=o[c],A=typeof o[c]>"u",(A||y>h)&&(o[c]=h,i.push(c,h),r[c]=u))}if(typeof e<"u"&&typeof o[e]>"u"){var T=["Could not find a path from ",t," to ",e,"."].join("");throw new Error(T)}return r},extract_shortest_path_from_predecessor_list:function(n,t){for(var e=[],r=t,o;r;)e.push(r),o=n[r],r=n[r];return e.reverse(),e},find_path:function(n,t,e){var r=K.single_source_shortest_paths(n,t,e);return K.extract_shortest_path_from_predecessor_list(r,e)},PriorityQueue:{make:function(n){var t=K.PriorityQueue,e={},r;n=n||{};for(r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e.queue=[],e.sorter=n.sorter||t.default_sorter,e},default_sorter:function(n,t){return n.cost-t.cost},push:function(n,t){var e={value:n,cost:t};this.queue.push(e),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof wt<"u"&&(wt.exports=K)});var Pe=d(F=>{var f=M(),Te=ge(),Ie=pe(),Ne=we(),Me=Ee(),J=dt(),X=I(),an=Ce();function Be(n){return unescape(encodeURIComponent(n)).length}function O(n,t,e){let r=[],o;for(;(o=n.exec(e))!==null;)r.push({data:o[0],index:o.index,mode:t,length:o[0].length});return r}function Se(n){let t=O(J.NUMERIC,f.NUMERIC,n),e=O(J.ALPHANUMERIC,f.ALPHANUMERIC,n),r,o;return X.isKanjiModeEnabled()?(r=O(J.BYTE,f.BYTE,n),o=O(J.KANJI,f.KANJI,n)):(r=O(J.BYTE_KANJI,f.BYTE,n),o=[]),t.concat(e,r,o).sort(function(s,u){return s.index-u.index}).map(function(s){return{data:s.data,mode:s.mode,length:s.length}})}function yt(n,t){switch(t){case f.NUMERIC:return Te.getBitsLength(n);case f.ALPHANUMERIC:return Ie.getBitsLength(n);case f.KANJI:return Me.getBitsLength(n);case f.BYTE:return Ne.getBitsLength(n)}}function fn(n){return n.reduce(function(t,e){let r=t.length-1>=0?t[t.length-1]:null;return r&&r.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)},[])}function dn(n){let t=[];for(let e=0;e<n.length;e++){let r=n[e];switch(r.mode){case f.NUMERIC:t.push([r,{data:r.data,mode:f.ALPHANUMERIC,length:r.length},{data:r.data,mode:f.BYTE,length:r.length}]);break;case f.ALPHANUMERIC:t.push([r,{data:r.data,mode:f.BYTE,length:r.length}]);break;case f.KANJI:t.push([r,{data:r.data,mode:f.BYTE,length:Be(r.data)}]);break;case f.BYTE:t.push([{data:r.data,mode:f.BYTE,length:Be(r.data)}])}}return t}function gn(n,t){let e={},r={start:{}},o=["start"];for(let i=0;i<n.length;i++){let s=n[i],u=[];for(let c=0;c<s.length;c++){let l=s[c],a=""+i+c;u.push(a),e[a]={node:l,lastCount:0},r[a]={};for(let m=0;m<o.length;m++){let h=o[m];e[h]&&e[h].node.mode===l.mode?(r[h][a]=yt(e[h].lastCount+l.length,l.mode)-yt(e[h].lastCount,l.mode),e[h].lastCount+=l.length):(e[h]&&(e[h].lastCount=l.length),r[h][a]=yt(l.length,l.mode)+4+f.getCharCountIndicator(l.mode,t))}}o=u}for(let i=0;i<o.length;i++)r[o[i]].end=0;return{map:r,table:e}}function Ae(n,t){let e,r=f.getBestModeForData(n);if(e=f.from(t,r),e!==f.BYTE&&e.bit<r.bit)throw new Error('"'+n+'" cannot be encoded with mode '+f.toString(e)+`.
4
4
  Suggested mode is: `+f.toString(r));switch(e===f.KANJI&&!X.isKanjiModeEnabled()&&(e=f.BYTE),e){case f.NUMERIC:return new Te(n);case f.ALPHANUMERIC:return new Ie(n);case f.KANJI:return new Me(n);case f.BYTE:return new Ne(n)}}F.fromArray=function(t){return t.reduce(function(e,r){return typeof r=="string"?e.push(Ae(r,null)):r.data&&e.push(Ae(r.data,r.mode)),e},[])};F.fromString=function(t,e){let r=Se(t,X.isKanjiModeEnabled()),o=dn(r),i=gn(o,e),s=an.find_path(i.map,"start","end"),u=[];for(let c=1;c<s.length-1;c++)u.push(i.table[s[c]].node);return F.fromArray(fn(u))};F.rawSplit=function(t){return F.fromArray(Se(t,X.isKanjiModeEnabled()))}});var Re=d(be=>{var et=I(),Et=Q(),hn=Kt(),pn=Ot(),mn=Yt(),wn=vt(),At=Gt(),Tt=ct(),yn=te(),tt=ue(),En=fe(),Cn=M(),Ct=Pe();function Bn(n,t){let e=n.size,r=wn.getPositions(t);for(let o=0;o<r.length;o++){let i=r[o][0],s=r[o][1];for(let u=-1;u<=7;u++)if(!(i+u<=-1||e<=i+u))for(let c=-1;c<=7;c++)s+c<=-1||e<=s+c||(u>=0&&u<=6&&(c===0||c===6)||c>=0&&c<=6&&(u===0||u===6)||u>=2&&u<=4&&c>=2&&c<=4?n.set(i+u,s+c,!0,!0):n.set(i+u,s+c,!1,!0))}}function An(n){let t=n.size;for(let e=8;e<t-8;e++){let r=e%2===0;n.set(e,6,r,!0),n.set(6,e,r,!0)}}function Tn(n,t){let e=mn.getPositions(t);for(let r=0;r<e.length;r++){let o=e[r][0],i=e[r][1];for(let s=-2;s<=2;s++)for(let u=-2;u<=2;u++)s===-2||s===2||u===-2||u===2||s===0&&u===0?n.set(o+s,i+u,!0,!0):n.set(o+s,i+u,!1,!0)}}function In(n,t){let e=n.size,r=tt.getEncodedBits(t),o,i,s;for(let u=0;u<18;u++)o=Math.floor(u/3),i=u%3+e-8-3,s=(r>>u&1)===1,n.set(o,i,s,!0),n.set(i,o,s,!0)}function Bt(n,t,e){let r=n.size,o=En.getEncodedBits(t,e),i,s;for(i=0;i<15;i++)s=(o>>i&1)===1,i<6?n.set(i,8,s,!0):i<8?n.set(i+1,8,s,!0):n.set(r-15+i,8,s,!0),i<8?n.set(8,r-i-1,s,!0):i<9?n.set(8,15-i-1+1,s,!0):n.set(8,15-i-1,s,!0);n.set(r-8,8,1,!0)}function Nn(n,t){let e=n.size,r=-1,o=e-1,i=7,s=0;for(let u=e-1;u>0;u-=2)for(u===6&&u--;;){for(let c=0;c<2;c++)if(!n.isReserved(o,u-c)){let l=!1;s<t.length&&(l=(t[s]>>>i&1)===1),n.set(o,u-c,l),i--,i===-1&&(s++,i=7)}if(o+=r,o<0||e<=o){o-=r,r=-r;break}}}function Mn(n,t,e){let r=new hn;e.forEach(function(c){r.put(c.mode.bit,4),r.put(c.getLength(),Cn.getCharCountIndicator(c.mode,n)),c.write(r)});let o=et.getSymbolTotalCodewords(n),i=Tt.getTotalCodewordsCount(n,t),s=(o-i)*8;for(r.getLengthInBits()+4<=s&&r.put(0,4);r.getLengthInBits()%8!==0;)r.putBit(0);let u=(s-r.getLengthInBits())/8;for(let c=0;c<u;c++)r.put(c%2?17:236,8);return Sn(r,n,t)}function Sn(n,t,e){let r=et.getSymbolTotalCodewords(t),o=Tt.getTotalCodewordsCount(t,e),i=r-o,s=Tt.getBlocksCount(t,e),u=r%s,c=s-u,l=Math.floor(r/s),a=Math.floor(i/s),m=a+1,h=l-a,y=new yn(h),A=0,T=new Array(s),bt=new Array(s),rt=0,ze=new Uint8Array(n.buffer);for(let q=0;q<s;q++){let it=q<c?a:m;T[q]=ze.slice(A,A+it),bt[q]=y.encode(T[q]),A+=it,rt=Math.max(rt,it)}let ot=new Uint8Array(r),Rt=0,E,C;for(E=0;E<rt;E++)for(C=0;C<s;C++)E<T[C].length&&(ot[Rt++]=T[C][E]);for(E=0;E<h;E++)for(C=0;C<s;C++)ot[Rt++]=bt[C][E];return ot}function Pn(n,t,e,r){let o;if(Array.isArray(n))o=Ct.fromArray(n);else if(typeof n=="string"){let l=t;if(!l){let a=Ct.rawSplit(n);l=tt.getBestVersionForData(a,e)}o=Ct.fromString(n,l||40)}else throw new Error("Invalid data");let i=tt.getBestVersionForData(o,e);if(!i)throw new Error("The amount of data is too big to be stored in a QR Code");if(!t)t=i;else if(t<i)throw new Error(`
@@ -1,4 +1,4 @@
1
- import{a as U}from"./chunk-IF47NAUS.js";import{a as S,b as O}from"./chunk-LJNOSMWT.js";import{a as g}from"./chunk-GCSRDNWU.js";import{M as w,e as x,g as h,ha as E,n as R,na as L}from"./chunk-NHJLTSH3.js";var F=x((v,b)=>{(function(a,l){typeof define=="function"&&define.amd?define([],l):typeof v<"u"?l():(l(),a.FileSaver={})})(v,function(){"use strict";function a(e,t){return typeof t>"u"?t={autoBom:!1}:typeof t!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function l(e,t,n){var i=new XMLHttpRequest;i.open("GET",e),i.responseType="blob",i.onload=function(){r(i.response,t,n)},i.onerror=function(){console.error("could not download file")},i.send()}function d(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function c(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var s=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,m=s.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),r=s.saveAs||(typeof window!="object"||window!==s?function(){}:"download"in HTMLAnchorElement.prototype&&!m?function(e,t,n){var i=s.URL||s.webkitURL,o=document.createElement("a");t=t||e.name||"download",o.download=t,o.rel="noopener",typeof e=="string"?(o.href=e,o.origin===location.origin?c(o):d(o.href)?l(e,t,n):c(o,o.target="_blank")):(o.href=i.createObjectURL(e),setTimeout(function(){i.revokeObjectURL(o.href)},4e4),setTimeout(function(){c(o)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,n){if(t=t||e.name||"download",typeof e!="string")navigator.msSaveOrOpenBlob(a(e,n),t);else if(d(e))l(e,t,n);else{var i=document.createElement("a");i.href=e,i.target="_blank",setTimeout(function(){c(i)})}}:function(e,t,n,i){if(i=i||open("","_blank"),i&&(i.document.title=i.document.body.innerText="downloading..."),typeof e=="string")return l(e,t,n);var o=e.type==="application/octet-stream",z=/constructor/i.test(s.HTMLElement)||s.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||o&&z||m)&&typeof FileReader<"u"){var u=new FileReader;u.onloadend=function(){var f=u.result;f=y?f:f.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=f:location=f,i=null},u.readAsDataURL(e)}else{var A=s.URL||s.webkitURL,p=A.createObjectURL(e);i?i.location=p:location.href=p,i=null,setTimeout(function(){A.revokeObjectURL(p)},4e4)}});s.saveAs=r.saveAs=r,typeof b<"u"&&(b.exports=r)})});var k=h(S(),1),j=h(O(),1),T=h(U(),1);var W=(()=>{class a{$ws=L(g);term;io;fitAddon;webLinksAddon;resize;elementResize;pluginName;constructor(){}startTerminal(d,c={},s,m){this.pluginName=m,this.elementResize=s,this.io=this.$ws.connectToNamespace("log"),this.term=new k.Terminal(c),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new j.FitAddon,this.webLinksAddon=new T.WebLinksAddon,this.resize=new R,this.term.open(d.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
1
+ import{a as U}from"./chunk-C2XBPNOQ.js";import{a as S,b as O}from"./chunk-7BCHGXO4.js";import{a as g}from"./chunk-GDU27W4Y.js";import{M as w,e as x,g as h,ha as E,n as R,na as L}from"./chunk-CKNHTRCL.js";var F=x((v,b)=>{(function(a,l){typeof define=="function"&&define.amd?define([],l):typeof v<"u"?l():(l(),a.FileSaver={})})(v,function(){"use strict";function a(e,t){return typeof t>"u"?t={autoBom:!1}:typeof t!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function l(e,t,n){var i=new XMLHttpRequest;i.open("GET",e),i.responseType="blob",i.onload=function(){r(i.response,t,n)},i.onerror=function(){console.error("could not download file")},i.send()}function d(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch{}return 200<=t.status&&299>=t.status}function c(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var s=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,m=s.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),r=s.saveAs||(typeof window!="object"||window!==s?function(){}:"download"in HTMLAnchorElement.prototype&&!m?function(e,t,n){var i=s.URL||s.webkitURL,o=document.createElement("a");t=t||e.name||"download",o.download=t,o.rel="noopener",typeof e=="string"?(o.href=e,o.origin===location.origin?c(o):d(o.href)?l(e,t,n):c(o,o.target="_blank")):(o.href=i.createObjectURL(e),setTimeout(function(){i.revokeObjectURL(o.href)},4e4),setTimeout(function(){c(o)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,n){if(t=t||e.name||"download",typeof e!="string")navigator.msSaveOrOpenBlob(a(e,n),t);else if(d(e))l(e,t,n);else{var i=document.createElement("a");i.href=e,i.target="_blank",setTimeout(function(){c(i)})}}:function(e,t,n,i){if(i=i||open("","_blank"),i&&(i.document.title=i.document.body.innerText="downloading..."),typeof e=="string")return l(e,t,n);var o=e.type==="application/octet-stream",z=/constructor/i.test(s.HTMLElement)||s.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||o&&z||m)&&typeof FileReader<"u"){var u=new FileReader;u.onloadend=function(){var f=u.result;f=y?f:f.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=f:location=f,i=null},u.readAsDataURL(e)}else{var A=s.URL||s.webkitURL,p=A.createObjectURL(e);i?i.location=p:location.href=p,i=null,setTimeout(function(){A.revokeObjectURL(p)},4e4)}});s.saveAs=r.saveAs=r,typeof b<"u"&&(b.exports=r)})});var k=h(S(),1),j=h(O(),1),T=h(U(),1);var W=(()=>{class a{$ws=L(g);term;io;fitAddon;webLinksAddon;resize;elementResize;pluginName;constructor(){}startTerminal(d,c={},s,m){this.pluginName=m,this.elementResize=s,this.io=this.$ws.connectToNamespace("log"),this.term=new k.Terminal(c),setTimeout(()=>{this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon)}),this.fitAddon=new j.FitAddon,this.webLinksAddon=new T.WebLinksAddon,this.resize=new R,this.term.open(d.nativeElement),setTimeout(()=>{this.fitAddon.activate(this.term),this.fitAddon.fit()}),this.io.connected.subscribe(()=>{this.term.reset(),this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
2
  \r
3
3
  \rWebsocket failed to connect. Is the server running?
4
4
  \r
@@ -0,0 +1 @@
1
+ import"./chunk-IMHBRR76.js";import{q as p}from"./chunk-WFTXQQES.js";import{z as m}from"./chunk-YLEC7AUG.js";import{g as i}from"./chunk-T3GI7KUT.js";import"./chunk-R32JIOK7.js";import"./chunk-N2PCJZX2.js";import"./chunk-HA6CO5NZ.js";import{c as s}from"./chunk-675OFXLW.js";import{ia as t,kd as n,vb as r}from"./chunk-CKNHTRCL.js";var a=[{path:"",loadComponent:()=>import("./chunk-IPMME72S.js").then(o=>o.PowerOptionsComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(a),i]})}return o})();var j=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,u,p,m,s]})}return o})();export{j as PowerOptionsModule};