homebridge-config-ui-x 5.9.1-beta.3 → 5.9.1-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/feature-flags/feature-flags.registry.js +1 -1
- package/dist/modules/accessories/accessories.controller.d.ts +0 -10
- package/dist/modules/accessories/accessories.controller.js +1 -20
- package/dist/modules/accessories/accessories.controller.js.map +1 -1
- package/dist/modules/accessories/accessories.service.d.ts +2 -4
- package/dist/modules/accessories/accessories.service.js +25 -39
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/package.json +1 -1
- package/public/{chunk-MR4KWEYX.js → chunk-2B5OWSC3.js} +1 -1
- package/public/{chunk-SKPO4EWV.js → chunk-2FJR6XQC.js} +1 -1
- package/public/{chunk-BCEDAADS.js → chunk-3HBGELYS.js} +1 -1
- package/public/{chunk-IUQ7ORI6.js → chunk-44XYFBM5.js} +1 -1
- package/public/{chunk-YNS6PU44.js → chunk-6ERM546T.js} +1 -1
- package/public/{chunk-VIZSJCWC.js → chunk-77M3IZ4C.js} +1 -1
- package/public/{chunk-2GNLGHLF.js → chunk-7D4XQLSJ.js} +1 -1
- package/public/{chunk-QXD3PZRU.js → chunk-7TBAQWUN.js} +1 -1
- package/public/{chunk-KWPPPGZJ.js → chunk-AIYX4NS4.js} +1 -1
- package/public/{chunk-FE2HKRWO.js → chunk-AKJJLD5T.js} +1 -1
- package/public/{chunk-JAJWHRVE.js → chunk-BKXKUPVG.js} +1 -1
- package/public/{chunk-YTHSUAFP.js → chunk-BRRZPIGK.js} +1 -1
- package/public/{chunk-OIVQXH76.js → chunk-CH5DGMHT.js} +1 -1
- package/public/{chunk-YKEI23UT.js → chunk-DH2TJW4L.js} +1 -1
- package/public/{chunk-QUV4XDKI.js → chunk-DSXYG3CG.js} +1 -1
- package/public/{chunk-HL3SPLOS.js → chunk-DTNTNUUT.js} +1 -1
- package/public/{chunk-BDNVTHRF.js → chunk-FJ6GKAK4.js} +1 -1
- package/public/{chunk-P6WEUVOG.js → chunk-G35SECWL.js} +1 -1
- package/public/{chunk-QQ44GPGJ.js → chunk-GJ66SKPM.js} +1 -1
- package/public/{chunk-UGGLMYE3.js → chunk-GNRQH4AB.js} +1 -1
- package/public/{chunk-PHWOE6AS.js → chunk-HKXJR5KL.js} +1 -1
- package/public/{chunk-4YBRFABH.js → chunk-JJETSLQ4.js} +1 -1
- package/public/{chunk-EGWCQPNN.js → chunk-JWTK75HO.js} +1 -1
- package/public/{chunk-M2ITW35G.js → chunk-KBJV7WLE.js} +1 -1
- package/public/{chunk-ALZYHHJS.js → chunk-KGWI6FZF.js} +1 -1
- package/public/{chunk-EKECA5VY.js → chunk-KW5P4NKW.js} +1 -1
- package/public/{chunk-BB37SSD3.js → chunk-L42PLXOO.js} +1 -1
- package/public/{chunk-2KS3Z2IQ.js → chunk-LYJSUZOK.js} +1 -1
- package/public/{chunk-CWBKN6DK.js → chunk-MYK6NVJR.js} +1 -1
- package/public/{chunk-6EINUQIR.js → chunk-OCKA6D3S.js} +1 -1
- package/public/{chunk-AYCYJZ5K.js → chunk-P46GPSHG.js} +1 -1
- package/public/{chunk-HADRZRRW.js → chunk-PLJKUNE6.js} +1 -1
- package/public/{chunk-WTOIGZHP.js → chunk-PTULVU2C.js} +1 -1
- package/public/{chunk-WZKMLQSX.js → chunk-QF6D3UP6.js} +1 -1
- package/public/{chunk-MYPS3TAE.js → chunk-R7I7Q4BB.js} +1 -1
- package/public/{chunk-REL5VGL4.js → chunk-RENHBVOU.js} +1 -1
- package/public/{chunk-CCHNU62C.js → chunk-ROPHWVQU.js} +1 -1
- package/public/{chunk-HYNETRJU.js → chunk-RUAPRNAM.js} +1 -1
- package/public/chunk-SBZRBLBH.js +1 -0
- package/public/{chunk-TLUCE4J6.js → chunk-UOYJA7SU.js} +1 -1
- package/public/{chunk-UAQZWGFR.js → chunk-V27MEAG5.js} +1 -1
- package/public/{chunk-GXXBQUDX.js → chunk-V7BTNFCD.js} +1 -1
- package/public/{chunk-3P242I3M.js → chunk-W73PY2KW.js} +1 -1
- package/public/{chunk-KSPJ7LBC.js → chunk-WLYALIGF.js} +1 -1
- package/public/{chunk-JEJRRXX6.js → chunk-XJDB5XC2.js} +1 -1
- package/public/{chunk-46IO6OQW.js → chunk-XJSITZKB.js} +1 -1
- package/public/{chunk-M5QYCMMI.js → chunk-Y47OP5SR.js} +1 -1
- package/public/{chunk-FQFDF7NL.js → chunk-YOVO5YUA.js} +2 -2
- package/public/{chunk-ZCINSOSK.js → chunk-Z4UZ2NAI.js} +1 -1
- package/public/{chunk-2HB77JUL.js → chunk-Z6FXBWOZ.js} +1 -1
- package/public/{chunk-US2WKTPG.js → chunk-ZP5N6LI4.js} +1 -1
- package/public/{chunk-66WFX4Q7.js → chunk-ZVFO7MWG.js} +1 -1
- package/public/{chunk-M4SSS7AE.js → chunk-ZX25HUUL.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-RHTU6HFP.js → main-3XD7WEKJ.js} +1 -1
- package/public/chunk-6UJ7GY5J.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as P}from"./chunk-
|
|
1
|
+
import{a as P}from"./chunk-V27MEAG5.js";import"./chunk-GJ66SKPM.js";import{e as D}from"./chunk-5WBNDRQY.js";import{b as F}from"./chunk-2FJR6XQC.js";import{k as E,l as R,n as B,q as U}from"./chunk-WLYALIGF.js";import{$b as p,Fc as I,Ib as S,Lb as k,Nb as u,Qa as r,Rc as O,_b as a,ac as x,db as y,h as b,mc as T,na as d,nc as g,qb as h,rb as _,sa as $,sc as l,ta as w,tc as c,wb as f,x as C,xb as s,yb as n,zb as v}from"./chunk-EQP5UP7Q.js";var W=(e,m)=>({"fas fa-spinner fa-spin":e,"far fa-check-circle":m}),M=e=>({"grey-text":e}),V=(e,m)=>({"far fa-circle":e,"fas fa-spinner fa-spin":m});function j(e,m){if(e&1&&(s(0,"div",7),a(1),n()),e&2){let t=u();r(),p(t.error)}}function q(e,m){if(e&1&&(s(0,"p",9),a(1),l(2,"translate"),n(),s(3,"div",10)(4,"div",11)(5,"span"),v(6,"i",12),a(7),l(8,"translate"),n()(),s(9,"div",11)(10,"span",12),v(11,"i",12),a(12),l(13,"translate"),n()()()),e&2){let t=u();r(),p(c(2,6,"restart.please_wait_while_server_restarts")),r(5),f("ngClass",g(12,W,!t.uiOnline,t.uiOnline)),r(),x(" ",c(8,8,"restart.ui_online")," "),r(3),f("ngClass",T(15,M,!t.uiOnline)),r(),f("ngClass",g(17,V,!t.uiOnline,t.uiOnline)),r(),x(" ",c(13,10,"restart.service_ready")," ")}}function z(e,m){if(e&1){let t=S();s(0,"p",15)(1,"button",16),k("click",function(){$(t);let o=u(2);return w(o.viewLogs())}),a(2),l(3,"translate"),n()()}e&2&&(r(2),p(c(3,1,"menu.tooltip_view_logs")))}function A(e,m){if(e&1&&(s(0,"div",8)(1,"p"),a(2),l(3,"translate"),n(),s(4,"p",13),a(5),l(6,"translate"),s(7,"span",14),a(8),n()(),h(9,z,4,3,"p",15),n()),e&2){let t=u();r(2),p(c(3,4,"restart.server_is_taking_long_time_to_restart")),r(3),x(" ",c(6,6,"restart.label_restart_command_executed"),": "),r(3),p(t.resp.command||"End Process"),r(),_(t.uiOnline?9:-1)}}var et=(()=>{class e{$api=d(U);$router=d(D);$settings=d(F);$toastr=d(B);$translate=d(E);$ws=d(P);checkTimeout;checkDelay;io;webrootChanged=!1;uiOnline=!1;error=!1;resp={};timeout=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$router.parseUrl(this.$router.url).queryParams.restarting==="true"?(this.uiOnline=!0,this.checkIfServerUp()):this.performRestart()}viewLogs(){this.$router.navigate(["/logs"])}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}performRestart(){return b(this,null,function*(){try{let t=this.$settings.originalWebroot||"",i=this.$settings.webroot||"";this.webrootChanged=t!==i&&t!==globalThis.webroot.errorCode,this.webrootChanged&&(yield C(this.$api.put("/server/webroot",{webroot:i}))),this.$api.put("/server/restart",{}).subscribe({next:o=>{this.resp=o,this.checkIfServerUp(),o.restartingUI||(this.uiOnline=!0)},error:o=>{console.error(o),this.error=this.$translate.instant("restart.toast_server_restart_error"),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}catch(t){console.error("Failed to update webroot:",t),this.$api.put("/server/restart",{}).subscribe({next:i=>{this.resp=i,this.checkIfServerUp(),i.restartingUI||(this.uiOnline=!0)},error:i=>{console.error(i),this.error=this.$translate.instant("restart.toast_server_restart_error"),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",t=>{if(this.uiOnline=!0,t.status==="ok"||t.status==="pending")if(this.$toastr.success(this.$translate.instant("restart.toast_server_restarted"),this.$translate.instant("toast.title_success")),this.webrootChanged&&!I()){let i=this.$settings.webroot?.replace(/^\/+|\/+$/g,"")||"";window.location.href=i?`/${i}/`:"/"}else this.$router.navigate(["/"])})},7e3),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},4e4)}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=y({type:e,selectors:[["ng-component"]],decls:14,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"alert","alert-warning","my-4"],[1,"grey-text"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[3,"ngClass"],[1,"grey-text","mb-0"],[1,"font-monospace"],[1,"mt-2","mb-0"],[1,"btn","btn-primary","mb-0",3,"click"]],template:function(i,o){i&1&&(s(0,"div",0)(1,"h3",1),a(2),l(3,"translate"),n()(),s(4,"div",2)(5,"div",3),v(6,"i",4),n(),s(7,"div",5)(8,"h4",6),a(9),l(10,"translate"),n(),h(11,j,2,1,"div",7)(12,q,14,20),h(13,A,10,8,"div",8),n()()),i&2&&(r(2),p(c(3,4,"menu.restart.title")),r(7),p(c(10,6,"restart.title_restart")),r(2),_(o.error?11:12),r(2),_(o.timeout?13:-1))},dependencies:[O,R],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return e})();export{et as RestartComponent};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as xt}from"./chunk-DE3FEETC.js";import{b as B,e as vt,f as $t,g as Rt,h as kt}from"./chunk-HYNETRJU.js";import{a as bt,b as _t}from"./chunk-46GAMPZC.js";import{a as Ct}from"./chunk-XFAARHWA.js";import{a as It}from"./chunk-Q2JNFJIW.js";import{m as ut,n as ht,t as R}from"./chunk-5SJKGEVE.js";import{B as mt,C as ft,c as ct,e as pt,l as gt}from"./chunk-PJNMYOLO.js";import{c as yt,e as F}from"./chunk-5WBNDRQY.js";import{b as wt}from"./chunk-SKPO4EWV.js";import{k as O,l as H,n as N,q as U}from"./chunk-KSPJ7LBC.js";import{$b as M,Ib as S,Lb as b,Nb as p,Qa as o,Rc as lt,Yb as st,Yc as dt,Za as tt,_b as y,a as j,ac as V,b as W,d as X,db as I,fc as ot,g as Z,gc as rt,h as $,hc as at,na as m,nc as K,pb as C,qb as k,rb as x,sa as u,sc as r,ta as h,tb as et,tc as l,ub as it,uc as G,vb as nt,wb as f,x as E,xb as a,yb as d,zb as g}from"./chunk-EQP5UP7Q.js";var Tt=Z(Rt(),1);var St=Z(It(),1);var Et=(s,w)=>({"fa-trash":s,"fa-cog fa-spin":w});function Ht(s,w){s&1&&(a(0,"div",13),g(1,"i",20),d())}function Nt(s,w){if(s&1){let t=S();a(0,"li",9)(1,"span"),y(2),r(3,"date"),g(4,"br"),a(5,"span",21),y(6),r(7,"date"),d()(),a(8,"span",22)(9,"button",25),r(10,"translate"),r(11,"translate"),b("click",function(){let i=u(t).$implicit,n=p(2);return h(n.restore(i.id))}),g(12,"i",26),d(),a(13,"button",27),r(14,"translate"),r(15,"translate"),b("click",function(){let i=u(t).$implicit,n=p(2);return h(n.download(i.id))}),g(16,"i",28),d(),a(17,"button",23),r(18,"translate"),r(19,"translate"),b("click",function(){let i=u(t).$implicit,n=p(2);return h(n.delete(i.id))}),g(20,"i",24),d()()()}if(s&2){let t=w.$implicit,e=p(2);o(2),V(" ",G(3,15,t.timestamp,"mediumDate")),o(4),M(G(7,18,t.timestamp,"shortTime")),o(3),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(10,21,"config.restore.copy_to_editor"))("openDelay",150),C("aria-label",l(11,23,"config.restore.copy_to_editor")),o(4),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(14,25,"form.button_download"))("openDelay",150),C("aria-label",l(15,27,"form.button_download")),o(4),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(18,29,"form.button_delete"))("openDelay",150),C("aria-label",l(19,31,"form.button_delete")),o(3),f("ngClass",K(33,Et,t.id!==e.deleting,t.id===e.deleting))}}function Ft(s,w){if(s&1){let t=S();a(0,"ul",14),it(1,Nt,21,36,"li",9,et),a(3,"li",9)(4,"span"),y(5),r(6,"translate"),g(7,"br"),a(8,"span",21),y(9),r(10,"translate"),d()(),a(11,"span",22)(12,"button",23),r(13,"translate"),r(14,"translate"),b("click",function(){u(t);let i=p();return h(i.deleteAllBackups())}),g(15,"i",24),d()()()()}if(s&2){let t=p();o(),nt(t.backupList),o(4),V(" ",l(6,7,"form.button_delete_all")),o(4),V(" ",l(10,9,"common.labels.no_confirmation")," "),o(3),f("disabled",t.clicked||t.deleting)("ngbTooltip",l(13,11,"form.button_delete_all"))("openDelay",150),C("aria-label",l(14,13,"form.button_delete")),o(3),f("ngClass",K(15,Et,t.deleting!=="all",t.deleting==="all"))}}var Mt=(()=>{class s{$activeModal=m(ut);$api=m(U);$router=m(F);$toastr=m(N);$translate=m(O);currentConfig;fromSettings=!1;loading=!0;backupList=[];clicked=!1;deleting=null;ngOnInit(){this.getConfigBackups()}getConfigBackups(){return $(this,null,function*(){try{let t=yield E(this.$api.get("/config-editor/backups"));this.loading=!1,this.backupList=t}catch(t){this.loading=!1,console.error(t),this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),this.dismissModal()}})}restore(t){return this.$activeModal.close(t)}download(t){return $(this,null,function*(){this.clicked=!0;try{let e=yield E(this.$api.get(`/config-editor/backups/${t}`)),i=JSON.stringify(e,null,4),n=new Blob([i],{type:"application/json"}),v=`config-backup-${t}.json`;(0,St.saveAs)(n,v),this.clicked=!1}catch(e){this.clicked=!1,this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),console.error(e)}})}downloadCurrentConfig(){let t=`data:text/json;charset=utf-8,${encodeURIComponent(this.currentConfig)}`,e=document.createElement("a");e.setAttribute("href",t),e.setAttribute("download","config.json"),document.body.appendChild(e),e.click(),e.remove()}delete(t){return $(this,null,function*(){this.deleting=t;try{yield E(this.$api.delete(`/config-editor/backups/${t}`)),yield this.getConfigBackups(),this.deleting=null}catch(e){this.deleting=null,this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),console.error(e)}})}deleteAllBackups(){return $(this,null,function*(){this.deleting="all";try{yield E(this.$api.delete("/config-editor/backups")),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success")),this.backupList=[],this.deleting=null}catch(t){this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),console.error(t),this.deleting=null}})}dismissModal(){this.fromSettings&&this.$router.navigate(["/settings"]),this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=I({type:s,selectors:[["ng-component"]],inputs:{currentConfig:"currentConfig",fromSettings:"fromSettings"},decls:40,vars:31,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-history","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary","m-0","ms-3",3,"click","disabled"],[1,"fas","fa-arrow-right"],[1,"text-center","primary-text"],[1,"list-group","list-group-box","mt-3"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"fa","fa-cog","fa-spin","mt-3",2,"font-size","75px"],[1,"grey-text","small"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas",3,"ngClass"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-3",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-history"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-download"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),y(3),r(4,"translate"),d(),a(5,"button",3),r(6,"translate"),b("click",function(){return i.dismissModal()}),d()(),a(7,"div",4)(8,"div",5),g(9,"i",6),d(),a(10,"ul",7)(11,"li"),y(12),r(13,"translate"),d(),a(14,"li"),y(15),r(16,"translate"),d()(),a(17,"ul",8)(18,"li",9)(19,"div")(20,"span"),y(21),r(22,"translate"),d(),g(23,"br"),a(24,"small",10),y(25),r(26,"translate"),d()(),a(27,"button",11),r(28,"translate"),b("click",function(){return i.downloadCurrentConfig()}),g(29,"i",12),d()()(),k(30,Ht,2,0,"div",13)(31,Ft,16,18,"ul",14),d(),a(32,"div",15),g(33,"div",16),a(34,"div",17)(35,"button",18),r(36,"translate"),b("click",function(){return i.dismissModal()}),y(37),r(38,"translate"),d()(),g(39,"div",19),d()()),e&2&&(o(3),M(l(4,13,"config.restore.title")),o(2),f("disabled",i.clicked||i.deleting),C("aria-label",l(6,15,"form.button_close")),o(7),M(l(13,17,"config.restore.help_1")),o(3),M(l(16,19,"config.restore.help_2")),o(6),M(l(22,21,"form.button_download")),o(4),M(l(26,23,"config.restore.download")),o(2),f("disabled",i.clicked||i.deleting),C("aria-label",l(28,25,"backup.backup_now")),o(3),x(i.loading?30:i.backupList.length?31:-1),o(5),f("disabled",i.clicked||i.deleting),C("aria-label",l(36,27,"form.button_close")),o(2),V(" ",l(38,29,"form.button_close")," "))},dependencies:[R,lt,ft,dt,H],encapsulation:2})}return s})();function Ut(s,w){if(s&1){let t=S();a(0,"button",13),r(1,"translate"),r(2,"translate"),b("click",function(){u(t);let i=p();return h(i.onCancelRestore())}),g(3,"i",14),d()}if(s&2){let t=p();f("disabled",t.saveInProgress)("openDelay",150)("ngbTooltip",l(1,4,"form.button_cancel")),C("aria-label",l(2,6,"form.button_cancel"))}}function qt(s,w){if(s&1){let t=S();a(0,"button",15),r(1,"translate"),r(2,"translate"),b("click",function(){u(t);let i=p();return h(i.onRestore())}),g(3,"i",16),d()}s&2&&(f("openDelay",150)("ngbTooltip",l(1,3,"form.button_restore")),C("aria-label",l(2,5,"form.button_restore")))}function zt(s,w){if(s&1){let t=S();a(0,"button",15),r(1,"translate"),r(2,"translate"),b("click",function(){u(t);let i=p();return h(i.toggleSideBySide())}),g(3,"i",17),d()}if(s&2){let t=p();f("openDelay",150)("ngbTooltip",l(1,7,t.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),C("aria-label",l(2,9,t.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),o(3),st("fa-columns",!t.renderSideBySide)("fa-bars",t.renderSideBySide)}}function Jt(s,w){s&1&&g(0,"i",8)}function Lt(s,w){s&1&&g(0,"i",9)}function Wt(s,w){if(s&1){let t=S();a(0,"ngx-monaco-editor",18),b("onInit",function(i){u(t);let n=p();return h(n.onEditorInit(i))})("keydown.control.s",function(i){u(t);let n=p();return i.preventDefault(),h(n.onSave())})("keydown.meta.s",function(i){u(t);let n=p();return i.preventDefault(),h(n.onSave())}),d()}if(s&2){let t=p();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function Kt(s,w){if(s&1){let t=S();a(0,"ngx-monaco-diff-editor",19),b("onInit",function(i){u(t);let n=p();return h(n.onInitDiffEditor(i))})("keydown.control.s",function(i){u(t);let n=p();return i.preventDefault(),h(n.onSave())})("keydown.meta.s",function(i){u(t);let n=p();return i.preventDefault(),h(n.onSave())}),d()}if(s&2){let t=p();f("options",t.editorOptions)("originalModel",t.diffOriginalModel)("modifiedModel",t.diffModifiedModel)}}function Gt(s,w){if(s&1){let t=S();a(0,"textarea",20),at("ngModelChange",function(i){u(t);let n=p();return rt(n.homebridgeConfig,i)||(n.homebridgeConfig=i),h(i)}),y(1," "),d()}if(s&2){let t=p();ot("ngModel",t.homebridgeConfig)}}var Te=(()=>{class s{$api=m(U);$md=m(Ct);$modal=m(ht);$monacoEditor=m(xt);$renderer=m(tt);$route=m(yt);$router=m(F);$settings=m(wt);$toastr=m(N);$translate=m(O);editorDecorations=[];lastHeight;visualViewPortEventCallback;latestSavedConfig;childBridgesToRestart=[];hbPendingRestart=!1;isDebugModeEnabled=this.$settings.isFeatureEnabled("childBridgeDebugMode");isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;diffOriginalModel;diffModifiedModel;renderSideBySide=!1;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){let t=this.$translate.instant("menu.config_json_editor");this.$settings.setPageTitle(t),this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",renderSideBySide:this.renderSideBySide,renderIndicators:!0,ignoreTrimWhitespace:!1,glyphMargin:!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(n=>{this.homebridgeConfig=n.config,this.latestSavedConfig=JSON.parse(n.config),this.diffModifiedModel&&this.updateDiffModels()}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},this.diffOriginalModel={code:"",language:"json"},this.diffModifiedModel={code:this.homebridgeConfig||"{}",language:"json"},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>this.setMonacoEditorModel()});let{action:i}=this.$router.parseUrl(this.$router.url).queryParams;if(i){switch(i){case"restore":{this.onRestore(!0);break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}}onEditorInit(t){window.editor=t,this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(t){this.monacoEditor=t.getModifiedEditor(),this.updateDiffModels(),window.editor=t}updateDiffModels(){if(this.diffOriginalModel&&(this.diffOriginalModel.code=this.originalConfig||""),this.diffModifiedModel&&(this.diffModifiedModel.code=this.homebridgeConfig||"{}"),window.editor&&window.editor.getOriginalEditor){let t=window.editor.getOriginalEditor(),e=window.editor.getModifiedEditor();if(t&&e){let i=t.getModel(),n=e.getModel();i&&i.setValue(this.originalConfig||""),n&&n.setValue(this.homebridgeConfig||"{}")}}}onSave(){return $(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 e=window.monaco.editor.getModelMarkers({owner:"json"});for(let i of e)if(i.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 t=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(t,null,4),typeof t.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(t.bridge.username)?t.accessories&&!Array.isArray(t.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):t.platforms&&!Array.isArray(t.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):t.platforms&&Array.isArray(t.platforms)&&!this.validateSection(t.platforms,"platform")||t.accessories&&Array.isArray(t.accessories)&&!this.validateSection(t.accessories,"accessory")||t.plugins&&Array.isArray(t.plugins)&&!this.validatePlugins(t.plugins,"plugins")||t.disabledPlugins&&Array.isArray(t.disabledPlugins)&&!this.validatePlugins(t.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(t),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}onRestore(t=!1){let e=this.$modal.open(Mt,{size:"lg",backdrop:"static"});e.componentInstance.currentConfig=this.homebridgeConfig,e.componentInstance.fromSettings=t,e.result.then(i=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig,this.updateDiffModels()),this.$api.get(`/config-editor/backups/${i}`).subscribe({next:n=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(n,null,4),this.updateDiffModels(),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:n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onCancelRestore(){if(window.editor&&window.editor.dispose)try{window.editor.dispose(),window.editor=void 0}catch{}this.homebridgeConfig=this.originalConfig,this.originalConfig="",this.renderSideBySide&&this.toggleSideBySide(),this.updateDiffModels(),this.onRestore()}toggleSideBySide(){this.renderSideBySide=!this.renderSideBySide,this.editorOptions=W(j({},this.editorOptions),{renderSideBySide:this.renderSideBySide})}ngOnDestroy(){let t=document.querySelector(".content");this.$renderer.removeStyle(t,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove());try{if(window.editor&&window.editor.dispose&&(window.editor.dispose(),window.editor=void 0),window.monaco){let e=window.monaco.Uri.parse("file:///original.json"),i=window.monaco.Uri.parse("file:///modified.json"),n=window.monaco.editor.getModel(e);n&&n.dispose();let v=window.monaco.editor.getModel(i);v&&v.dispose();let T=(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas||[]).filter(A=>A.uri!=="http://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,allowComments:!1,schemas:T})}this.monacoEditor&&this.monacoEditor.dispose()}catch{}}validateSection(t,e){for(let i of t){if(typeof i!="object"||Array.isArray(i))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(!i[e])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(typeof i[e]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1}return!0}validatePlugins(t,e){for(let i of t)if(typeof i!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:e}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(t){this.monacoEditor&&(t=JSON.stringify(t,null,4).split(`
|
|
1
|
+
import{a as xt}from"./chunk-DE3FEETC.js";import{b as B,e as vt,f as $t,g as Rt,h as kt}from"./chunk-RUAPRNAM.js";import{a as bt,b as _t}from"./chunk-46GAMPZC.js";import{a as Ct}from"./chunk-XFAARHWA.js";import{a as It}from"./chunk-Q2JNFJIW.js";import{m as ut,n as ht,t as R}from"./chunk-5SJKGEVE.js";import{B as mt,C as ft,c as ct,e as pt,l as gt}from"./chunk-PJNMYOLO.js";import{c as yt,e as F}from"./chunk-5WBNDRQY.js";import{b as wt}from"./chunk-2FJR6XQC.js";import{k as O,l as H,n as N,q as U}from"./chunk-WLYALIGF.js";import{$b as M,Ib as S,Lb as b,Nb as p,Qa as o,Rc as lt,Yb as st,Yc as dt,Za as tt,_b as y,a as j,ac as V,b as W,d as X,db as I,fc as ot,g as Z,gc as rt,h as $,hc as at,na as m,nc as K,pb as C,qb as k,rb as x,sa as u,sc as r,ta as h,tb as et,tc as l,ub as it,uc as G,vb as nt,wb as f,x as E,xb as a,yb as d,zb as g}from"./chunk-EQP5UP7Q.js";var Tt=Z(Rt(),1);var St=Z(It(),1);var Et=(s,w)=>({"fa-trash":s,"fa-cog fa-spin":w});function Ht(s,w){s&1&&(a(0,"div",13),g(1,"i",20),d())}function Nt(s,w){if(s&1){let t=S();a(0,"li",9)(1,"span"),y(2),r(3,"date"),g(4,"br"),a(5,"span",21),y(6),r(7,"date"),d()(),a(8,"span",22)(9,"button",25),r(10,"translate"),r(11,"translate"),b("click",function(){let i=u(t).$implicit,n=p(2);return h(n.restore(i.id))}),g(12,"i",26),d(),a(13,"button",27),r(14,"translate"),r(15,"translate"),b("click",function(){let i=u(t).$implicit,n=p(2);return h(n.download(i.id))}),g(16,"i",28),d(),a(17,"button",23),r(18,"translate"),r(19,"translate"),b("click",function(){let i=u(t).$implicit,n=p(2);return h(n.delete(i.id))}),g(20,"i",24),d()()()}if(s&2){let t=w.$implicit,e=p(2);o(2),V(" ",G(3,15,t.timestamp,"mediumDate")),o(4),M(G(7,18,t.timestamp,"shortTime")),o(3),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(10,21,"config.restore.copy_to_editor"))("openDelay",150),C("aria-label",l(11,23,"config.restore.copy_to_editor")),o(4),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(14,25,"form.button_download"))("openDelay",150),C("aria-label",l(15,27,"form.button_download")),o(4),f("disabled",e.clicked||e.deleting)("ngbTooltip",l(18,29,"form.button_delete"))("openDelay",150),C("aria-label",l(19,31,"form.button_delete")),o(3),f("ngClass",K(33,Et,t.id!==e.deleting,t.id===e.deleting))}}function Ft(s,w){if(s&1){let t=S();a(0,"ul",14),it(1,Nt,21,36,"li",9,et),a(3,"li",9)(4,"span"),y(5),r(6,"translate"),g(7,"br"),a(8,"span",21),y(9),r(10,"translate"),d()(),a(11,"span",22)(12,"button",23),r(13,"translate"),r(14,"translate"),b("click",function(){u(t);let i=p();return h(i.deleteAllBackups())}),g(15,"i",24),d()()()()}if(s&2){let t=p();o(),nt(t.backupList),o(4),V(" ",l(6,7,"form.button_delete_all")),o(4),V(" ",l(10,9,"common.labels.no_confirmation")," "),o(3),f("disabled",t.clicked||t.deleting)("ngbTooltip",l(13,11,"form.button_delete_all"))("openDelay",150),C("aria-label",l(14,13,"form.button_delete")),o(3),f("ngClass",K(15,Et,t.deleting!=="all",t.deleting==="all"))}}var Mt=(()=>{class s{$activeModal=m(ut);$api=m(U);$router=m(F);$toastr=m(N);$translate=m(O);currentConfig;fromSettings=!1;loading=!0;backupList=[];clicked=!1;deleting=null;ngOnInit(){this.getConfigBackups()}getConfigBackups(){return $(this,null,function*(){try{let t=yield E(this.$api.get("/config-editor/backups"));this.loading=!1,this.backupList=t}catch(t){this.loading=!1,console.error(t),this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),this.dismissModal()}})}restore(t){return this.$activeModal.close(t)}download(t){return $(this,null,function*(){this.clicked=!0;try{let e=yield E(this.$api.get(`/config-editor/backups/${t}`)),i=JSON.stringify(e,null,4),n=new Blob([i],{type:"application/json"}),v=`config-backup-${t}.json`;(0,St.saveAs)(n,v),this.clicked=!1}catch(e){this.clicked=!1,this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),console.error(e)}})}downloadCurrentConfig(){let t=`data:text/json;charset=utf-8,${encodeURIComponent(this.currentConfig)}`,e=document.createElement("a");e.setAttribute("href",t),e.setAttribute("download","config.json"),document.body.appendChild(e),e.click(),e.remove()}delete(t){return $(this,null,function*(){this.deleting=t;try{yield E(this.$api.delete(`/config-editor/backups/${t}`)),yield this.getConfigBackups(),this.deleting=null}catch(e){this.deleting=null,this.$toastr.error(e.error?.message||e.message,this.$translate.instant("toast.title_error")),console.error(e)}})}deleteAllBackups(){return $(this,null,function*(){this.deleting="all";try{yield E(this.$api.delete("/config-editor/backups")),this.$toastr.success(this.$translate.instant("config.restore.toast_backups_deleted"),this.$translate.instant("toast.title_success")),this.backupList=[],this.deleting=null}catch(t){this.$toastr.error(t.error?.message||t.message,this.$translate.instant("toast.title_error")),console.error(t),this.deleting=null}})}dismissModal(){this.fromSettings&&this.$router.navigate(["/settings"]),this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(e){return new(e||s)};static \u0275cmp=I({type:s,selectors:[["ng-component"]],inputs:{currentConfig:"currentConfig",fromSettings:"fromSettings"},decls:40,vars:31,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-history","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-primary","m-0","ms-3",3,"click","disabled"],[1,"fas","fa-arrow-right"],[1,"text-center","primary-text"],[1,"list-group","list-group-box","mt-3"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-end"],[1,"fa","fa-cog","fa-spin","mt-3",2,"font-size","75px"],[1,"grey-text","small"],[2,"display","flex","flex-wrap","nowrap"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-danger","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas",3,"ngClass"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-3",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-history"],["placement","bottom","container","modal","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","disabled","ngbTooltip","openDelay"],[1,"fas","fa-download"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),y(3),r(4,"translate"),d(),a(5,"button",3),r(6,"translate"),b("click",function(){return i.dismissModal()}),d()(),a(7,"div",4)(8,"div",5),g(9,"i",6),d(),a(10,"ul",7)(11,"li"),y(12),r(13,"translate"),d(),a(14,"li"),y(15),r(16,"translate"),d()(),a(17,"ul",8)(18,"li",9)(19,"div")(20,"span"),y(21),r(22,"translate"),d(),g(23,"br"),a(24,"small",10),y(25),r(26,"translate"),d()(),a(27,"button",11),r(28,"translate"),b("click",function(){return i.downloadCurrentConfig()}),g(29,"i",12),d()()(),k(30,Ht,2,0,"div",13)(31,Ft,16,18,"ul",14),d(),a(32,"div",15),g(33,"div",16),a(34,"div",17)(35,"button",18),r(36,"translate"),b("click",function(){return i.dismissModal()}),y(37),r(38,"translate"),d()(),g(39,"div",19),d()()),e&2&&(o(3),M(l(4,13,"config.restore.title")),o(2),f("disabled",i.clicked||i.deleting),C("aria-label",l(6,15,"form.button_close")),o(7),M(l(13,17,"config.restore.help_1")),o(3),M(l(16,19,"config.restore.help_2")),o(6),M(l(22,21,"form.button_download")),o(4),M(l(26,23,"config.restore.download")),o(2),f("disabled",i.clicked||i.deleting),C("aria-label",l(28,25,"backup.backup_now")),o(3),x(i.loading?30:i.backupList.length?31:-1),o(5),f("disabled",i.clicked||i.deleting),C("aria-label",l(36,27,"form.button_close")),o(2),V(" ",l(38,29,"form.button_close")," "))},dependencies:[R,lt,ft,dt,H],encapsulation:2})}return s})();function Ut(s,w){if(s&1){let t=S();a(0,"button",13),r(1,"translate"),r(2,"translate"),b("click",function(){u(t);let i=p();return h(i.onCancelRestore())}),g(3,"i",14),d()}if(s&2){let t=p();f("disabled",t.saveInProgress)("openDelay",150)("ngbTooltip",l(1,4,"form.button_cancel")),C("aria-label",l(2,6,"form.button_cancel"))}}function qt(s,w){if(s&1){let t=S();a(0,"button",15),r(1,"translate"),r(2,"translate"),b("click",function(){u(t);let i=p();return h(i.onRestore())}),g(3,"i",16),d()}s&2&&(f("openDelay",150)("ngbTooltip",l(1,3,"form.button_restore")),C("aria-label",l(2,5,"form.button_restore")))}function zt(s,w){if(s&1){let t=S();a(0,"button",15),r(1,"translate"),r(2,"translate"),b("click",function(){u(t);let i=p();return h(i.toggleSideBySide())}),g(3,"i",17),d()}if(s&2){let t=p();f("openDelay",150)("ngbTooltip",l(1,7,t.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),C("aria-label",l(2,9,t.renderSideBySide?"config.restore.view_inline":"config.restore.view_side_by_side")),o(3),st("fa-columns",!t.renderSideBySide)("fa-bars",t.renderSideBySide)}}function Jt(s,w){s&1&&g(0,"i",8)}function Lt(s,w){s&1&&g(0,"i",9)}function Wt(s,w){if(s&1){let t=S();a(0,"ngx-monaco-editor",18),b("onInit",function(i){u(t);let n=p();return h(n.onEditorInit(i))})("keydown.control.s",function(i){u(t);let n=p();return i.preventDefault(),h(n.onSave())})("keydown.meta.s",function(i){u(t);let n=p();return i.preventDefault(),h(n.onSave())}),d()}if(s&2){let t=p();f("options",t.editorOptions)("model",t.monacoEditorModel)}}function Kt(s,w){if(s&1){let t=S();a(0,"ngx-monaco-diff-editor",19),b("onInit",function(i){u(t);let n=p();return h(n.onInitDiffEditor(i))})("keydown.control.s",function(i){u(t);let n=p();return i.preventDefault(),h(n.onSave())})("keydown.meta.s",function(i){u(t);let n=p();return i.preventDefault(),h(n.onSave())}),d()}if(s&2){let t=p();f("options",t.editorOptions)("originalModel",t.diffOriginalModel)("modifiedModel",t.diffModifiedModel)}}function Gt(s,w){if(s&1){let t=S();a(0,"textarea",20),at("ngModelChange",function(i){u(t);let n=p();return rt(n.homebridgeConfig,i)||(n.homebridgeConfig=i),h(i)}),y(1," "),d()}if(s&2){let t=p();ot("ngModel",t.homebridgeConfig)}}var Te=(()=>{class s{$api=m(U);$md=m(Ct);$modal=m(ht);$monacoEditor=m(xt);$renderer=m(tt);$route=m(yt);$router=m(F);$settings=m(wt);$toastr=m(N);$translate=m(O);editorDecorations=[];lastHeight;visualViewPortEventCallback;latestSavedConfig;childBridgesToRestart=[];hbPendingRestart=!1;isDebugModeEnabled=this.$settings.isFeatureEnabled("childBridgeDebugMode");isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");homebridgeConfig;originalConfig;saveInProgress;isMobile=!1;monacoEditor;editorOptions;monacoEditorModel;diffOriginalModel;diffModifiedModel;renderSideBySide=!1;constructor(){this.isMobile=this.$md.detect.mobile()}ngOnInit(){let t=this.$translate.instant("menu.config_json_editor");this.$settings.setPageTitle(t),this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",renderSideBySide:this.renderSideBySide,renderIndicators:!0,ignoreTrimWhitespace:!1,glyphMargin:!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(n=>{this.homebridgeConfig=n.config,this.latestSavedConfig=JSON.parse(n.config),this.diffModifiedModel&&this.updateDiffModels()}),this.monacoEditorModel={value:"{}",language:"json",uri:window.monaco?window.monaco.Uri.parse("a://homebridge/config.json"):void 0},this.diffOriginalModel={code:"",language:"json"},this.diffModifiedModel={code:this.homebridgeConfig||"{}",language:"json"},window.monaco?this.setMonacoEditorModel():this.$monacoEditor.readyEvent.subscribe({next:()=>this.setMonacoEditorModel()});let{action:i}=this.$router.parseUrl(this.$router.url).queryParams;if(i){switch(i){case"restore":{this.onRestore(!0);break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}}onEditorInit(t){window.editor=t,this.monacoEditor=t,this.monacoEditor.getModel().setValue(this.homebridgeConfig)}onInitDiffEditor(t){this.monacoEditor=t.getModifiedEditor(),this.updateDiffModels(),window.editor=t}updateDiffModels(){if(this.diffOriginalModel&&(this.diffOriginalModel.code=this.originalConfig||""),this.diffModifiedModel&&(this.diffModifiedModel.code=this.homebridgeConfig||"{}"),window.editor&&window.editor.getOriginalEditor){let t=window.editor.getOriginalEditor(),e=window.editor.getModifiedEditor();if(t&&e){let i=t.getModel(),n=e.getModel();i&&i.setValue(this.originalConfig||""),n&&n.setValue(this.homebridgeConfig||"{}")}}}onSave(){return $(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 e=window.monaco.editor.getModelMarkers({owner:"json"});for(let i of e)if(i.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 t=this.parseConfigFromEditor();this.homebridgeConfig=JSON.stringify(t,null,4),typeof t.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(t.bridge.username)?t.accessories&&!Array.isArray(t.accessories)?this.$toastr.error(this.$translate.instant("config.config_accessory_must_be_array"),this.$translate.instant("toast.title_error")):t.platforms&&!Array.isArray(t.platforms)?this.$toastr.error(this.$translate.instant("config.config_platform_must_be_array"),this.$translate.instant("toast.title_error")):t.platforms&&Array.isArray(t.platforms)&&!this.validateSection(t.platforms,"platform")||t.accessories&&Array.isArray(t.accessories)&&!this.validateSection(t.accessories,"accessory")||t.plugins&&Array.isArray(t.plugins)&&!this.validatePlugins(t.plugins,"plugins")||t.disabledPlugins&&Array.isArray(t.disabledPlugins)&&!this.validatePlugins(t.disabledPlugins,"disabledPlugins")||(yield this.saveConfig(t),this.originalConfig=""):this.$toastr.error(this.$translate.instant("config.config_username_error"),this.$translate.instant("toast.title_error"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error"))}this.saveInProgress=!1}})}onRestore(t=!1){let e=this.$modal.open(Mt,{size:"lg",backdrop:"static"});e.componentInstance.currentConfig=this.homebridgeConfig,e.componentInstance.fromSettings=t,e.result.then(i=>{this.originalConfig||(this.originalConfig=this.homebridgeConfig,this.updateDiffModels()),this.$api.get(`/config-editor/backups/${i}`).subscribe({next:n=>{this.$toastr.info(this.$translate.instant("config.restore.confirm"),this.$translate.instant("config.title_backup_loaded")),this.homebridgeConfig=JSON.stringify(n,null,4),this.updateDiffModels(),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:n=>{console.error(n),this.$toastr.error(n.error?.message||this.$translate.instant("backup.load_error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}onCancelRestore(){if(window.editor&&window.editor.dispose)try{window.editor.dispose(),window.editor=void 0}catch{}this.homebridgeConfig=this.originalConfig,this.originalConfig="",this.renderSideBySide&&this.toggleSideBySide(),this.updateDiffModels(),this.onRestore()}toggleSideBySide(){this.renderSideBySide=!this.renderSideBySide,this.editorOptions=W(j({},this.editorOptions),{renderSideBySide:this.renderSideBySide})}ngOnDestroy(){let t=document.querySelector(".content");this.$renderer.removeStyle(t,"height"),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.visualViewPortEventCallback,!0),this.$md.enableTouchMove());try{if(window.editor&&window.editor.dispose&&(window.editor.dispose(),window.editor=void 0),window.monaco){let e=window.monaco.Uri.parse("file:///original.json"),i=window.monaco.Uri.parse("file:///modified.json"),n=window.monaco.editor.getModel(e);n&&n.dispose();let v=window.monaco.editor.getModel(i);v&&v.dispose();let T=(window.monaco.languages.json.jsonDefaults.diagnosticsOptions.schemas||[]).filter(A=>A.uri!=="http://homebridge/config.json");window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,allowComments:!1,schemas:T})}this.monacoEditor&&this.monacoEditor.dispose()}catch{}}validateSection(t,e){for(let i of t){if(typeof i!="object"||Array.isArray(i))return this.$toastr.error(this.$translate.instant("config.error_blocks_objects",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(!i[e])return this.$toastr.error(this.$translate.instant("config.error_blocks_type",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1;if(typeof i[e]!="string")return this.$toastr.error(this.$translate.instant("config.error_string_type",{type:e}),this.$translate.instant("toast.title_error")),this.highlightOffendingArrayItem(i),!1}return!0}validatePlugins(t,e){for(let i of t)if(typeof i!="string")return this.$toastr.error(this.$translate.instant("config.error_string_array",{key:e}),this.$translate.instant("toast.title_error")),!1;return!0}highlightOffendingArrayItem(t){this.monacoEditor&&(t=JSON.stringify(t,null,4).split(`
|
|
2
2
|
`).map(e=>` ${e}`).join(`
|
|
3
3
|
`),setTimeout(()=>{let e=this.monacoEditor.getModel().findMatches(t);if(e.length){let i=e[0].range,n=new monaco.Range(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn);this.editorDecorations=this.monacoEditor.deltaDecorations(this.editorDecorations,[{range:n,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 t=monaco.Uri.parse("a://homebridge/config.json"),e=kt(this.$translate,{isDebugModeEnabled:this.isDebugModeEnabled,isMatterSupported:this.isMatterSupported});window.monaco.languages.json.jsonDefaults.setDiagnosticsOptions({allowComments:!1,validate:!0,schemas:[{uri:"http://homebridge/config.json",fileMatch:[t.toString()],schema:{type:"object",required:["bridge"],properties:{bridge:{type:"object",required:["name","username","port","pin"],properties:j({name:{type:"string",title:this.$translate.instant("settings.name"),description:`The Homebridge instance name.
|
|
4
4
|
This should be unique if you are running multiple instances of Homebridge.`,default:"Homebridge"},username:{type:"string",title:this.$translate.instant("users.label_username"),description:`Homebridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as c}from"./chunk-
|
|
1
|
+
import{b as c}from"./chunk-GJ66SKPM.js";import{p as r}from"./chunk-WLYALIGF.js";import{h as i,ia as a,na as o}from"./chunk-EQP5UP7Q.js";var h=(()=>{class t{cache=null;CACHE_DURATION_MS=6e4;getToken(){let n=Date.now();if(this.cache&&n-this.cache.timestamp<this.CACHE_DURATION_MS)return this.cache.token;let e=window.localStorage.getItem(r.jwt.tokenKey);return this.cache={token:e,timestamp:n},e}invalidateCache(){this.cache=null}static \u0275fac=function(e){return new(e||t)};static \u0275prov=a({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var p=(()=>{class t{$auth=o(c);$tokenCache=o(h);isAuthenticated(){return i(this,null,function*(){if(!this.$tokenCache.getToken())return this.$auth.token=null,this.$auth.user={},this.$tokenCache.invalidateCache(),!1;try{let e=this.$auth.isLoggedIn();return e||(this.$auth.token=null,this.$auth.user={},this.$tokenCache.invalidateCache()),e}catch{return console.warn("Token validation error, clearing auth state"),this.$auth.logout(),this.$tokenCache.invalidateCache(),!1}})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=a({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{h as a,p as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as $}from"./chunk-
|
|
1
|
+
import{b as $}from"./chunk-2FJR6XQC.js";import{p as h,q as S}from"./chunk-WLYALIGF.js";import{A as w,D as T,eb as E,h as a,ia as d,id as j,ja as v,la as y,ma as l,na as p,s as f,x as c,xa as I,y as k}from"./chunk-EQP5UP7Q.js";var g=new y("JWT_OPTIONS"),m=(()=>{class i{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let r=0,s,n,D=0;n=e.charAt(D++);~n&&(s=r%4?s*64+n:n,r++%4)?o+=String.fromCharCode(255&s>>(-2*r&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return i.\u0275fac=function(e){return new(e||i)(l(g))},i.\u0275prov=d({token:i,factory:i.\u0275fac}),i})(),x=i=>i instanceof Promise?T(()=>i):f(i),b=(()=>{class i{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(r=>typeof r=="string"?r===o:r instanceof RegExp?r.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let r=new URL(o,this.document.location.origin);return r.hostname===t.hostname&&r.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let r=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=f(!1);return this.skipWhenExpired&&(s=e?x(this.jwtHelper.isTokenExpired(e)):f(!0)),e?s.pipe(k(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${r}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return x(o).pipe(w(r=>this.handleInterception(r,e,t)))}}return i.\u0275fac=function(e){return new(e||i)(l(g),l(m),l(I))},i.\u0275prov=d({token:i,factory:i.\u0275fac}),i})(),U=(()=>{class i{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:i,providers:[{provide:j,useClass:b,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return i.\u0275fac=function(e){return new(e||i)(l(i,12))},i.\u0275mod=E({type:i}),i.\u0275inj=v({}),i})();var X=(()=>{class i{$api=p(S);$jwtHelper=p(m);$settings=p($);token;user={};logoutTimer;lastRefreshTime=Date.now();isRefreshing=!1;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield c(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(h.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield c(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(h.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,clearTimeout(this.logoutTimer),window.localStorage.removeItem(h.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield c(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(h.jwt.tokenKey);e&&this.validateToken(e)})}checkToken(){return a(this,null,function*(){if(!this.token||this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){console.warn("Token expired on client side, logging out immediately"),this.logout();return}try{return yield c(this.$api.get("/auth/check"))}catch(e){throw e.status===401&&(console.warn("Current token is not valid on server"),this.logout()),e}})}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(h.jwt.tokenKey),this.token=null,!1}}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let e=this.$settings.sessionTimeout*1e3;e<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),e))}}checkAndRefreshIfNeeded(){return a(this,null,function*(){if(!this.$settings.formAuth||!this.$settings.sessionTimeoutInactivityBased||!this.token||!this.isLoggedIn()||this.isRefreshing)return;let t=Date.now()-this.lastRefreshTime,r=this.$settings.sessionTimeout*1e3*.7;if(t>r)try{yield this.refreshSession()}catch(s){console.error("Failed to refresh session:",s)}})}refreshSession(){return a(this,null,function*(){if(!this.isRefreshing){this.isRefreshing=!0;try{let e=yield c(this.$api.post("/auth/refresh",{}));e.access_token&&(this.token=e.access_token,window.localStorage.setItem(h.jwt.tokenKey,e.access_token),this.lastRefreshTime=Date.now(),this.setLogoutTimer())}finally{this.isRefreshing=!1}}})}static \u0275fac=function(t){return new(t||i)};static \u0275prov=d({token:i,factory:i.\u0275fac})}return i})();export{U as a,X as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as _}from"./chunk-
|
|
1
|
+
import{a as _}from"./chunk-DSXYG3CG.js";import{a as E}from"./chunk-BRRZPIGK.js";import"./chunk-4A2GGTS4.js";import"./chunk-AIYX4NS4.js";import"./chunk-5SJKGEVE.js";import"./chunk-PJNMYOLO.js";import"./chunk-V27MEAG5.js";import"./chunk-GJ66SKPM.js";import{b as S}from"./chunk-2FJR6XQC.js";import{k as w,l as C}from"./chunk-WLYALIGF.js";import{$b as T,Ab as l,Bb as m,Cb as h,Dc as b,Lb as v,Pa as o,Qa as c,Ub as f,Vb as g,_b as p,db as u,n as d,na as r,sc as y,tc as $}from"./chunk-EQP5UP7Q.js";var B=["terminaloutput"],G=(()=>{class a{$terminal=r(E);$settings=r(S);$navigationGuard=r(_);$translate=r(w);resizeEvent=new d;termTarget=b("terminaloutput");onWindowResize(){this.resizeEvent.next(void 0)}onBeforeUnload(i){return this.$navigationGuard.handleBeforeUnload(i)}onWindowFocus(){this.activateTerminal()}onClick(){this.activateTerminal()}activateTerminal(){this.$terminal.isTerminalReady()&&this.$terminal.term&&this.$terminal.term.focus()}ngOnInit(){let i=this.$translate.instant("menu.linux.label_terminal");this.$settings.setPageTitle(i),window.document.querySelector("body").classList.add("bg-black"),this.$terminal.isTerminalReady()&&this.$terminal.destroyTerminal(),this.$settings.env.terminal?.persistence&&this.$terminal.hasActiveSession()?this.$terminal.reconnectTerminal(this.termTarget(),{},this.resizeEvent):(!this.$settings.env.terminal?.persistence&&this.$terminal.hasActiveSession()&&this.$terminal.destroyPersistentSession(),this.$terminal.startTerminal(this.termTarget(),{},this.resizeEvent)),setTimeout(()=>{this.activateTerminal()},100)}ngAfterViewInit(){document.addEventListener("visibilitychange",this.onVisibilityChange.bind(this))}onVisibilityChange(){!document.hidden&&this.$terminal.isTerminalReady()&&setTimeout(()=>{this.activateTerminal()},100)}canDeactivate(){return this.$navigationGuard.canDeactivate()}ngOnDestroy(){document.removeEventListener("visibilitychange",this.onVisibilityChange.bind(this)),window.document.querySelector("body").classList.remove("bg-black"),this.$settings.env.terminal?.persistence?this.$terminal.detachTerminal():this.$terminal.destroyPersistentSession()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=u({type:a,selectors:[["ng-component"]],viewQuery:function(e,t){e&1&&f(t.termTarget,B,5),e&2&&g()},hostBindings:function(e,t){e&1&&v("resize",function(n){return t.onWindowResize(n)},o)("beforeunload",function(n){return t.onBeforeUnload(n)},o)("focus",function(n){return t.onWindowFocus(n)},o)("click",function(n){return t.onClick(n)})},decls:8,vars:3,consts:[["terminaloutput",""],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","docker-terminal",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,t){e&1&&(l(0,"div",1)(1,"div",2)(2,"h3",3),p(3),y(4,"translate"),m()()(),l(5,"div",4),h(6,"div",5,0),m()),e&2&&(c(3),T($(4,1,"menu.linux.label_terminal")))},dependencies:[C],encapsulation:2})}return a})();export{G as TerminalComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
1
|
+
import{a as n}from"./chunk-ZVFO7MWG.js";import"./chunk-G35SECWL.js";import"./chunk-GJ66SKPM.js";import{h as r}from"./chunk-5WBNDRQY.js";import"./chunk-2FJR6XQC.js";import"./chunk-WLYALIGF.js";import{eb as e,ja as o}from"./chunk-EQP5UP7Q.js";var c=[{path:"",loadComponent:()=>import("./chunk-W73PY2KW.js").then(t=>t.SettingsComponent),canActivate:[n]}],m=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=e({type:t});static \u0275inj=o({imports:[r.forChild(c),r]})}return t})();var l=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=e({type:t});static \u0275inj=o({imports:[m]})}return t})();export{l as SettingsModule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as G}from"./chunk-TUN7H57E.js";import{b as j}from"./chunk-P6WEUVOG.js";import{a as J}from"./chunk-6EINUQIR.js";import{a as Q}from"./chunk-3MJTL7SQ.js";import{a as te}from"./chunk-VOHBPEFW.js";import"./chunk-EGCKVLUA.js";import{a as X}from"./chunk-KWPPPGZJ.js";import{n as L}from"./chunk-5SJKGEVE.js";import"./chunk-PJNMYOLO.js";import{a as R}from"./chunk-UAQZWGFR.js";import{b as B}from"./chunk-QQ44GPGJ.js";import{a as q,b as N,d as W,e as V,f as D,g as H}from"./chunk-5WBNDRQY.js";import{b as A}from"./chunk-SKPO4EWV.js";import{k as $,l as U,p as T}from"./chunk-KSPJ7LBC.js";import{$b as h,Ib as S,Lb as _,Nb as x,Qa as n,Rc as E,Za as F,_b as g,db as O,dd as K,g as ee,h as P,lc as v,mc as M,na as m,pb as u,qb as w,rb as y,sa as b,sc as d,ta as C,tc as l,wb as c,x as z,xb as i,yb as s,zb as p}from"./chunk-EQP5UP7Q.js";var Z=ee(te(),1);var I=()=>["/"],ne=o=>({"hamburger-icon-cross":o}),oe=o=>({expanded:o}),re=()=>({exact:!0}),ae=()=>["/plugins"],se=()=>["/accessories"],de=()=>["/logs"],le=()=>["/support"],pe=()=>["/platform-tools/terminal"],ce=()=>["/config"],me=()=>["/settings"],ue=()=>["/power-options"];function _e(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",20),d(2,"translate"),d(3,"translate"),_("click",function(){b(e);let t=x();return C(t.openUnderVoltageModal())})("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(4,"div",12),p(5,"i",21),s(),i(6,"div",14),g(7),d(8,"translate"),s()()()}o&2&&(n(),u("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),n(6),h(l(8,6,"rpi.throttled.undervoltage_title")))}function ge(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",22),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),c("routerLink",v(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),n(5),h(l(7,6,"menu.linux.label_terminal")))}function fe(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",23),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),c("routerLink",v(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),n(5),h(l(7,6,"menu.config_json_editor")))}function he(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",24),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),c("routerLink",v(8,me))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),n(5),h(l(7,6,"menu.label_settings")))}function ve(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",25),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),c("routerLink",v(8,ue))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.restart.title")),n(5),h(l(7,6,"menu.restart.title")))}function be(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=x();return C(t.reloadPage())})("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",26),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),u("aria-label",l(2,2,"menu.reload")),n(5),h(l(7,4,"menu.reload")))}function Ce(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=x();return C(t.logout())})("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",27),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),u("aria-label",l(2,2,"menu.tooltip_logout")),n(5),h(l(7,4,"menu.tooltip_logout")))}var Y=(()=>{class o{$auth=m(B);$authHelper=m(j);$settings=m(A);$modal=m(L);$notification=m(Q);$renderer=m(F);$router=m(V);$translate=m($);isExpanded=!1;formAuth=this.$settings.formAuth;isAdmin=this.$auth.user.admin;enableTerminalAccess=this.$settings.env.enableTerminalAccess;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=G();constructor(){this.isMobile=window.innerWidth<768;let e;window.addEventListener("resize",()=>{clearTimeout(e),e=setTimeout(()=>{this.updateListeners()},500)}),this.$router.events.subscribe(a=>P(this,null,function*(){if(a instanceof q&&this.$settings.formAuth&&a.url!=="/login"&&!(yield this.$authHelper.isAuthenticated())){window.sessionStorage.setItem("target_route",a.url),yield this.$router.navigate(["/login"]);return}a instanceof N&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},750))}))}ngOnInit(){this.$notification.raspberryPiThrottled.subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)}),this.$notification.formAuthEnabled.subscribe(r=>{this.formAuth=r});let e=document.querySelector(".sidebar"),a=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?document.addEventListener("touchstart",r=>{if(t.contains(r.target)&&this.isExpanded){r.preventDefault(),this.toggleSidebar();return}!e.contains(r.target)&&!a.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),a.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),a.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,this.updateContentStyles())}openUnderVoltageModal(){let e=this.$modal.open(J,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("rpi.throttled.undervoltage_title"),e.componentInstance.message=this.$translate.instant(this.rPiCurrentlyUnderVoltage?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.faIconClass="fas fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let a=e.target;["menuitem","button"].includes(a.getAttribute("role"))&&a.click()}}reloadPage(){window.location.reload()}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}logout(){this.$auth.logout()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded?(this.$renderer.setStyle(e,"opacity","20%"),this.$renderer.setStyle(e,"pointer-events","none"),this.$renderer.setStyle(e,"overflow","hidden")):(this.$renderer.removeStyle(e,"opacity"),this.$renderer.removeStyle(e,"pointer-events"),this.$renderer.removeStyle(e,"overflow"))}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeAllListeners(),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}))}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=O({type:o,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:68,vars:75,consts:[["tabindex","0","role","button",1,"m-header","text-end",3,"click","keydown"],[1,"me-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon",3,"ngClass"],["role","navigation","id","sidebar",1,"sidebar",3,"ngClass"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-plug"],[1,"fa","fa-lightbulb"],[1,"fa","fa-wave-square"],[1,"fa","fa-question-circle-o"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-terminal"],[1,"fa","fa-code"],[1,"fa","fa-cog"],[1,"fa","fa-power-off"],[1,"fa","fa-refresh"],[1,"fa","fa-right-from-bracket"]],template:function(a,t){a&1&&(i(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(f){return t.handleKeydown(f)}),p(2,"span",1),i(3,"a",2),d(4,"translate"),p(5,"img",3),i(6,"div",4),g(7,"Homebridge"),s()(),i(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),s()(),i(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(f){return t.handleKeydown(f)}),i(15,"a",2),d(16,"translate"),p(17,"img",3),i(18,"div",8),g(19,"Homebridge"),s()()(),i(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(24,"div",12),p(25,"i",13),s(),i(26,"div",14),g(27),d(28,"translate"),s()()(),w(29,_e,9,8,"div",10),i(30,"div",10)(31,"div",15),d(32,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(33,"div",12),p(34,"i",16),s(),i(35,"div",14),g(36),d(37,"translate"),s()()(),i(38,"div",10)(39,"div",15),d(40,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(41,"div",12),p(42,"i",17),s(),i(43,"div",14),g(44),d(45,"translate"),s()()(),i(46,"div",10)(47,"div",15),d(48,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(49,"div",12),p(50,"i",18),s(),i(51,"div",14),g(52),d(53,"translate"),s()()(),w(54,ge,8,9,"div",10),w(55,fe,8,9,"div",10),w(56,he,8,9,"div",10),i(57,"div",10)(58,"div",15),d(59,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(60,"div",12),p(61,"i",19),s(),i(62,"div",14),g(63),d(64,"translate"),s()()(),w(65,ve,8,9,"div",10),w(66,be,8,6,"div",10),w(67,Ce,8,6,"div",10),s()()),a&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,37,"menu.sidebar.aria_menu")),n(3),c("routerLink",v(63,I)),u("aria-label",l(4,39,"menu.label_status")),n(5),c("ngClass",M(64,ne,t.isExpanded)),n(5),c("ngClass",M(66,oe,t.isExpanded)),n(2),c("routerLink",v(68,I)),u("aria-label",l(16,41,"menu.label_status")),n(7),c("routerLink",v(69,I))("routerLinkActive","active")("routerLinkActiveOptions",v(70,re)),u("aria-label",l(23,43,"menu.label_status")),n(5),h(l(28,45,"menu.label_status")),n(2),y(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),n(2),c("routerLink",v(71,ae))("routerLinkActive","active"),u("aria-label",l(32,47,"menu.label_plugins")),n(5),h(l(37,49,"menu.label_plugins")),n(3),c("routerLink",v(72,se))("routerLinkActive","active"),u("aria-label",l(40,51,"menu.label_accessories")),n(5),h(l(45,53,"menu.label_accessories")),n(3),c("routerLink",v(73,de))("routerLinkActive","active"),u("aria-label",l(48,55,"menu.linux.label_logs")),n(5),h(l(53,57,"menu.linux.label_logs")),n(2),y(t.enableTerminalAccess&&t.isAdmin?54:-1),n(),y(t.isAdmin?55:-1),n(),y(t.isAdmin?56:-1),n(2),c("routerLink",v(74,le))("routerLinkActive","active"),u("aria-label",l(59,59,"support.title")),n(5),h(l(64,61,"support.title")),n(2),y(t.isAdmin?65:-1),n(),y(t.isPwa?66:-1),n(),y(t.formAuth?67:-1))},dependencies:[D,K,E,H,U],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media (min-width: 768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 80px)!important;scrollbar-width:thin}@media (max-width: 767px){.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{padding-bottom:60px}}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media (max-width: 767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media (max-width: 767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media (min-width: 768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media (max-width: 767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;transform:rotate(0);transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return o})();var xe=o=>({sidebarExpanded:o}),Je=(()=>{class o{$auth=m(B);$modal=m(L);$router=m(V);$settings=m(A);$translate=m($);$ws=m(R);io;sidebarExpanded=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return P(this,null,function*(){if(this.$settings.settingsLoaded||(yield z(this.$settings.onSettingsLoaded)),!this.$router.url.endsWith("/restart")&&(0,Z.lt)(this.$settings.uiVersion,T.serverTarget)){console.log(`Server restart required. UI Version: ${T.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(X,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("platform.version.service_restart_required"),e.componentInstance.message=this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:T.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-power-off orange-text",e.result.then(()=>this.$router.navigate(["/restart"])).catch(()=>{})}})}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=O({type:o,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(a,t){a&1&&(p(0,"app-sidebar",0),i(1,"div",1),p(2,"router-outlet"),s()),a&2&&(c("isExpanded",t.sidebarExpanded),n(),c("ngClass",M(2,xe,t.sidebarExpanded)))},dependencies:[Y,E,W],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media (max-width: 767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media (min-width: 768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return o})();export{Je as LayoutComponent};
|
|
1
|
+
import{a as G}from"./chunk-TUN7H57E.js";import{b as j}from"./chunk-G35SECWL.js";import{a as J}from"./chunk-OCKA6D3S.js";import{a as Q}from"./chunk-3MJTL7SQ.js";import{a as te}from"./chunk-VOHBPEFW.js";import"./chunk-EGCKVLUA.js";import{a as X}from"./chunk-AIYX4NS4.js";import{n as L}from"./chunk-5SJKGEVE.js";import"./chunk-PJNMYOLO.js";import{a as R}from"./chunk-V27MEAG5.js";import{b as B}from"./chunk-GJ66SKPM.js";import{a as q,b as N,d as W,e as V,f as D,g as H}from"./chunk-5WBNDRQY.js";import{b as A}from"./chunk-2FJR6XQC.js";import{k as $,l as U,p as T}from"./chunk-WLYALIGF.js";import{$b as h,Ib as S,Lb as _,Nb as x,Qa as n,Rc as E,Za as F,_b as g,db as O,dd as K,g as ee,h as P,lc as v,mc as M,na as m,pb as u,qb as w,rb as y,sa as b,sc as d,ta as C,tc as l,wb as c,x as z,xb as i,yb as s,zb as p}from"./chunk-EQP5UP7Q.js";var Z=ee(te(),1);var I=()=>["/"],ne=o=>({"hamburger-icon-cross":o}),oe=o=>({expanded:o}),re=()=>({exact:!0}),ae=()=>["/plugins"],se=()=>["/accessories"],de=()=>["/logs"],le=()=>["/support"],pe=()=>["/platform-tools/terminal"],ce=()=>["/config"],me=()=>["/settings"],ue=()=>["/power-options"];function _e(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",20),d(2,"translate"),d(3,"translate"),_("click",function(){b(e);let t=x();return C(t.openUnderVoltageModal())})("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(4,"div",12),p(5,"i",21),s(),i(6,"div",14),g(7),d(8,"translate"),s()()()}o&2&&(n(),u("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),n(6),h(l(8,6,"rpi.throttled.undervoltage_title")))}function ge(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",22),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),c("routerLink",v(8,pe))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.linux.label_terminal")),n(5),h(l(7,6,"menu.linux.label_terminal")))}function fe(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",23),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),c("routerLink",v(8,ce))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.config_json_editor")),n(5),h(l(7,6,"menu.config_json_editor")))}function he(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",24),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),c("routerLink",v(8,me))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.label_settings")),n(5),h(l(7,6,"menu.label_settings")))}function ve(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",25),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),c("routerLink",v(8,ue))("routerLinkActive","active"),u("aria-label",l(2,4,"menu.restart.title")),n(5),h(l(7,6,"menu.restart.title")))}function be(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=x();return C(t.reloadPage())})("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",26),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),u("aria-label",l(2,2,"menu.reload")),n(5),h(l(7,4,"menu.reload")))}function Ce(o,k){if(o&1){let e=S();i(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=x();return C(t.logout())})("keydown",function(t){b(e);let r=x();return C(r.handleKeydown(t))}),i(3,"div",12),p(4,"i",27),s(),i(5,"div",14),g(6),d(7,"translate"),s()()()}o&2&&(n(),u("aria-label",l(2,2,"menu.tooltip_logout")),n(5),h(l(7,4,"menu.tooltip_logout")))}var Y=(()=>{class o{$auth=m(B);$authHelper=m(j);$settings=m(A);$modal=m(L);$notification=m(Q);$renderer=m(F);$router=m(V);$translate=m($);isExpanded=!1;formAuth=this.$settings.formAuth;isAdmin=this.$auth.user.admin;enableTerminalAccess=this.$settings.env.enableTerminalAccess;rPiCurrentlyUnderVoltage=!1;rPiWasUnderVoltage=!1;isMobile=!1;freezeMenu=!1;isPwa=G();constructor(){this.isMobile=window.innerWidth<768;let e;window.addEventListener("resize",()=>{clearTimeout(e),e=setTimeout(()=>{this.updateListeners()},500)}),this.$router.events.subscribe(a=>P(this,null,function*(){if(a instanceof q&&this.$settings.formAuth&&a.url!=="/login"&&!(yield this.$authHelper.isAuthenticated())){window.sessionStorage.setItem("target_route",a.url),yield this.$router.navigate(["/login"]);return}a instanceof N&&(this.closeSidebar(),this.freezeMenu=!0,setTimeout(()=>{this.freezeMenu=!1},750))}))}ngOnInit(){this.$notification.raspberryPiThrottled.subscribe(r=>{r["Under Voltage"]&&(this.rPiCurrentlyUnderVoltage=!0),r["Under-voltage has occurred"]&&(this.rPiWasUnderVoltage=!0)}),this.$notification.formAuthEnabled.subscribe(r=>{this.formAuth=r});let e=document.querySelector(".sidebar"),a=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?document.addEventListener("touchstart",r=>{if(t.contains(r.target)&&this.isExpanded){r.preventDefault(),this.toggleSidebar();return}!e.contains(r.target)&&!a.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),a.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),a.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}),document.addEventListener("click",r=>{e.contains(r.target)&&r.clientX>60&&this.closeSidebar()},{passive:!1})),this.updateContentStyles()}toggleSidebar(){this.freezeMenu||(this.isExpanded=!this.isExpanded,this.updateContentStyles())}openUnderVoltageModal(){let e=this.$modal.open(J,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("rpi.throttled.undervoltage_title"),e.componentInstance.message=this.$translate.instant(this.rPiCurrentlyUnderVoltage?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),e.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),e.componentInstance.faIconClass="fas fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let a=e.target;["menuitem","button"].includes(a.getAttribute("role"))&&a.click()}}reloadPage(){window.location.reload()}ngOnDestroy(){document.removeEventListener("touchstart",()=>{}),document.removeEventListener("click",()=>{})}logout(){this.$auth.logout()}openSidebar(){this.freezeMenu||(this.isExpanded=!0,this.updateContentStyles())}closeSidebar(){this.freezeMenu||(this.isExpanded=!1,this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded?(this.$renderer.setStyle(e,"opacity","20%"),this.$renderer.setStyle(e,"pointer-events","none"),this.$renderer.setStyle(e,"overflow","hidden")):(this.$renderer.removeStyle(e,"opacity"),this.$renderer.removeStyle(e,"pointer-events"),this.$renderer.removeStyle(e,"overflow"))}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeAllListeners(),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),e.addEventListener("mouseleave",()=>this.closeSidebar(),{passive:!1}))}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=O({type:o,selectors:[["app-sidebar"]],inputs:{isExpanded:"isExpanded"},decls:68,vars:75,consts:[["tabindex","0","role","button",1,"m-header","text-end",3,"click","keydown"],[1,"me-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon",3,"ngClass"],["role","navigation","id","sidebar",1,"sidebar",3,"ngClass"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-plug"],[1,"fa","fa-lightbulb"],[1,"fa","fa-wave-square"],[1,"fa","fa-question-circle-o"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-terminal"],[1,"fa","fa-code"],[1,"fa","fa-cog"],[1,"fa","fa-power-off"],[1,"fa","fa-refresh"],[1,"fa","fa-right-from-bracket"]],template:function(a,t){a&1&&(i(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(f){return t.handleKeydown(f)}),p(2,"span",1),i(3,"a",2),d(4,"translate"),p(5,"img",3),i(6,"div",4),g(7,"Homebridge"),s()(),i(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),s()(),i(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(f){return t.handleKeydown(f)}),i(15,"a",2),d(16,"translate"),p(17,"img",3),i(18,"div",8),g(19,"Homebridge"),s()()(),i(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(24,"div",12),p(25,"i",13),s(),i(26,"div",14),g(27),d(28,"translate"),s()()(),w(29,_e,9,8,"div",10),i(30,"div",10)(31,"div",15),d(32,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(33,"div",12),p(34,"i",16),s(),i(35,"div",14),g(36),d(37,"translate"),s()()(),i(38,"div",10)(39,"div",15),d(40,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(41,"div",12),p(42,"i",17),s(),i(43,"div",14),g(44),d(45,"translate"),s()()(),i(46,"div",10)(47,"div",15),d(48,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(49,"div",12),p(50,"i",18),s(),i(51,"div",14),g(52),d(53,"translate"),s()()(),w(54,ge,8,9,"div",10),w(55,fe,8,9,"div",10),w(56,he,8,9,"div",10),i(57,"div",10)(58,"div",15),d(59,"translate"),_("keydown",function(f){return t.handleKeydown(f)}),i(60,"div",12),p(61,"i",19),s(),i(62,"div",14),g(63),d(64,"translate"),s()()(),w(65,ve,8,9,"div",10),w(66,be,8,6,"div",10),w(67,Ce,8,6,"div",10),s()()),a&2&&(u("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",l(1,37,"menu.sidebar.aria_menu")),n(3),c("routerLink",v(63,I)),u("aria-label",l(4,39,"menu.label_status")),n(5),c("ngClass",M(64,ne,t.isExpanded)),n(5),c("ngClass",M(66,oe,t.isExpanded)),n(2),c("routerLink",v(68,I)),u("aria-label",l(16,41,"menu.label_status")),n(7),c("routerLink",v(69,I))("routerLinkActive","active")("routerLinkActiveOptions",v(70,re)),u("aria-label",l(23,43,"menu.label_status")),n(5),h(l(28,45,"menu.label_status")),n(2),y(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),n(2),c("routerLink",v(71,ae))("routerLinkActive","active"),u("aria-label",l(32,47,"menu.label_plugins")),n(5),h(l(37,49,"menu.label_plugins")),n(3),c("routerLink",v(72,se))("routerLinkActive","active"),u("aria-label",l(40,51,"menu.label_accessories")),n(5),h(l(45,53,"menu.label_accessories")),n(3),c("routerLink",v(73,de))("routerLinkActive","active"),u("aria-label",l(48,55,"menu.linux.label_logs")),n(5),h(l(53,57,"menu.linux.label_logs")),n(2),y(t.enableTerminalAccess&&t.isAdmin?54:-1),n(),y(t.isAdmin?55:-1),n(),y(t.isAdmin?56:-1),n(2),c("routerLink",v(74,le))("routerLinkActive","active"),u("aria-label",l(59,59,"support.title")),n(5),h(l(64,61,"support.title")),n(2),y(t.isAdmin?65:-1),n(),y(t.isPwa?66:-1),n(),y(t.formAuth?67:-1))},dependencies:[D,K,E,H,U],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media (min-width: 768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 80px)!important;scrollbar-width:thin}@media (max-width: 767px){.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{padding-bottom:60px}}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media (max-width: 767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media (max-width: 767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media (min-width: 768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media (max-width: 767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;transform:rotate(0);transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return o})();var xe=o=>({sidebarExpanded:o}),Je=(()=>{class o{$auth=m(B);$modal=m(L);$router=m(V);$settings=m(A);$translate=m($);$ws=m(R);io;sidebarExpanded=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return P(this,null,function*(){if(this.$settings.settingsLoaded||(yield z(this.$settings.onSettingsLoaded)),!this.$router.url.endsWith("/restart")&&(0,Z.lt)(this.$settings.uiVersion,T.serverTarget)){console.log(`Server restart required. UI Version: ${T.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(X,{size:"lg",backdrop:"static"});e.componentInstance.title=this.$translate.instant("platform.version.service_restart_required"),e.componentInstance.message=this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:T.serverTarget}),e.componentInstance.confirmButtonLabel=this.$translate.instant("menu.tooltip_restart"),e.componentInstance.faIconClass="fas fa-power-off orange-text",e.result.then(()=>this.$router.navigate(["/restart"])).catch(()=>{})}})}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=O({type:o,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(a,t){a&1&&(p(0,"app-sidebar",0),i(1,"div",1),p(2,"router-outlet"),s()),a&2&&(c("isExpanded",t.sidebarExpanded),n(),c("ngClass",M(2,xe,t.sidebarExpanded)))},dependencies:[Y,E,W],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media (max-width: 767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media (min-width: 768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return o})();export{Je as LayoutComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as G,C as Q,c as $,d as C,e as B,f as O,g as T,j as w,m as q,q as z,r as D,y as H,z as A}from"./chunk-PJNMYOLO.js";import{b as K}from"./chunk-
|
|
1
|
+
import{B as G,C as Q,c as $,d as C,e as B,f as O,g as T,j as w,m as q,q as z,r as D,y as H,z as A}from"./chunk-PJNMYOLO.js";import{b as K}from"./chunk-GJ66SKPM.js";import{e as U}from"./chunk-5WBNDRQY.js";import{b as J}from"./chunk-2FJR6XQC.js";import{l as j,p as W}from"./chunk-WLYALIGF.js";import{$b as h,Dc as b,Gc as L,La as x,Lb as E,Nb as M,P as I,Qa as i,Rc as N,Ub as v,Uc as V,Vb as F,_b as g,ac as R,db as k,dd as P,h as y,mc as f,na as p,qb as u,rb as c,sc as l,tc as d,wb as m,x as S,xb as r,yb as a,zb as s}from"./chunk-EQP5UP7Q.js";var Y=["password"],Z=["username"],ee=["otp"],te=e=>({background:e}),ie=e=>({anim:e}),X=e=>({"is-invalid":e});function ne(e,_){if(e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",13),a(),s(3,"input",14,0),l(5,"translate"),a(),r(6,"div",8)(7,"span",12),s(8,"i",15),a(),s(9,"input",16,1),l(11,"translate"),a()),e&2){let n=M();i(3),m("placeholder",d(5,4,"users.label_username"))("ngClass",f(8,X,n.form.controls.username.dirty&&n.form.controls.username.errors)),i(6),m("placeholder",d(11,6,"users.label_password"))("ngClass",f(10,X,n.form.controls.password.dirty&&n.form.controls.password.errors))}}function oe(e,_){e&1&&(r(0,"div",8)(1,"span",12),s(2,"i",17),a(),s(3,"input",18,2),l(5,"translate"),a()),e&2&&(i(3),m("placeholder",d(5,1,"login.label_2fa_code")))}function ae(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),g(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(i(5),h(d(6,2,"login.invalid_credentials")),i(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}function re(e,_){e&1&&(r(0,"div",9)(1,"div",12),s(2,"i",19),a(),r(3,"div",20)(4,"div",21),g(5),l(6,"translate"),a(),s(7,"div",22),l(8,"translate"),a()()),e&2&&(i(5),h(d(6,2,"login.invalid_code")),i(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),x))}var _e=(()=>{class e{$auth=p(K);$cdr=p(L);$router=p(U);$settings=p(J);targetRoute;validNonAdminRoutes=["/accessories","/plugins","/logs","/support"];passwordInput=b("password");usernameInput=b("username");otpInput=b("otp");backgroundStyle;invalidCredentials=!1;invalid2faCode=!1;twoFactorCodeRequired=!1;inProgress=!1;form;ngOnInit(){this.form=new T({username:new w(""),password:new w("")}),this.form.valueChanges.pipe(I(500)).subscribe(n=>{let o=this.passwordInput()?.nativeElement.value;o&&o!==n.password&&this.form.controls.password.setValue(o)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}ngAfterViewChecked(){this.$cdr.detectChanges()}onSubmit(){return y(this,null,function*(){this.invalidCredentials=!1,this.invalid2faCode=!1,this.inProgress=!0,document.getElementById("submit-button")?.blur();let n=this.passwordInput()?.nativeElement.value;n&&n!==this.form.get("password").value&&this.form.controls.password.setValue(n);let o=this.usernameInput()?.nativeElement.value;if(o&&o!==this.form.get("username").value&&this.form.controls.username.setValue(o),this.twoFactorCodeRequired){let t=this.otpInput()?.nativeElement.value;t&&t!==this.form.get("otp").value&&this.form.controls.username.setValue(t)}try{yield this.$auth.login(this.form.getRawValue()),!this.$auth.user.admin&&!this.validNonAdminRoutes.includes(this.targetRoute)&&(this.targetRoute="/"),this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}catch(t){t.status===412?(this.form.controls.otp?(this.form.controls.otp.setErrors(["Invalid Code"]),this.invalid2faCode=!0):this.form.addControl("otp",new w("",[C.required,C.minLength(6),C.maxLength(6)])),this.twoFactorCodeRequired=!0,setTimeout(()=>{document.getElementById("form-ota").focus()},100)):this.invalidCredentials=!0}this.inProgress=!1})}setBackground(){return y(this,null,function*(){if(this.$settings.settingsLoaded||(yield S(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let n=`${W.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`;this.backgroundStyle=`url('${n}') center/cover`}})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],viewQuery:function(o,t){o&1&&(v(t.passwordInput,Y,5),v(t.usernameInput,Z,5),v(t.otpInput,ee,5)),o&2&&F(3)},decls:15,vars:18,consts:[["username",""],["password",""],["otp",""],[1,"login-container","gradient","d-flex","align-items-start","justify-content-center",3,"ngStyle","ngClass"],[1,"w-100","login-card","d-flex","py-4","flex-column"],["ngSrc","assets/homebridge-color-round.svg","alt","Homebridge Logo","height","100","width","100","priority","true",1,"homebridge-logo","mx-auto","my-3"],["novalidate","",3,"ngSubmit","formGroup"],[1,"mb-4","text-center"],[1,"input-group","mb-4"],[1,"input-group","no-border","mb-4"],[1,"text-center"],["tabindex","3","id","submit-button","type","submit",1,"btn","btn-primary","mb-2",3,"disabled"],[1,"input-group-text","custom-input"],[1,"fas","fa-user","primary-text","fa-lg"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-lock","primary-text","fa-lg"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2","required","",1,"form-control","custom-input",3,"placeholder","ngClass"],[1,"fas","fa-key","primary-text","fa-lg"],["formControlName","otp","type","text","id","form-ota","autofocus","","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","custom-input",3,"placeholder"],[1,"fas","fa-exclamation-triangle","pink-text","fa-lg"],[1,"form-control","custom-input"],[1,"small","grey-text","fw-semibold"],[1,"small","grey-text",3,"innerHTML"]],template:function(o,t){o&1&&(r(0,"div",3)(1,"div",4),s(2,"img",5),r(3,"form",6),E("ngSubmit",function(){return t.onSubmit()}),r(4,"h4",7),g(5),l(6,"translate"),a(),u(7,ne,12,12),u(8,oe,6,3,"div",8),u(9,ae,9,6,"div",9),u(10,re,9,6,"div",9),r(11,"div",10)(12,"button",11),g(13),l(14,"translate"),a()()()()()),o&2&&(m("ngStyle",f(14,te,t.backgroundStyle))("ngClass",f(16,ie,!t.backgroundStyle)),i(3),m("formGroup",t.form),i(2),h(d(6,10,"setup.welcome_to_homebridge")),i(2),c(t.twoFactorCodeRequired?-1:7),i(),c(t.twoFactorCodeRequired?8:-1),i(),c(t.invalidCredentials?9:-1),i(),c(t.invalid2faCode?10:-1),i(2),m("disabled",t.form.invalid),i(),R(" ",d(14,12,"form.button_continue")," "))},dependencies:[V,G,q,$,B,O,H,A,Q,z,D,N,P,j],styles:["body{overflow:scroll!important} body.dark-mode .login-card{background-color:#2b2b2b;color:#fff}.login-container[_ngcontent-%COMP%]{z-index:-1;padding-top:2em;padding-bottom:2em;min-height:100%;background-size:300% 300%}.anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;-o-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.login-card[_ngcontent-%COMP%]{max-width:550px;border-radius:1rem;padding-right:25px;padding-left:25px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width: 575px){.login-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}}.homebridge-logo[_ngcontent-%COMP%]{margin-bottom:10px}"]})}return e})();export{_e as LoginComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as n}from"./chunk-5WBNDRQY.js";import{b as s}from"./chunk-
|
|
1
|
+
import{e as n}from"./chunk-5WBNDRQY.js";import{b as s}from"./chunk-2FJR6XQC.js";import{h as r,ia as o,na as e,x as i}from"./chunk-EQP5UP7Q.js";var l=(()=>{class t{$router=e(n);$settings=e(s);canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as t}from"./chunk-
|
|
1
|
+
import{c as t}from"./chunk-3HBGELYS.js";import{b as i}from"./chunk-EGCKVLUA.js";import{eb as r,ja as o}from"./chunk-EQP5UP7Q.js";var f=(()=>{class e{static \u0275fac=function(s){return new(s||e)};static \u0275mod=r({type:e});static \u0275inj=o({providers:[t],imports:[i]})}return e})();export{f as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i}from"./chunk-5WBNDRQY.js";import{eb as e,ja as o}from"./chunk-EQP5UP7Q.js";var m=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-
|
|
1
|
+
import{h as i}from"./chunk-5WBNDRQY.js";import{eb as e,ja as o}from"./chunk-EQP5UP7Q.js";var m=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-PTULVU2C.js").then(t=>t.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-ZX25HUUL.js").then(t=>t.ShutdownLinuxComponent)}],n=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=e({type:t});static \u0275inj=o({imports:[i.forChild(m),i]})}return t})();var c=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=e({type:t});static \u0275inj=o({imports:[n]})}return t})();export{c as LinuxModule};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as zv}from"./chunk-CCHNU62C.js";import{a as ep,c as Cv,d as xv,e as Tv,f as $o,g as sU,h as tp}from"./chunk-HYNETRJU.js";import{a as yv}from"./chunk-46GAMPZC.js";import{a as Sv}from"./chunk-XFAARHWA.js";import{a as Pv}from"./chunk-46IO6OQW.js";import{a as wv,b as kv,c as Hv}from"./chunk-4A2GGTS4.js";import{a as ga}from"./chunk-Q2JNFJIW.js";import{a as Iv}from"./chunk-YSLCQT67.js";import{a as $c,b as Ko}from"./chunk-VOHBPEFW.js";import{a as Lo,b as qo}from"./chunk-EGCKVLUA.js";import{a as vv}from"./chunk-KWPPPGZJ.js";import{a as Oc,b as Fc,c as Vc,d as Lc,e as qc,f as Kc,g as Vo,m as Ct,n as ki,o as mv,p as _v,q as hv,r as fv,s as bv,t as Ir}from"./chunk-5SJKGEVE.js";import{A as pv,B as gs,C as ua,a as iv,b as Hr,c as ro,e as ei,f as sv,h as rv,i as ov,j as nv,k as av,l as Ji,m as lv,n as cv,o as dv,p as Sr,s as Fo,t as Cr,u as Xg,v as xr,w as uv,x as gv}from"./chunk-PJNMYOLO.js";import{a as Tr}from"./chunk-UAQZWGFR.js";import{e as Ts}from"./chunk-5WBNDRQY.js";import{b as ht}from"./chunk-SKPO4EWV.js";import{k as ot,l as xt,n as nt,p as Pr,q as Ze}from"./chunk-KSPJ7LBC.js";import{$ as Wg,$b as re,$c as Uc,Aa as Cs,Ab as na,Bb as aa,Bc as ui,Ca as xs,Cb as la,Cc as ne,Da as qy,Db as ca,Dc as wr,E as Ry,Eb as da,Fa as Is,Ga as Ky,Gc as us,H as By,Ha as $y,Hc as so,I as zc,Ib as se,Ic as Zy,J as Uy,Jc as Qy,La as Oe,Lb as Q,M as Gg,Ma as Gy,Mb as Dc,Nb as H,P as Ro,Pa as Wy,Qa as m,R as Oy,Rb as Nc,Rc as wi,Sa as Mi,Sb as Mc,Sc as kr,Ta as hr,Tb as Ec,Tc as Xt,Ub as br,Va as Zg,Vb as yr,Wb as Rc,Xb as ci,Ya as Bo,Yb as Ei,Za as jc,Zb as _e,_a as oa,_b as A,a as fe,aa as Ac,ab as Ps,ac as ie,b as Le,ba as Yg,bc as vr,bd as Xy,c as Dy,ca as ds,cc as Bc,da as Fy,db as ve,dd as ev,e as w,eb as fr,fb as Ws,fc as Xe,g as lt,gb as Yy,gc as et,h as ue,ha as Jg,hc as tt,hd as tv,i as Xr,ia as gt,ja as _r,jb as Ie,jc as Jy,k as eo,kc as Uo,la as Gs,lc as rt,ma as Vy,mc as vi,n as Ue,na as j,nc as io,o as Pc,ob as Qg,oc as di,p as $g,pb as ge,pc as Oo,qa as Ly,qb as U,r as Ny,rb as O,s as My,sa as W,sc as D,ta as Y,tb as Jt,tc as B,ub as Zt,uc as zt,vb as Qt,w as Ey,wa as ra,wb as S,x as Pe,xa as to,xb as b,y as Tc,yb as f,zb as E}from"./chunk-EQP5UP7Q.js";var Bv=w(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.formatNames=As.fastFormats=As.fullFormats=void 0;function zs(e,i){return{validate:e,compare:i}}As.fullFormats={date:zs(Nv,op),time:zs(sp(!0),np),"date-time":zs(Av(!0),Ev),"iso-time":zs(sp(),Mv),"iso-date-time":zs(Av(),Rv),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:cU,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:hU,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:dU,int32:{type:"number",validate:pU},int64:{type:"number",validate:mU},float:{type:"number",validate:Dv},double:{type:"number",validate:Dv},password:!0,binary:!0};As.fastFormats=Le(fe({},As.fullFormats),{date:zs(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,op),time:zs(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,np),"date-time":zs(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ev),"iso-time":zs(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Mv),"iso-date-time":zs(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Rv),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i});As.formatNames=Object.keys(As.fullFormats);function rU(e){return e%4===0&&(e%100!==0||e%400===0)}var oU=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,nU=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Nv(e){let i=oU.exec(e);if(!i)return!1;let t=+i[1],s=+i[2],r=+i[3];return s>=1&&s<=12&&r>=1&&r<=(s===2&&rU(t)?29:nU[s])}function op(e,i){if(e&&i)return e>i?1:e<i?-1:0}var ip=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function sp(e){return function(t){let s=ip.exec(t);if(!s)return!1;let r=+s[1],n=+s[2],l=+s[3],c=s[4],u=s[5]==="-"?-1:1,p=+(s[6]||0),h=+(s[7]||0);if(p>23||h>59||e&&!c)return!1;if(r<=23&&n<=59&&l<60)return!0;let v=n-h*u,C=r-p*u-(v<0?1:0);return(C===23||C===-1)&&(v===59||v===-1)&&l<61}}function np(e,i){if(!(e&&i))return;let t=new Date("2020-01-01T"+e).valueOf(),s=new Date("2020-01-01T"+i).valueOf();if(t&&s)return t-s}function Mv(e,i){if(!(e&&i))return;let t=ip.exec(e),s=ip.exec(i);if(t&&s)return e=t[1]+t[2]+t[3],i=s[1]+s[2]+s[3],e>i?1:e<i?-1:0}var rp=/t|\s/i;function Av(e){let i=sp(e);return function(s){let r=s.split(rp);return r.length===2&&Nv(r[0])&&i(r[1])}}function Ev(e,i){if(!(e&&i))return;let t=new Date(e).valueOf(),s=new Date(i).valueOf();if(t&&s)return t-s}function Rv(e,i){if(!(e&&i))return;let[t,s]=e.split(rp),[r,n]=i.split(rp),l=op(t,r);if(l!==void 0)return l||np(s,n)}var aU=/\/|:/,lU=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function cU(e){return aU.test(e)&&lU.test(e)}var jv=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function dU(e){return jv.lastIndex=0,jv.test(e)}var uU=-(2**31),gU=2**31-1;function pU(e){return Number.isInteger(e)&&e<=gU&&e>=uU}function mU(e){return Number.isInteger(e)}function Dv(){return!0}var _U=/[^\\]\\Z/;function hU(e){if(_U.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var _a=w(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.regexpCode=Ye.getEsmExportName=Ye.getProperty=Ye.safeStringify=Ye.stringify=Ye.strConcat=Ye.addCodeArg=Ye.str=Ye._=Ye.nil=Ye._Code=Ye.Name=Ye.IDENTIFIER=Ye._CodeOrName=void 0;var pa=class{};Ye._CodeOrName=pa;Ye.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var oo=class extends pa{constructor(i){if(super(),!Ye.IDENTIFIER.test(i))throw new Error("CodeGen: name must be a valid identifier");this.str=i}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Ye.Name=oo;var Zi=class extends pa{constructor(i){super(),this._items=typeof i=="string"?[i]:i}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let i=this._items[0];return i===""||i==='""'}get str(){var i;return(i=this._str)!==null&&i!==void 0?i:this._str=this._items.reduce((t,s)=>`${t}${s}`,"")}get names(){var i;return(i=this._names)!==null&&i!==void 0?i:this._names=this._items.reduce((t,s)=>(s instanceof oo&&(t[s.str]=(t[s.str]||0)+1),t),{})}};Ye._Code=Zi;Ye.nil=new Zi("");function Uv(e,...i){let t=[e[0]],s=0;for(;s<i.length;)lp(t,i[s]),t.push(e[++s]);return new Zi(t)}Ye._=Uv;var ap=new Zi("+");function Ov(e,...i){let t=[ma(e[0])],s=0;for(;s<i.length;)t.push(ap),lp(t,i[s]),t.push(ap,ma(e[++s]));return fU(t),new Zi(t)}Ye.str=Ov;function lp(e,i){i instanceof Zi?e.push(...i._items):i instanceof oo?e.push(i):e.push(vU(i))}Ye.addCodeArg=lp;function fU(e){let i=1;for(;i<e.length-1;){if(e[i]===ap){let t=bU(e[i-1],e[i+1]);if(t!==void 0){e.splice(i-1,3,t);continue}e[i++]="+"}i++}}function bU(e,i){if(i==='""')return e;if(e==='""')return i;if(typeof e=="string")return i instanceof oo||e[e.length-1]!=='"'?void 0:typeof i!="string"?`${e.slice(0,-1)}${i}"`:i[0]==='"'?e.slice(0,-1)+i.slice(1):void 0;if(typeof i=="string"&&i[0]==='"'&&!(e instanceof oo))return`"${e}${i.slice(1)}`}function yU(e,i){return i.emptyStr()?e:e.emptyStr()?i:Ov`${e}${i}`}Ye.strConcat=yU;function vU(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:ma(Array.isArray(e)?e.join(","):e)}function wU(e){return new Zi(ma(e))}Ye.stringify=wU;function ma(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Ye.safeStringify=ma;function kU(e){return typeof e=="string"&&Ye.IDENTIFIER.test(e)?new Zi(`.${e}`):Uv`[${e}]`}Ye.getProperty=kU;function HU(e){if(typeof e=="string"&&Ye.IDENTIFIER.test(e))return new Zi(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Ye.getEsmExportName=HU;function SU(e){return new Zi(e.toString())}Ye.regexpCode=SU});var up=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.ValueScope=Si.ValueScopeName=Si.Scope=Si.varKinds=Si.UsedValueState=void 0;var Hi=_a(),cp=class extends Error{constructor(i){super(`CodeGen: "code" for ${i} not defined`),this.value=i.value}},Gc=(function(e){return e[e.Started=0]="Started",e[e.Completed=1]="Completed",e})(Gc||(Si.UsedValueState=Gc={}));Si.varKinds={const:new Hi.Name("const"),let:new Hi.Name("let"),var:new Hi.Name("var")};var Wc=class{constructor({prefixes:i,parent:t}={}){this._names={},this._prefixes=i,this._parent=t}toName(i){return i instanceof Hi.Name?i:this.name(i)}name(i){return new Hi.Name(this._newName(i))}_newName(i){let t=this._names[i]||this._nameGroup(i);return`${i}${t.index++}`}_nameGroup(i){var t,s;if(!((s=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||s===void 0)&&s.has(i)||this._prefixes&&!this._prefixes.has(i))throw new Error(`CodeGen: prefix "${i}" is not allowed in this scope`);return this._names[i]={prefix:i,index:0}}};Si.Scope=Wc;var Yc=class extends Hi.Name{constructor(i,t){super(t),this.prefix=i}setValue(i,{property:t,itemIndex:s}){this.value=i,this.scopePath=(0,Hi._)`.${new Hi.Name(t)}[${s}]`}};Si.ValueScopeName=Yc;var CU=(0,Hi._)`\n`,dp=class extends Wc{constructor(i){super(i),this._values={},this._scope=i.scope,this.opts=Le(fe({},i),{_n:i.lines?CU:Hi.nil})}get(){return this._scope}name(i){return new Yc(i,this._newName(i))}value(i,t){var s;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let r=this.toName(i),{prefix:n}=r,l=(s=t.key)!==null&&s!==void 0?s:t.ref,c=this._values[n];if(c){let h=c.get(l);if(h)return h}else c=this._values[n]=new Map;c.set(l,r);let u=this._scope[n]||(this._scope[n]=[]),p=u.length;return u[p]=t.ref,r.setValue(t,{property:n,itemIndex:p}),r}getValue(i,t){let s=this._values[i];if(s)return s.get(t)}scopeRefs(i,t=this._values){return this._reduceValues(t,s=>{if(s.scopePath===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return(0,Hi._)`${i}${s.scopePath}`})}scopeCode(i=this._values,t,s){return this._reduceValues(i,r=>{if(r.value===void 0)throw new Error(`CodeGen: name "${r}" has no value`);return r.value.code},t,s)}_reduceValues(i,t,s={},r){let n=Hi.nil;for(let l in i){let c=i[l];if(!c)continue;let u=s[l]=s[l]||new Map;c.forEach(p=>{if(u.has(p))return;u.set(p,Gc.Started);let h=t(p);if(h){let v=this.opts.es5?Si.varKinds.var:Si.varKinds.const;n=(0,Hi._)`${n}${v} ${p} = ${h};${this.opts._n}`}else if(h=r?.(p))n=(0,Hi._)`${n}${h}${this.opts._n}`;else throw new cp(p);u.set(p,Gc.Completed)})}return n}};Si.ValueScope=dp});var we=w(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.or=Be.and=Be.not=Be.CodeGen=Be.operators=Be.varKinds=Be.ValueScopeName=Be.ValueScope=Be.Scope=Be.Name=Be.regexpCode=Be.stringify=Be.getProperty=Be.nil=Be.strConcat=Be.str=Be._=void 0;var Ge=_a(),ps=up(),zr=_a();Object.defineProperty(Be,"_",{enumerable:!0,get:function(){return zr._}});Object.defineProperty(Be,"str",{enumerable:!0,get:function(){return zr.str}});Object.defineProperty(Be,"strConcat",{enumerable:!0,get:function(){return zr.strConcat}});Object.defineProperty(Be,"nil",{enumerable:!0,get:function(){return zr.nil}});Object.defineProperty(Be,"getProperty",{enumerable:!0,get:function(){return zr.getProperty}});Object.defineProperty(Be,"stringify",{enumerable:!0,get:function(){return zr.stringify}});Object.defineProperty(Be,"regexpCode",{enumerable:!0,get:function(){return zr.regexpCode}});Object.defineProperty(Be,"Name",{enumerable:!0,get:function(){return zr.Name}});var ed=up();Object.defineProperty(Be,"Scope",{enumerable:!0,get:function(){return ed.Scope}});Object.defineProperty(Be,"ValueScope",{enumerable:!0,get:function(){return ed.ValueScope}});Object.defineProperty(Be,"ValueScopeName",{enumerable:!0,get:function(){return ed.ValueScopeName}});Object.defineProperty(Be,"varKinds",{enumerable:!0,get:function(){return ed.varKinds}});Be.operators={GT:new Ge._Code(">"),GTE:new Ge._Code(">="),LT:new Ge._Code("<"),LTE:new Ge._Code("<="),EQ:new Ge._Code("==="),NEQ:new Ge._Code("!=="),NOT:new Ge._Code("!"),OR:new Ge._Code("||"),AND:new Ge._Code("&&"),ADD:new Ge._Code("+")};var Ys=class{optimizeNodes(){return this}optimizeNames(i,t){return this}},gp=class extends Ys{constructor(i,t,s){super(),this.varKind=i,this.name=t,this.rhs=s}render({es5:i,_n:t}){let s=i?ps.varKinds.var:this.varKind,r=this.rhs===void 0?"":` = ${this.rhs}`;return`${s} ${this.name}${r};`+t}optimizeNames(i,t){if(i[this.name.str])return this.rhs&&(this.rhs=Wo(this.rhs,i,t)),this}get names(){return this.rhs instanceof Ge._CodeOrName?this.rhs.names:{}}},Zc=class extends Ys{constructor(i,t,s){super(),this.lhs=i,this.rhs=t,this.sideEffects=s}render({_n:i}){return`${this.lhs} = ${this.rhs};`+i}optimizeNames(i,t){if(!(this.lhs instanceof Ge.Name&&!i[this.lhs.str]&&!this.sideEffects))return this.rhs=Wo(this.rhs,i,t),this}get names(){let i=this.lhs instanceof Ge.Name?{}:fe({},this.lhs.names);return Xc(i,this.rhs)}},pp=class extends Zc{constructor(i,t,s,r){super(i,s,r),this.op=t}render({_n:i}){return`${this.lhs} ${this.op}= ${this.rhs};`+i}},mp=class extends Ys{constructor(i){super(),this.label=i,this.names={}}render({_n:i}){return`${this.label}:`+i}},_p=class extends Ys{constructor(i){super(),this.label=i,this.names={}}render({_n:i}){return`break${this.label?` ${this.label}`:""};`+i}},hp=class extends Ys{constructor(i){super(),this.error=i}render({_n:i}){return`throw ${this.error};`+i}get names(){return this.error.names}},fp=class extends Ys{constructor(i){super(),this.code=i}render({_n:i}){return`${this.code};`+i}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(i,t){return this.code=Wo(this.code,i,t),this}get names(){return this.code instanceof Ge._CodeOrName?this.code.names:{}}},ha=class extends Ys{constructor(i=[]){super(),this.nodes=i}render(i){return this.nodes.reduce((t,s)=>t+s.render(i),"")}optimizeNodes(){let{nodes:i}=this,t=i.length;for(;t--;){let s=i[t].optimizeNodes();Array.isArray(s)?i.splice(t,1,...s):s?i[t]=s:i.splice(t,1)}return i.length>0?this:void 0}optimizeNames(i,t){let{nodes:s}=this,r=s.length;for(;r--;){let n=s[r];n.optimizeNames(i,t)||(xU(i,n.names),s.splice(r,1))}return s.length>0?this:void 0}get names(){return this.nodes.reduce((i,t)=>no(i,t.names),{})}},Js=class extends ha{render(i){return"{"+i._n+super.render(i)+"}"+i._n}},bp=class extends ha{},yp=(()=>{class e extends Js{}return e.kind="else",e})(),Jc=(()=>{class e extends Js{constructor(t,s){super(s),this.condition=t}render(t){let s=`if(${this.condition})`+super.render(t);return this.else&&(s+="else "+this.else.render(t)),s}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let s=this.else;if(s){let r=s.optimizeNodes();s=this.else=Array.isArray(r)?new yp(r):r}if(s)return t===!1?s instanceof e?s:s.nodes:this.nodes.length?this:new e(Kv(t),s instanceof e?[s]:s.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,s){var r;if(this.else=(r=this.else)===null||r===void 0?void 0:r.optimizeNames(t,s),!!(super.optimizeNames(t,s)||this.else))return this.condition=Wo(this.condition,t,s),this}get names(){let t=super.names;return Xc(t,this.condition),this.else&&no(t,this.else.names),t}}return e.kind="if",e})(),td=(()=>{class e extends Js{}return e.kind="for",e})(),vp=class extends td{constructor(i){super(),this.iteration=i}render(i){return`for(${this.iteration})`+super.render(i)}optimizeNames(i,t){if(super.optimizeNames(i,t))return this.iteration=Wo(this.iteration,i,t),this}get names(){return no(super.names,this.iteration.names)}},wp=class extends td{constructor(i,t,s,r){super(),this.varKind=i,this.name=t,this.from=s,this.to=r}render(i){let t=i.es5?ps.varKinds.var:this.varKind,{name:s,from:r,to:n}=this;return`for(${t} ${s}=${r}; ${s}<${n}; ${s}++)`+super.render(i)}get names(){let i=Xc(super.names,this.from);return Xc(i,this.to)}},Qc=class extends td{constructor(i,t,s,r){super(),this.loop=i,this.varKind=t,this.name=s,this.iterable=r}render(i){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(i)}optimizeNames(i,t){if(super.optimizeNames(i,t))return this.iterable=Wo(this.iterable,i,t),this}get names(){return no(super.names,this.iterable.names)}},Fv=(()=>{class e extends Js{constructor(t,s,r){super(),this.name=t,this.args=s,this.async=r}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}}return e.kind="func",e})(),Vv=(()=>{class e extends ha{render(t){return"return "+super.render(t)}}return e.kind="return",e})(),kp=class extends Js{render(i){let t="try"+super.render(i);return this.catch&&(t+=this.catch.render(i)),this.finally&&(t+=this.finally.render(i)),t}optimizeNodes(){var i,t;return super.optimizeNodes(),(i=this.catch)===null||i===void 0||i.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(i,t){var s,r;return super.optimizeNames(i,t),(s=this.catch)===null||s===void 0||s.optimizeNames(i,t),(r=this.finally)===null||r===void 0||r.optimizeNames(i,t),this}get names(){let i=super.names;return this.catch&&no(i,this.catch.names),this.finally&&no(i,this.finally.names),i}},Lv=(()=>{class e extends Js{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}}return e.kind="catch",e})(),qv=(()=>{class e extends Js{render(t){return"finally"+super.render(t)}}return e.kind="finally",e})(),Hp=class{constructor(i,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts=Le(fe({},t),{_n:t.lines?`
|
|
1
|
+
import{a as zv}from"./chunk-ROPHWVQU.js";import{a as ep,c as Cv,d as xv,e as Tv,f as $o,g as sU,h as tp}from"./chunk-RUAPRNAM.js";import{a as yv}from"./chunk-46GAMPZC.js";import{a as Sv}from"./chunk-XFAARHWA.js";import{a as Pv}from"./chunk-XJSITZKB.js";import{a as wv,b as kv,c as Hv}from"./chunk-4A2GGTS4.js";import{a as ga}from"./chunk-Q2JNFJIW.js";import{a as Iv}from"./chunk-YSLCQT67.js";import{a as $c,b as Ko}from"./chunk-VOHBPEFW.js";import{a as Lo,b as qo}from"./chunk-EGCKVLUA.js";import{a as vv}from"./chunk-AIYX4NS4.js";import{a as Oc,b as Fc,c as Vc,d as Lc,e as qc,f as Kc,g as Vo,m as Ct,n as ki,o as mv,p as _v,q as hv,r as fv,s as bv,t as Ir}from"./chunk-5SJKGEVE.js";import{A as pv,B as gs,C as ua,a as iv,b as Hr,c as ro,e as ei,f as sv,h as rv,i as ov,j as nv,k as av,l as Ji,m as lv,n as cv,o as dv,p as Sr,s as Fo,t as Cr,u as Xg,v as xr,w as uv,x as gv}from"./chunk-PJNMYOLO.js";import{a as Tr}from"./chunk-V27MEAG5.js";import{e as Ts}from"./chunk-5WBNDRQY.js";import{b as ht}from"./chunk-2FJR6XQC.js";import{k as ot,l as xt,n as nt,p as Pr,q as Ze}from"./chunk-WLYALIGF.js";import{$ as Wg,$b as re,$c as Uc,Aa as Cs,Ab as na,Bb as aa,Bc as ui,Ca as xs,Cb as la,Cc as ne,Da as qy,Db as ca,Dc as wr,E as Ry,Eb as da,Fa as Is,Ga as Ky,Gc as us,H as By,Ha as $y,Hc as so,I as zc,Ib as se,Ic as Zy,J as Uy,Jc as Qy,La as Oe,Lb as Q,M as Gg,Ma as Gy,Mb as Dc,Nb as H,P as Ro,Pa as Wy,Qa as m,R as Oy,Rb as Nc,Rc as wi,Sa as Mi,Sb as Mc,Sc as kr,Ta as hr,Tb as Ec,Tc as Xt,Ub as br,Va as Zg,Vb as yr,Wb as Rc,Xb as ci,Ya as Bo,Yb as Ei,Za as jc,Zb as _e,_a as oa,_b as A,a as fe,aa as Ac,ab as Ps,ac as ie,b as Le,ba as Yg,bc as vr,bd as Xy,c as Dy,ca as ds,cc as Bc,da as Fy,db as ve,dd as ev,e as w,eb as fr,fb as Ws,fc as Xe,g as lt,gb as Yy,gc as et,h as ue,ha as Jg,hc as tt,hd as tv,i as Xr,ia as gt,ja as _r,jb as Ie,jc as Jy,k as eo,kc as Uo,la as Gs,lc as rt,ma as Vy,mc as vi,n as Ue,na as j,nc as io,o as Pc,ob as Qg,oc as di,p as $g,pb as ge,pc as Oo,qa as Ly,qb as U,r as Ny,rb as O,s as My,sa as W,sc as D,ta as Y,tb as Jt,tc as B,ub as Zt,uc as zt,vb as Qt,w as Ey,wa as ra,wb as S,x as Pe,xa as to,xb as b,y as Tc,yb as f,zb as E}from"./chunk-EQP5UP7Q.js";var Bv=w(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.formatNames=As.fastFormats=As.fullFormats=void 0;function zs(e,i){return{validate:e,compare:i}}As.fullFormats={date:zs(Nv,op),time:zs(sp(!0),np),"date-time":zs(Av(!0),Ev),"iso-time":zs(sp(),Mv),"iso-date-time":zs(Av(),Rv),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:cU,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:hU,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:dU,int32:{type:"number",validate:pU},int64:{type:"number",validate:mU},float:{type:"number",validate:Dv},double:{type:"number",validate:Dv},password:!0,binary:!0};As.fastFormats=Le(fe({},As.fullFormats),{date:zs(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,op),time:zs(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,np),"date-time":zs(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ev),"iso-time":zs(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Mv),"iso-date-time":zs(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Rv),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i});As.formatNames=Object.keys(As.fullFormats);function rU(e){return e%4===0&&(e%100!==0||e%400===0)}var oU=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,nU=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Nv(e){let i=oU.exec(e);if(!i)return!1;let t=+i[1],s=+i[2],r=+i[3];return s>=1&&s<=12&&r>=1&&r<=(s===2&&rU(t)?29:nU[s])}function op(e,i){if(e&&i)return e>i?1:e<i?-1:0}var ip=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function sp(e){return function(t){let s=ip.exec(t);if(!s)return!1;let r=+s[1],n=+s[2],l=+s[3],c=s[4],u=s[5]==="-"?-1:1,p=+(s[6]||0),h=+(s[7]||0);if(p>23||h>59||e&&!c)return!1;if(r<=23&&n<=59&&l<60)return!0;let v=n-h*u,C=r-p*u-(v<0?1:0);return(C===23||C===-1)&&(v===59||v===-1)&&l<61}}function np(e,i){if(!(e&&i))return;let t=new Date("2020-01-01T"+e).valueOf(),s=new Date("2020-01-01T"+i).valueOf();if(t&&s)return t-s}function Mv(e,i){if(!(e&&i))return;let t=ip.exec(e),s=ip.exec(i);if(t&&s)return e=t[1]+t[2]+t[3],i=s[1]+s[2]+s[3],e>i?1:e<i?-1:0}var rp=/t|\s/i;function Av(e){let i=sp(e);return function(s){let r=s.split(rp);return r.length===2&&Nv(r[0])&&i(r[1])}}function Ev(e,i){if(!(e&&i))return;let t=new Date(e).valueOf(),s=new Date(i).valueOf();if(t&&s)return t-s}function Rv(e,i){if(!(e&&i))return;let[t,s]=e.split(rp),[r,n]=i.split(rp),l=op(t,r);if(l!==void 0)return l||np(s,n)}var aU=/\/|:/,lU=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function cU(e){return aU.test(e)&&lU.test(e)}var jv=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function dU(e){return jv.lastIndex=0,jv.test(e)}var uU=-(2**31),gU=2**31-1;function pU(e){return Number.isInteger(e)&&e<=gU&&e>=uU}function mU(e){return Number.isInteger(e)}function Dv(){return!0}var _U=/[^\\]\\Z/;function hU(e){if(_U.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var _a=w(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.regexpCode=Ye.getEsmExportName=Ye.getProperty=Ye.safeStringify=Ye.stringify=Ye.strConcat=Ye.addCodeArg=Ye.str=Ye._=Ye.nil=Ye._Code=Ye.Name=Ye.IDENTIFIER=Ye._CodeOrName=void 0;var pa=class{};Ye._CodeOrName=pa;Ye.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var oo=class extends pa{constructor(i){if(super(),!Ye.IDENTIFIER.test(i))throw new Error("CodeGen: name must be a valid identifier");this.str=i}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Ye.Name=oo;var Zi=class extends pa{constructor(i){super(),this._items=typeof i=="string"?[i]:i}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let i=this._items[0];return i===""||i==='""'}get str(){var i;return(i=this._str)!==null&&i!==void 0?i:this._str=this._items.reduce((t,s)=>`${t}${s}`,"")}get names(){var i;return(i=this._names)!==null&&i!==void 0?i:this._names=this._items.reduce((t,s)=>(s instanceof oo&&(t[s.str]=(t[s.str]||0)+1),t),{})}};Ye._Code=Zi;Ye.nil=new Zi("");function Uv(e,...i){let t=[e[0]],s=0;for(;s<i.length;)lp(t,i[s]),t.push(e[++s]);return new Zi(t)}Ye._=Uv;var ap=new Zi("+");function Ov(e,...i){let t=[ma(e[0])],s=0;for(;s<i.length;)t.push(ap),lp(t,i[s]),t.push(ap,ma(e[++s]));return fU(t),new Zi(t)}Ye.str=Ov;function lp(e,i){i instanceof Zi?e.push(...i._items):i instanceof oo?e.push(i):e.push(vU(i))}Ye.addCodeArg=lp;function fU(e){let i=1;for(;i<e.length-1;){if(e[i]===ap){let t=bU(e[i-1],e[i+1]);if(t!==void 0){e.splice(i-1,3,t);continue}e[i++]="+"}i++}}function bU(e,i){if(i==='""')return e;if(e==='""')return i;if(typeof e=="string")return i instanceof oo||e[e.length-1]!=='"'?void 0:typeof i!="string"?`${e.slice(0,-1)}${i}"`:i[0]==='"'?e.slice(0,-1)+i.slice(1):void 0;if(typeof i=="string"&&i[0]==='"'&&!(e instanceof oo))return`"${e}${i.slice(1)}`}function yU(e,i){return i.emptyStr()?e:e.emptyStr()?i:Ov`${e}${i}`}Ye.strConcat=yU;function vU(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:ma(Array.isArray(e)?e.join(","):e)}function wU(e){return new Zi(ma(e))}Ye.stringify=wU;function ma(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Ye.safeStringify=ma;function kU(e){return typeof e=="string"&&Ye.IDENTIFIER.test(e)?new Zi(`.${e}`):Uv`[${e}]`}Ye.getProperty=kU;function HU(e){if(typeof e=="string"&&Ye.IDENTIFIER.test(e))return new Zi(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Ye.getEsmExportName=HU;function SU(e){return new Zi(e.toString())}Ye.regexpCode=SU});var up=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.ValueScope=Si.ValueScopeName=Si.Scope=Si.varKinds=Si.UsedValueState=void 0;var Hi=_a(),cp=class extends Error{constructor(i){super(`CodeGen: "code" for ${i} not defined`),this.value=i.value}},Gc=(function(e){return e[e.Started=0]="Started",e[e.Completed=1]="Completed",e})(Gc||(Si.UsedValueState=Gc={}));Si.varKinds={const:new Hi.Name("const"),let:new Hi.Name("let"),var:new Hi.Name("var")};var Wc=class{constructor({prefixes:i,parent:t}={}){this._names={},this._prefixes=i,this._parent=t}toName(i){return i instanceof Hi.Name?i:this.name(i)}name(i){return new Hi.Name(this._newName(i))}_newName(i){let t=this._names[i]||this._nameGroup(i);return`${i}${t.index++}`}_nameGroup(i){var t,s;if(!((s=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||s===void 0)&&s.has(i)||this._prefixes&&!this._prefixes.has(i))throw new Error(`CodeGen: prefix "${i}" is not allowed in this scope`);return this._names[i]={prefix:i,index:0}}};Si.Scope=Wc;var Yc=class extends Hi.Name{constructor(i,t){super(t),this.prefix=i}setValue(i,{property:t,itemIndex:s}){this.value=i,this.scopePath=(0,Hi._)`.${new Hi.Name(t)}[${s}]`}};Si.ValueScopeName=Yc;var CU=(0,Hi._)`\n`,dp=class extends Wc{constructor(i){super(i),this._values={},this._scope=i.scope,this.opts=Le(fe({},i),{_n:i.lines?CU:Hi.nil})}get(){return this._scope}name(i){return new Yc(i,this._newName(i))}value(i,t){var s;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let r=this.toName(i),{prefix:n}=r,l=(s=t.key)!==null&&s!==void 0?s:t.ref,c=this._values[n];if(c){let h=c.get(l);if(h)return h}else c=this._values[n]=new Map;c.set(l,r);let u=this._scope[n]||(this._scope[n]=[]),p=u.length;return u[p]=t.ref,r.setValue(t,{property:n,itemIndex:p}),r}getValue(i,t){let s=this._values[i];if(s)return s.get(t)}scopeRefs(i,t=this._values){return this._reduceValues(t,s=>{if(s.scopePath===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return(0,Hi._)`${i}${s.scopePath}`})}scopeCode(i=this._values,t,s){return this._reduceValues(i,r=>{if(r.value===void 0)throw new Error(`CodeGen: name "${r}" has no value`);return r.value.code},t,s)}_reduceValues(i,t,s={},r){let n=Hi.nil;for(let l in i){let c=i[l];if(!c)continue;let u=s[l]=s[l]||new Map;c.forEach(p=>{if(u.has(p))return;u.set(p,Gc.Started);let h=t(p);if(h){let v=this.opts.es5?Si.varKinds.var:Si.varKinds.const;n=(0,Hi._)`${n}${v} ${p} = ${h};${this.opts._n}`}else if(h=r?.(p))n=(0,Hi._)`${n}${h}${this.opts._n}`;else throw new cp(p);u.set(p,Gc.Completed)})}return n}};Si.ValueScope=dp});var we=w(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.or=Be.and=Be.not=Be.CodeGen=Be.operators=Be.varKinds=Be.ValueScopeName=Be.ValueScope=Be.Scope=Be.Name=Be.regexpCode=Be.stringify=Be.getProperty=Be.nil=Be.strConcat=Be.str=Be._=void 0;var Ge=_a(),ps=up(),zr=_a();Object.defineProperty(Be,"_",{enumerable:!0,get:function(){return zr._}});Object.defineProperty(Be,"str",{enumerable:!0,get:function(){return zr.str}});Object.defineProperty(Be,"strConcat",{enumerable:!0,get:function(){return zr.strConcat}});Object.defineProperty(Be,"nil",{enumerable:!0,get:function(){return zr.nil}});Object.defineProperty(Be,"getProperty",{enumerable:!0,get:function(){return zr.getProperty}});Object.defineProperty(Be,"stringify",{enumerable:!0,get:function(){return zr.stringify}});Object.defineProperty(Be,"regexpCode",{enumerable:!0,get:function(){return zr.regexpCode}});Object.defineProperty(Be,"Name",{enumerable:!0,get:function(){return zr.Name}});var ed=up();Object.defineProperty(Be,"Scope",{enumerable:!0,get:function(){return ed.Scope}});Object.defineProperty(Be,"ValueScope",{enumerable:!0,get:function(){return ed.ValueScope}});Object.defineProperty(Be,"ValueScopeName",{enumerable:!0,get:function(){return ed.ValueScopeName}});Object.defineProperty(Be,"varKinds",{enumerable:!0,get:function(){return ed.varKinds}});Be.operators={GT:new Ge._Code(">"),GTE:new Ge._Code(">="),LT:new Ge._Code("<"),LTE:new Ge._Code("<="),EQ:new Ge._Code("==="),NEQ:new Ge._Code("!=="),NOT:new Ge._Code("!"),OR:new Ge._Code("||"),AND:new Ge._Code("&&"),ADD:new Ge._Code("+")};var Ys=class{optimizeNodes(){return this}optimizeNames(i,t){return this}},gp=class extends Ys{constructor(i,t,s){super(),this.varKind=i,this.name=t,this.rhs=s}render({es5:i,_n:t}){let s=i?ps.varKinds.var:this.varKind,r=this.rhs===void 0?"":` = ${this.rhs}`;return`${s} ${this.name}${r};`+t}optimizeNames(i,t){if(i[this.name.str])return this.rhs&&(this.rhs=Wo(this.rhs,i,t)),this}get names(){return this.rhs instanceof Ge._CodeOrName?this.rhs.names:{}}},Zc=class extends Ys{constructor(i,t,s){super(),this.lhs=i,this.rhs=t,this.sideEffects=s}render({_n:i}){return`${this.lhs} = ${this.rhs};`+i}optimizeNames(i,t){if(!(this.lhs instanceof Ge.Name&&!i[this.lhs.str]&&!this.sideEffects))return this.rhs=Wo(this.rhs,i,t),this}get names(){let i=this.lhs instanceof Ge.Name?{}:fe({},this.lhs.names);return Xc(i,this.rhs)}},pp=class extends Zc{constructor(i,t,s,r){super(i,s,r),this.op=t}render({_n:i}){return`${this.lhs} ${this.op}= ${this.rhs};`+i}},mp=class extends Ys{constructor(i){super(),this.label=i,this.names={}}render({_n:i}){return`${this.label}:`+i}},_p=class extends Ys{constructor(i){super(),this.label=i,this.names={}}render({_n:i}){return`break${this.label?` ${this.label}`:""};`+i}},hp=class extends Ys{constructor(i){super(),this.error=i}render({_n:i}){return`throw ${this.error};`+i}get names(){return this.error.names}},fp=class extends Ys{constructor(i){super(),this.code=i}render({_n:i}){return`${this.code};`+i}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(i,t){return this.code=Wo(this.code,i,t),this}get names(){return this.code instanceof Ge._CodeOrName?this.code.names:{}}},ha=class extends Ys{constructor(i=[]){super(),this.nodes=i}render(i){return this.nodes.reduce((t,s)=>t+s.render(i),"")}optimizeNodes(){let{nodes:i}=this,t=i.length;for(;t--;){let s=i[t].optimizeNodes();Array.isArray(s)?i.splice(t,1,...s):s?i[t]=s:i.splice(t,1)}return i.length>0?this:void 0}optimizeNames(i,t){let{nodes:s}=this,r=s.length;for(;r--;){let n=s[r];n.optimizeNames(i,t)||(xU(i,n.names),s.splice(r,1))}return s.length>0?this:void 0}get names(){return this.nodes.reduce((i,t)=>no(i,t.names),{})}},Js=class extends ha{render(i){return"{"+i._n+super.render(i)+"}"+i._n}},bp=class extends ha{},yp=(()=>{class e extends Js{}return e.kind="else",e})(),Jc=(()=>{class e extends Js{constructor(t,s){super(s),this.condition=t}render(t){let s=`if(${this.condition})`+super.render(t);return this.else&&(s+="else "+this.else.render(t)),s}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let s=this.else;if(s){let r=s.optimizeNodes();s=this.else=Array.isArray(r)?new yp(r):r}if(s)return t===!1?s instanceof e?s:s.nodes:this.nodes.length?this:new e(Kv(t),s instanceof e?[s]:s.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,s){var r;if(this.else=(r=this.else)===null||r===void 0?void 0:r.optimizeNames(t,s),!!(super.optimizeNames(t,s)||this.else))return this.condition=Wo(this.condition,t,s),this}get names(){let t=super.names;return Xc(t,this.condition),this.else&&no(t,this.else.names),t}}return e.kind="if",e})(),td=(()=>{class e extends Js{}return e.kind="for",e})(),vp=class extends td{constructor(i){super(),this.iteration=i}render(i){return`for(${this.iteration})`+super.render(i)}optimizeNames(i,t){if(super.optimizeNames(i,t))return this.iteration=Wo(this.iteration,i,t),this}get names(){return no(super.names,this.iteration.names)}},wp=class extends td{constructor(i,t,s,r){super(),this.varKind=i,this.name=t,this.from=s,this.to=r}render(i){let t=i.es5?ps.varKinds.var:this.varKind,{name:s,from:r,to:n}=this;return`for(${t} ${s}=${r}; ${s}<${n}; ${s}++)`+super.render(i)}get names(){let i=Xc(super.names,this.from);return Xc(i,this.to)}},Qc=class extends td{constructor(i,t,s,r){super(),this.loop=i,this.varKind=t,this.name=s,this.iterable=r}render(i){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(i)}optimizeNames(i,t){if(super.optimizeNames(i,t))return this.iterable=Wo(this.iterable,i,t),this}get names(){return no(super.names,this.iterable.names)}},Fv=(()=>{class e extends Js{constructor(t,s,r){super(),this.name=t,this.args=s,this.async=r}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}}return e.kind="func",e})(),Vv=(()=>{class e extends ha{render(t){return"return "+super.render(t)}}return e.kind="return",e})(),kp=class extends Js{render(i){let t="try"+super.render(i);return this.catch&&(t+=this.catch.render(i)),this.finally&&(t+=this.finally.render(i)),t}optimizeNodes(){var i,t;return super.optimizeNodes(),(i=this.catch)===null||i===void 0||i.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(i,t){var s,r;return super.optimizeNames(i,t),(s=this.catch)===null||s===void 0||s.optimizeNames(i,t),(r=this.finally)===null||r===void 0||r.optimizeNames(i,t),this}get names(){let i=super.names;return this.catch&&no(i,this.catch.names),this.finally&&no(i,this.finally.names),i}},Lv=(()=>{class e extends Js{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}}return e.kind="catch",e})(),qv=(()=>{class e extends Js{render(t){return"finally"+super.render(t)}}return e.kind="finally",e})(),Hp=class{constructor(i,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts=Le(fe({},t),{_n:t.lines?`
|
|
2
2
|
`:""}),this._extScope=i,this._scope=new ps.Scope({parent:i}),this._nodes=[new bp]}toString(){return this._root.render(this.opts)}name(i){return this._scope.name(i)}scopeName(i){return this._extScope.name(i)}scopeValue(i,t){let s=this._extScope.value(i,t);return(this._values[s.prefix]||(this._values[s.prefix]=new Set)).add(s),s}getScopeValue(i,t){return this._extScope.getValue(i,t)}scopeRefs(i){return this._extScope.scopeRefs(i,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(i,t,s,r){let n=this._scope.toName(t);return s!==void 0&&r&&(this._constants[n.str]=s),this._leafNode(new gp(i,n,s)),n}const(i,t,s){return this._def(ps.varKinds.const,i,t,s)}let(i,t,s){return this._def(ps.varKinds.let,i,t,s)}var(i,t,s){return this._def(ps.varKinds.var,i,t,s)}assign(i,t,s){return this._leafNode(new Zc(i,t,s))}add(i,t){return this._leafNode(new pp(i,Be.operators.ADD,t))}code(i){return typeof i=="function"?i():i!==Ge.nil&&this._leafNode(new fp(i)),this}object(...i){let t=["{"];for(let[s,r]of i)t.length>1&&t.push(","),t.push(s),(s!==r||this.opts.es5)&&(t.push(":"),(0,Ge.addCodeArg)(t,r));return t.push("}"),new Ge._Code(t)}if(i,t,s){if(this._blockNode(new Jc(i)),t&&s)this.code(t).else().code(s).endIf();else if(t)this.code(t).endIf();else if(s)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(i){return this._elseNode(new Jc(i))}else(){return this._elseNode(new yp)}endIf(){return this._endBlockNode(Jc,yp)}_for(i,t){return this._blockNode(i),t&&this.code(t).endFor(),this}for(i,t){return this._for(new vp(i),t)}forRange(i,t,s,r,n=this.opts.es5?ps.varKinds.var:ps.varKinds.let){let l=this._scope.toName(i);return this._for(new wp(n,l,t,s),()=>r(l))}forOf(i,t,s,r=ps.varKinds.const){let n=this._scope.toName(i);if(this.opts.es5){let l=t instanceof Ge.Name?t:this.var("_arr",t);return this.forRange("_i",0,(0,Ge._)`${l}.length`,c=>{this.var(n,(0,Ge._)`${l}[${c}]`),s(n)})}return this._for(new Qc("of",r,n,t),()=>s(n))}forIn(i,t,s,r=this.opts.es5?ps.varKinds.var:ps.varKinds.const){if(this.opts.ownProperties)return this.forOf(i,(0,Ge._)`Object.keys(${t})`,s);let n=this._scope.toName(i);return this._for(new Qc("in",r,n,t),()=>s(n))}endFor(){return this._endBlockNode(td)}label(i){return this._leafNode(new mp(i))}break(i){return this._leafNode(new _p(i))}return(i){let t=new Vv;if(this._blockNode(t),this.code(i),t.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Vv)}try(i,t,s){if(!t&&!s)throw new Error('CodeGen: "try" without "catch" and "finally"');let r=new kp;if(this._blockNode(r),this.code(i),t){let n=this.name("e");this._currNode=r.catch=new Lv(n),t(n)}return s&&(this._currNode=r.finally=new qv,this.code(s)),this._endBlockNode(Lv,qv)}throw(i){return this._leafNode(new hp(i))}block(i,t){return this._blockStarts.push(this._nodes.length),i&&this.code(i).endBlock(t),this}endBlock(i){let t=this._blockStarts.pop();if(t===void 0)throw new Error("CodeGen: not in self-balancing block");let s=this._nodes.length-t;if(s<0||i!==void 0&&s!==i)throw new Error(`CodeGen: wrong number of nodes: ${s} vs ${i} expected`);return this._nodes.length=t,this}func(i,t=Ge.nil,s,r){return this._blockNode(new Fv(i,t,s)),r&&this.code(r).endFunc(),this}endFunc(){return this._endBlockNode(Fv)}optimize(i=1){for(;i-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(i){return this._currNode.nodes.push(i),this}_blockNode(i){this._currNode.nodes.push(i),this._nodes.push(i)}_endBlockNode(i,t){let s=this._currNode;if(s instanceof i||t&&s instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${i.kind}/${t.kind}`:i.kind}"`)}_elseNode(i){let t=this._currNode;if(!(t instanceof Jc))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=i,this}get _root(){return this._nodes[0]}get _currNode(){let i=this._nodes;return i[i.length-1]}set _currNode(i){let t=this._nodes;t[t.length-1]=i}};Be.CodeGen=Hp;function no(e,i){for(let t in i)e[t]=(e[t]||0)+(i[t]||0);return e}function Xc(e,i){return i instanceof Ge._CodeOrName?no(e,i.names):e}function Wo(e,i,t){if(e instanceof Ge.Name)return s(e);if(!r(e))return e;return new Ge._Code(e._items.reduce((n,l)=>(l instanceof Ge.Name&&(l=s(l)),l instanceof Ge._Code?n.push(...l._items):n.push(l),n),[]));function s(n){let l=t[n.str];return l===void 0||i[n.str]!==1?n:(delete i[n.str],l)}function r(n){return n instanceof Ge._Code&&n._items.some(l=>l instanceof Ge.Name&&i[l.str]===1&&t[l.str]!==void 0)}}function xU(e,i){for(let t in i)e[t]=(e[t]||0)-(i[t]||0)}function Kv(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,Ge._)`!${Sp(e)}`}Be.not=Kv;var IU=$v(Be.operators.AND);function PU(...e){return e.reduce(IU)}Be.and=PU;var TU=$v(Be.operators.OR);function zU(...e){return e.reduce(TU)}Be.or=zU;function $v(e){return(i,t)=>i===Ge.nil?t:t===Ge.nil?i:(0,Ge._)`${Sp(i)} ${e} ${Sp(t)}`}function Sp(e){return e instanceof Ge.Name?e:(0,Ge._)`(${e})`}});var qe=w(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.checkStrictMode=Fe.getErrorPath=Fe.Type=Fe.useFunc=Fe.setEvaluated=Fe.evaluatedPropsToName=Fe.mergeEvaluated=Fe.eachItem=Fe.unescapeJsonPointer=Fe.escapeJsonPointer=Fe.escapeFragment=Fe.unescapeFragment=Fe.schemaRefOrVal=Fe.schemaHasRulesButRef=Fe.schemaHasRules=Fe.checkUnknownRules=Fe.alwaysValidSchema=Fe.toHash=void 0;var pt=we(),AU=_a();function jU(e){let i={};for(let t of e)i[t]=!0;return i}Fe.toHash=jU;function DU(e,i){return typeof i=="boolean"?i:Object.keys(i).length===0?!0:(Yv(e,i),!Jv(i,e.self.RULES.all))}Fe.alwaysValidSchema=DU;function Yv(e,i=e.schema){let{opts:t,self:s}=e;if(!t.strictSchema||typeof i=="boolean")return;let r=s.RULES.keywords;for(let n in i)r[n]||Xv(e,`unknown keyword: "${n}"`)}Fe.checkUnknownRules=Yv;function Jv(e,i){if(typeof e=="boolean")return!e;for(let t in e)if(i[t])return!0;return!1}Fe.schemaHasRules=Jv;function NU(e,i){if(typeof e=="boolean")return!e;for(let t in e)if(t!=="$ref"&&i.all[t])return!0;return!1}Fe.schemaHasRulesButRef=NU;function MU({topSchemaRef:e,schemaPath:i},t,s,r){if(!r){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,pt._)`${t}`}return(0,pt._)`${e}${i}${(0,pt.getProperty)(s)}`}Fe.schemaRefOrVal=MU;function EU(e){return Zv(decodeURIComponent(e))}Fe.unescapeFragment=EU;function RU(e){return encodeURIComponent(xp(e))}Fe.escapeFragment=RU;function xp(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}Fe.escapeJsonPointer=xp;function Zv(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}Fe.unescapeJsonPointer=Zv;function BU(e,i){if(Array.isArray(e))for(let t of e)i(t);else i(e)}Fe.eachItem=BU;function Gv({mergeNames:e,mergeToName:i,mergeValues:t,resultToName:s}){return(r,n,l,c)=>{let u=l===void 0?n:l instanceof pt.Name?(n instanceof pt.Name?e(r,n,l):i(r,n,l),l):n instanceof pt.Name?(i(r,l,n),n):t(n,l);return c===pt.Name&&!(u instanceof pt.Name)?s(r,u):u}}Fe.mergeEvaluated={props:Gv({mergeNames:(e,i,t)=>e.if((0,pt._)`${t} !== true && ${i} !== undefined`,()=>{e.if((0,pt._)`${i} === true`,()=>e.assign(t,!0),()=>e.assign(t,(0,pt._)`${t} || {}`).code((0,pt._)`Object.assign(${t}, ${i})`))}),mergeToName:(e,i,t)=>e.if((0,pt._)`${t} !== true`,()=>{i===!0?e.assign(t,!0):(e.assign(t,(0,pt._)`${t} || {}`),Ip(e,t,i))}),mergeValues:(e,i)=>e===!0?!0:fe(fe({},e),i),resultToName:Qv}),items:Gv({mergeNames:(e,i,t)=>e.if((0,pt._)`${t} !== true && ${i} !== undefined`,()=>e.assign(t,(0,pt._)`${i} === true ? true : ${t} > ${i} ? ${t} : ${i}`)),mergeToName:(e,i,t)=>e.if((0,pt._)`${t} !== true`,()=>e.assign(t,i===!0?!0:(0,pt._)`${t} > ${i} ? ${t} : ${i}`)),mergeValues:(e,i)=>e===!0?!0:Math.max(e,i),resultToName:(e,i)=>e.var("items",i)})};function Qv(e,i){if(i===!0)return e.var("props",!0);let t=e.var("props",(0,pt._)`{}`);return i!==void 0&&Ip(e,t,i),t}Fe.evaluatedPropsToName=Qv;function Ip(e,i,t){Object.keys(t).forEach(s=>e.assign((0,pt._)`${i}${(0,pt.getProperty)(s)}`,!0))}Fe.setEvaluated=Ip;var Wv={};function UU(e,i){return e.scopeValue("func",{ref:i,code:Wv[i.code]||(Wv[i.code]=new AU._Code(i.code))})}Fe.useFunc=UU;var Cp=(function(e){return e[e.Num=0]="Num",e[e.Str=1]="Str",e})(Cp||(Fe.Type=Cp={}));function OU(e,i,t){if(e instanceof pt.Name){let s=i===Cp.Num;return t?s?(0,pt._)`"[" + ${e} + "]"`:(0,pt._)`"['" + ${e} + "']"`:s?(0,pt._)`"/" + ${e}`:(0,pt._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,pt.getProperty)(e).toString():"/"+xp(e)}Fe.getErrorPath=OU;function Xv(e,i,t=e.opts.strictSchema){if(t){if(i=`strict mode: ${i}`,t===!0)throw new Error(i);e.self.logger.warn(i)}}Fe.checkStrictMode=Xv});var Qi=w(Pp=>{"use strict";Object.defineProperty(Pp,"__esModule",{value:!0});var ti=we(),FU={data:new ti.Name("data"),valCxt:new ti.Name("valCxt"),instancePath:new ti.Name("instancePath"),parentData:new ti.Name("parentData"),parentDataProperty:new ti.Name("parentDataProperty"),rootData:new ti.Name("rootData"),dynamicAnchors:new ti.Name("dynamicAnchors"),vErrors:new ti.Name("vErrors"),errors:new ti.Name("errors"),this:new ti.Name("this"),self:new ti.Name("self"),scope:new ti.Name("scope"),json:new ti.Name("json"),jsonPos:new ti.Name("jsonPos"),jsonLen:new ti.Name("jsonLen"),jsonPart:new ti.Name("jsonPart")};Pp.default=FU});var fa=w(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.extendErrors=ii.resetErrorsCount=ii.reportExtraError=ii.reportError=ii.keyword$DataError=ii.keywordError=void 0;var We=we(),id=qe(),gi=Qi();ii.keywordError={message:({keyword:e})=>(0,We.str)`must pass "${e}" keyword validation`};ii.keyword$DataError={message:({keyword:e,schemaType:i})=>i?(0,We.str)`"${e}" keyword must be ${i} ($data)`:(0,We.str)`"${e}" keyword is invalid ($data)`};function VU(e,i=ii.keywordError,t,s){let{it:r}=e,{gen:n,compositeRule:l,allErrors:c}=r,u=iw(e,i,t);s??(l||c)?ew(n,u):tw(r,(0,We._)`[${u}]`)}ii.reportError=VU;function LU(e,i=ii.keywordError,t){let{it:s}=e,{gen:r,compositeRule:n,allErrors:l}=s,c=iw(e,i,t);ew(r,c),n||l||tw(s,gi.default.vErrors)}ii.reportExtraError=LU;function qU(e,i){e.assign(gi.default.errors,i),e.if((0,We._)`${gi.default.vErrors} !== null`,()=>e.if(i,()=>e.assign((0,We._)`${gi.default.vErrors}.length`,i),()=>e.assign(gi.default.vErrors,null)))}ii.resetErrorsCount=qU;function KU({gen:e,keyword:i,schemaValue:t,data:s,errsCount:r,it:n}){if(r===void 0)throw new Error("ajv implementation error");let l=e.name("err");e.forRange("i",r,gi.default.errors,c=>{e.const(l,(0,We._)`${gi.default.vErrors}[${c}]`),e.if((0,We._)`${l}.instancePath === undefined`,()=>e.assign((0,We._)`${l}.instancePath`,(0,We.strConcat)(gi.default.instancePath,n.errorPath))),e.assign((0,We._)`${l}.schemaPath`,(0,We.str)`${n.errSchemaPath}/${i}`),n.opts.verbose&&(e.assign((0,We._)`${l}.schema`,t),e.assign((0,We._)`${l}.data`,s))})}ii.extendErrors=KU;function ew(e,i){let t=e.const("err",i);e.if((0,We._)`${gi.default.vErrors} === null`,()=>e.assign(gi.default.vErrors,(0,We._)`[${t}]`),(0,We._)`${gi.default.vErrors}.push(${t})`),e.code((0,We._)`${gi.default.errors}++`)}function tw(e,i){let{gen:t,validateName:s,schemaEnv:r}=e;r.$async?t.throw((0,We._)`new ${e.ValidationError}(${i})`):(t.assign((0,We._)`${s}.errors`,i),t.return(!1))}var ao={keyword:new We.Name("keyword"),schemaPath:new We.Name("schemaPath"),params:new We.Name("params"),propertyName:new We.Name("propertyName"),message:new We.Name("message"),schema:new We.Name("schema"),parentSchema:new We.Name("parentSchema")};function iw(e,i,t){let{createErrors:s}=e.it;return s===!1?(0,We._)`{}`:$U(e,i,t)}function $U(e,i,t={}){let{gen:s,it:r}=e,n=[GU(r,t),WU(e,t)];return YU(e,i,n),s.object(...n)}function GU({errorPath:e},{instancePath:i}){let t=i?(0,We.str)`${e}${(0,id.getErrorPath)(i,id.Type.Str)}`:e;return[gi.default.instancePath,(0,We.strConcat)(gi.default.instancePath,t)]}function WU({keyword:e,it:{errSchemaPath:i}},{schemaPath:t,parentSchema:s}){let r=s?i:(0,We.str)`${i}/${e}`;return t&&(r=(0,We.str)`${r}${(0,id.getErrorPath)(t,id.Type.Str)}`),[ao.schemaPath,r]}function YU(e,{params:i,message:t},s){let{keyword:r,data:n,schemaValue:l,it:c}=e,{opts:u,propertyName:p,topSchemaRef:h,schemaPath:v}=c;s.push([ao.keyword,r],[ao.params,typeof i=="function"?i(e):i||(0,We._)`{}`]),u.messages&&s.push([ao.message,typeof t=="function"?t(e):t]),u.verbose&&s.push([ao.schema,l],[ao.parentSchema,(0,We._)`${h}${v}`],[gi.default.data,n]),p&&s.push([ao.propertyName,p])}});var rw=w(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.boolOrEmptySchema=Yo.topBoolOrEmptySchema=void 0;var JU=fa(),ZU=we(),QU=Qi(),XU={message:"boolean schema is false"};function eO(e){let{gen:i,schema:t,validateName:s}=e;t===!1?sw(e,!1):typeof t=="object"&&t.$async===!0?i.return(QU.default.data):(i.assign((0,ZU._)`${s}.errors`,null),i.return(!0))}Yo.topBoolOrEmptySchema=eO;function tO(e,i){let{gen:t,schema:s}=e;s===!1?(t.var(i,!1),sw(e)):t.var(i,!0)}Yo.boolOrEmptySchema=tO;function sw(e,i){let{gen:t,data:s}=e,r={gen:t,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,JU.reportError)(r,XU,void 0,i)}});var Tp=w(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.getRules=Jo.isJSONType=void 0;var iO=["string","number","integer","boolean","null","object","array"],sO=new Set(iO);function rO(e){return typeof e=="string"&&sO.has(e)}Jo.isJSONType=rO;function oO(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:Le(fe({},e),{integer:!0,boolean:!0,null:!0}),rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Jo.getRules=oO});var zp=w(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.shouldUseRule=Ar.shouldUseGroup=Ar.schemaHasRulesForType=void 0;function nO({schema:e,self:i},t){let s=i.RULES.types[t];return s&&s!==!0&&ow(e,s)}Ar.schemaHasRulesForType=nO;function ow(e,i){return i.rules.some(t=>nw(e,t))}Ar.shouldUseGroup=ow;function nw(e,i){var t;return e[i.keyword]!==void 0||((t=i.definition.implements)===null||t===void 0?void 0:t.some(s=>e[s]!==void 0))}Ar.shouldUseRule=nw});var ba=w(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.reportTypeError=si.checkDataTypes=si.checkDataType=si.coerceAndCheckDataType=si.getJSONTypes=si.getSchemaTypes=si.DataType=void 0;var aO=Tp(),lO=zp(),cO=fa(),Ne=we(),aw=qe(),Zo=(function(e){return e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong",e})(Zo||(si.DataType=Zo={}));function dO(e){let i=lw(e.type);if(i.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!i.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&i.push("null")}return i}si.getSchemaTypes=dO;function lw(e){let i=Array.isArray(e)?e:e?[e]:[];if(i.every(aO.isJSONType))return i;throw new Error("type must be JSONType or JSONType[]: "+i.join(","))}si.getJSONTypes=lw;function uO(e,i){let{gen:t,data:s,opts:r}=e,n=gO(i,r.coerceTypes),l=i.length>0&&!(n.length===0&&i.length===1&&(0,lO.schemaHasRulesForType)(e,i[0]));if(l){let c=jp(i,s,r.strictNumbers,Zo.Wrong);t.if(c,()=>{n.length?pO(e,i,n):Dp(e)})}return l}si.coerceAndCheckDataType=uO;var cw=new Set(["string","number","integer","boolean","null"]);function gO(e,i){return i?e.filter(t=>cw.has(t)||i==="array"&&t==="array"):[]}function pO(e,i,t){let{gen:s,data:r,opts:n}=e,l=s.let("dataType",(0,Ne._)`typeof ${r}`),c=s.let("coerced",(0,Ne._)`undefined`);n.coerceTypes==="array"&&s.if((0,Ne._)`${l} == 'object' && Array.isArray(${r}) && ${r}.length == 1`,()=>s.assign(r,(0,Ne._)`${r}[0]`).assign(l,(0,Ne._)`typeof ${r}`).if(jp(i,r,n.strictNumbers),()=>s.assign(c,r))),s.if((0,Ne._)`${c} !== undefined`);for(let p of t)(cw.has(p)||p==="array"&&n.coerceTypes==="array")&&u(p);s.else(),Dp(e),s.endIf(),s.if((0,Ne._)`${c} !== undefined`,()=>{s.assign(r,c),mO(e,c)});function u(p){switch(p){case"string":s.elseIf((0,Ne._)`${l} == "number" || ${l} == "boolean"`).assign(c,(0,Ne._)`"" + ${r}`).elseIf((0,Ne._)`${r} === null`).assign(c,(0,Ne._)`""`);return;case"number":s.elseIf((0,Ne._)`${l} == "boolean" || ${r} === null
|
|
3
3
|
|| (${l} == "string" && ${r} && ${r} == +${r})`).assign(c,(0,Ne._)`+${r}`);return;case"integer":s.elseIf((0,Ne._)`${l} === "boolean" || ${r} === null
|
|
4
4
|
|| (${l} === "string" && ${r} && ${r} == +${r} && !(${r} % 1))`).assign(c,(0,Ne._)`+${r}`);return;case"boolean":s.elseIf((0,Ne._)`${r} === "false" || ${r} === 0 || ${r} === null`).assign(c,!1).elseIf((0,Ne._)`${r} === "true" || ${r} === 1`).assign(c,!0);return;case"null":s.elseIf((0,Ne._)`${r} === "" || ${r} === 0 || ${r} === false`),s.assign(c,null);return;case"array":s.elseIf((0,Ne._)`${l} === "string" || ${l} === "number"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as r}from"./chunk-5WBNDRQY.js";import{eb as o,ja as e}from"./chunk-EQP5UP7Q.js";var m=[{path:"",loadComponent:()=>import("./chunk-
|
|
1
|
+
import{h as r}from"./chunk-5WBNDRQY.js";import{eb as o,ja as e}from"./chunk-EQP5UP7Q.js";var m=[{path:"",loadComponent:()=>import("./chunk-GNRQH4AB.js").then(t=>t.TerminalComponent),canDeactivate:[t=>t.canDeactivate?t.canDeactivate():!0]}],n=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=o({type:t});static \u0275inj=e({imports:[r.forChild(m),r]})}return t})();var s=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=o({type:t});static \u0275inj=e({imports:[n]})}return t})();export{s as TerminalModule};
|