homebridge-config-ui-x 5.4.2-beta.17 → 5.4.2-beta.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/core/auth/auth.controller.d.ts +1 -0
  3. package/dist/core/config/config.service.d.ts +3 -1
  4. package/dist/core/config/config.service.js +3 -2
  5. package/dist/core/config/config.service.js.map +1 -1
  6. package/dist/core/config/config.startup.d.ts +1 -0
  7. package/dist/core/config/config.startup.js +13 -3
  8. package/dist/core/config/config.startup.js.map +1 -1
  9. package/dist/core/spa/spa-html.service.d.ts +6 -0
  10. package/dist/core/spa/spa-html.service.js +40 -0
  11. package/dist/core/spa/spa-html.service.js.map +1 -0
  12. package/dist/core/spa/spa.filter.d.ts +2 -0
  13. package/dist/core/spa/spa.filter.js +17 -2
  14. package/dist/core/spa/spa.filter.js.map +1 -1
  15. package/dist/main.js +8 -3
  16. package/dist/main.js.map +1 -1
  17. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +1 -1
  18. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  19. package/package.json +2 -2
  20. package/public/3rdpartylicenses.txt +13 -13
  21. package/public/assets/{monaco-0.52.2 → monaco}/min/vs/editor/editor.main.js +2 -2
  22. package/public/chunk-2GGT3SCW.js +1 -0
  23. package/public/{chunk-R7Y5ACQC.js → chunk-32KCOXXZ.js} +1 -1
  24. package/public/chunk-3ASJ4MIQ.js +1 -0
  25. package/public/chunk-3EJ4YUT7.js +1 -0
  26. package/public/chunk-3FGCHUZM.js +14 -0
  27. package/public/chunk-3LEW5FOJ.js +5 -0
  28. package/public/{chunk-P7QFFCKC.js → chunk-3O4LZ4AU.js} +1 -1
  29. package/public/chunk-52XZH5I7.js +40 -0
  30. package/public/{chunk-5TCYRJ6A.js → chunk-5WYRGCHF.js} +1 -1
  31. package/public/{chunk-DTQOAWZI.js → chunk-67XMBTDZ.js} +2 -2
  32. package/public/chunk-6IDARBAH.js +1 -0
  33. package/public/chunk-6IWX4WEC.js +1 -0
  34. package/public/chunk-6N2TL3OX.js +49 -0
  35. package/public/{chunk-7OTNPUAL.js → chunk-7BJOEXZM.js} +1 -1
  36. package/public/{chunk-UHWT4HS2.js → chunk-AEEAPTXE.js} +1 -1
  37. package/public/{chunk-7BRVYYLY.js → chunk-AM53KSWA.js} +1 -1
  38. package/public/chunk-B5AUZBPY.js +1 -0
  39. package/public/{chunk-RYEUSRBX.js → chunk-BQMDK4YS.js} +2 -2
  40. package/public/chunk-C2ZPBNQL.js +1 -0
  41. package/public/{chunk-BU65ZOCD.js → chunk-CCHRGHTT.js} +1 -1
  42. package/public/{chunk-ZHPB347D.js → chunk-CIVLN3HQ.js} +1 -1
  43. package/public/{chunk-LPHTUMGC.js → chunk-CTYK4ZDT.js} +1 -1
  44. package/public/chunk-CWUYV4M6.js +20 -0
  45. package/public/chunk-D5OC6INP.js +1 -0
  46. package/public/chunk-DQ7H34Z3.js +3 -0
  47. package/public/chunk-EG2BFE2Y.js +1 -0
  48. package/public/{chunk-YATJTZML.js → chunk-EWO5Q2EI.js} +2 -2
  49. package/public/{chunk-NJOBXAPT.js → chunk-F3ULAZ4E.js} +1 -1
  50. package/public/chunk-FUFVCM4C.js +1 -0
  51. package/public/chunk-FZOVQ6IV.js +1 -0
  52. package/public/{chunk-H6HIJJ3O.js → chunk-G634JYE2.js} +1 -1
  53. package/public/chunk-GUYJYCPC.js +1 -0
  54. package/public/chunk-H46D5ZZJ.js +1 -0
  55. package/public/{chunk-FUCI6T5W.js → chunk-HKOQ2LLE.js} +1 -1
  56. package/public/chunk-HUFUZTYU.js +1 -0
  57. package/public/chunk-IMUVCFNG.js +1 -0
  58. package/public/{chunk-R3DFE6BN.js → chunk-IZN5MQII.js} +1 -1
  59. package/public/chunk-JI2XCHZB.js +1 -0
  60. package/public/chunk-JIAI6UD2.js +1 -0
  61. package/public/chunk-JXA6UYVW.js +1 -0
  62. package/public/{chunk-77JZBWAC.js → chunk-KNZTEJFP.js} +1 -1
  63. package/public/{chunk-V2P2FPJ7.js → chunk-KXMDG63G.js} +1 -1
  64. package/public/chunk-M2QSAMEV.js +1 -0
  65. package/public/{chunk-BSUFNH7A.js → chunk-M7Q6VBJE.js} +1 -1
  66. package/public/chunk-MDV2S56W.js +1 -0
  67. package/public/chunk-MVMZJM7B.js +9 -0
  68. package/public/chunk-NL5SKXRN.js +1 -0
  69. package/public/chunk-P4J7BQSF.js +1 -0
  70. package/public/{chunk-KKLQHHAF.js → chunk-PPRLJYJ7.js} +1 -1
  71. package/public/chunk-Q4376TC7.js +1 -0
  72. package/public/{chunk-W2NRMLDB.js → chunk-QASANAGE.js} +1 -1
  73. package/public/chunk-QB7TEMX6.js +1 -0
  74. package/public/chunk-QKPDOQGQ.js +1 -0
  75. package/public/chunk-QMZFJZUI.js +1 -0
  76. package/public/chunk-R62RXKVZ.js +1 -0
  77. package/public/chunk-RHRWOYZU.js +1 -0
  78. package/public/chunk-RXBLFIBQ.js +1 -0
  79. package/public/chunk-SAPS6TFT.js +2 -0
  80. package/public/chunk-TKZ4YETU.js +1 -0
  81. package/public/{chunk-WK4E23QD.js → chunk-UHCPPCOX.js} +1 -1
  82. package/public/chunk-VB7ZRXBC.js +1 -0
  83. package/public/{chunk-5B52GCDR.js → chunk-VSXAF6OX.js} +1 -1
  84. package/public/{chunk-MJD7XNRM.js → chunk-WE3P5M5D.js} +1 -1
  85. package/public/chunk-WGHBOXD2.js +1 -0
  86. package/public/chunk-X2I5H52N.js +1 -0
  87. package/public/chunk-X5P2VUQB.js +1 -0
  88. package/public/chunk-XCXIKCFK.js +1 -0
  89. package/public/index.html +1 -1
  90. package/public/main-5CDFLH5S.js +1 -0
  91. package/public/polyfills-5KWHJ7II.js +2 -0
  92. package/public/assets/monaco-0.52.2/package.json +0 -82
  93. package/public/chunk-3JVIQH57.js +0 -1
  94. package/public/chunk-3OGGH4IS.js +0 -1
  95. package/public/chunk-4KZOLBU6.js +0 -1
  96. package/public/chunk-54YQ4GYI.js +0 -40
  97. package/public/chunk-64N47XDK.js +0 -1
  98. package/public/chunk-65DLNKYC.js +0 -1
  99. package/public/chunk-6GMXEQVA.js +0 -2
  100. package/public/chunk-7CM2GH4C.js +0 -1
  101. package/public/chunk-A4CHQU3D.js +0 -1
  102. package/public/chunk-AE7VAWOU.js +0 -9
  103. package/public/chunk-B6BTFDRQ.js +0 -1
  104. package/public/chunk-D3JHDB7S.js +0 -1
  105. package/public/chunk-DOEOGSBK.js +0 -14
  106. package/public/chunk-DOUHWAMX.js +0 -1
  107. package/public/chunk-ET2JOBBZ.js +0 -20
  108. package/public/chunk-EY7GOTXO.js +0 -1
  109. package/public/chunk-F26AIEEZ.js +0 -1
  110. package/public/chunk-G7FA4DP4.js +0 -1
  111. package/public/chunk-GPAKN3YI.js +0 -1
  112. package/public/chunk-H36QJYLQ.js +0 -4
  113. package/public/chunk-HGA3V752.js +0 -3
  114. package/public/chunk-HHEVRKFK.js +0 -1
  115. package/public/chunk-HRWXFYIE.js +0 -2
  116. package/public/chunk-J5NDAVFE.js +0 -1
  117. package/public/chunk-J7XS3MTC.js +0 -1
  118. package/public/chunk-KWOZQQGF.js +0 -1
  119. package/public/chunk-LOR7R6R7.js +0 -1
  120. package/public/chunk-LPYZOQUG.js +0 -1
  121. package/public/chunk-N2ANXJ5U.js +0 -1
  122. package/public/chunk-NWJMSZSM.js +0 -49
  123. package/public/chunk-OVO5ZJNB.js +0 -1
  124. package/public/chunk-PQ27E4MI.js +0 -1
  125. package/public/chunk-PSQ7ES2C.js +0 -1
  126. package/public/chunk-T2CIQG5J.js +0 -1
  127. package/public/chunk-TFSSVDMB.js +0 -1
  128. package/public/chunk-TGOCI72Q.js +0 -1
  129. package/public/chunk-UG7X3SOK.js +0 -1
  130. package/public/chunk-UOLP7IQJ.js +0 -1
  131. package/public/chunk-VBTY5CSR.js +0 -1
  132. package/public/chunk-VKGJ42VH.js +0 -1
  133. package/public/chunk-X7M676S6.js +0 -1
  134. package/public/chunk-XM2R75VU.js +0 -1
  135. package/public/chunk-XWX4EOTE.js +0 -1
  136. package/public/chunk-YYVGNCER.js +0 -1
  137. package/public/chunk-ZZDKJB6X.js +0 -1
  138. package/public/main-YR7DITXZ.js +0 -1
  139. package/public/polyfills-WE4HA5DL.js +0 -2
  140. /package/public/assets/{monaco-0.52.2 → monaco}/LICENSE +0 -0
  141. /package/public/assets/{monaco-0.52.2 → monaco}/ThirdPartyNotices.txt +0 -0
  142. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  143. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/base/worker/workerMain.js +0 -0
  144. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/basic-languages/shell/shell.js +0 -0
  145. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/editor/editor.main.css +0 -0
  146. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/language/json/jsonMode.js +0 -0
  147. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/language/json/jsonWorker.js +0 -0
  148. /package/public/assets/{monaco-0.52.2 → monaco}/min/vs/loader.js +0 -0
@@ -1 +0,0 @@
1
- import{a as s}from"./chunk-R3DFE6BN.js";import"./chunk-UG7X3SOK.js";import"./chunk-LOR7R6R7.js";import"./chunk-ZHPB347D.js";import"./chunk-RYEUSRBX.js";import"./chunk-7BRVYYLY.js";import"./chunk-HHEVRKFK.js";import"./chunk-LPYZOQUG.js";import{g as i}from"./chunk-UOLP7IQJ.js";import"./chunk-DOUHWAMX.js";import"./chunk-3OGGH4IS.js";import"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{ga as e,nb as t}from"./chunk-H36QJYLQ.js";var u=[{path:"",loadComponent:()=>import("./chunk-F26AIEEZ.js").then(o=>o.AccessoriesComponent)}],c=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=t({type:o});static \u0275inj=e({imports:[i.forChild(u),i]})}return o})();var l=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=t({type:o});static \u0275inj=e({imports:[s,c]})}return o})();export{l as AccessoriesModule};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-H6HIJJ3O.js";import"./chunk-NWJMSZSM.js";import"./chunk-ZZDKJB6X.js";import"./chunk-DOEOGSBK.js";import"./chunk-BSUFNH7A.js";import"./chunk-77JZBWAC.js";import"./chunk-FUCI6T5W.js";import"./chunk-AE7VAWOU.js";import"./chunk-V2P2FPJ7.js";import"./chunk-BU65ZOCD.js";import"./chunk-YATJTZML.js";import"./chunk-ZHPB347D.js";import"./chunk-7OTNPUAL.js";import"./chunk-RYEUSRBX.js";import"./chunk-7BRVYYLY.js";import"./chunk-HHEVRKFK.js";import"./chunk-LPYZOQUG.js";import{g as r}from"./chunk-UOLP7IQJ.js";import"./chunk-DOUHWAMX.js";import"./chunk-3OGGH4IS.js";import"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{ga as t,nb as i}from"./chunk-H36QJYLQ.js";var l=[{path:"",loadComponent:()=>import("./chunk-YYVGNCER.js").then(o=>o.PluginsComponent)}],u=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=i({type:o});static \u0275inj=t({imports:[r.forChild(l),r]})}return o})();var f=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=i({type:o});static \u0275inj=t({imports:[n,u]})}return o})();export{f as PluginsModule};
@@ -1 +0,0 @@
1
- import{g as r}from"./chunk-UOLP7IQJ.js";import"./chunk-6GMXEQVA.js";import{ga as t,nb as e}from"./chunk-H36QJYLQ.js";var u=[{path:"",loadComponent:()=>import("./chunk-B6BTFDRQ.js").then(o=>o.LogsComponent)}],n=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[r.forChild(u),r]})}return o})();var p=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[n]})}return o})();export{p as LogsModule};
@@ -1 +0,0 @@
1
- import{a as b}from"./chunk-HHEVRKFK.js";import"./chunk-LPYZOQUG.js";import{d as k}from"./chunk-UOLP7IQJ.js";import{b as S}from"./chunk-DOUHWAMX.js";import{k as T,n as w}from"./chunk-3OGGH4IS.js";import{a as C,b as $}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{$b as E,Dc as g,Ib as d,Jb as f,Jc as m,Kc as c,Lc as y,Sb as r,Tb as i,Ub as l,Xa as x,ab as n,dc as h,ka as o,mb as _,qc as a,rc as s}from"./chunk-H36QJYLQ.js";var I=t=>({command:t});function D(t,u){if(t&1&&(r(0,"div",7),a(1),i()),t&2){let e=h();n(),s(e.error)}}function R(t,u){t&1&&(r(0,"p",9),a(1),m(2,"translate"),i(),r(3,"div",10)(4,"div",11),l(5,"i",12),i()()),t&2&&(n(),s(c(2,1,"restart.please_wait_while_server_restarts")))}function B(t,u){if(t&1&&(r(0,"div",8)(1,"p"),a(2),m(3,"translate"),i(),l(4,"p",13),m(5,"translate"),i()),t&2){let e=h();n(2),s(c(3,2,"platform.docker.server_long_time")),n(2),E("innerHTML",y(5,4,"platform.docker.run_with_restart",g(7,I,e.command)),x)}}var U=(()=>{class t{$api=o(w);$router=o(k);$settings=o(S);$toastr=o(T);$translate=o(C);$ws=o(b);checkTimeout;checkDelay;io;resp={};timeout=!1;error=!1;command='<span class="font-monospace">--restart=always</span>';ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$api.put("/platform-tools/docker/restart-container",{}).subscribe({next:e=>{this.resp=e,this.checkIfServerUp()},error:e=>{this.error=this.$translate.instant("restart.toast_server_restart_error"),console.error(e),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",e=>{(e.status==="up"||e.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.docker.container_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},1e4),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},6e4)}static \u0275fac=function(p){return new(p||t)};static \u0275cmp=_({type:t,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,"fab","fa-fw","fa-docker",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"],[1,"fas","fa-fw","fa-spinner","fa-spin"],[1,"grey-text","mb-0",3,"innerHTML"]],template:function(p,v){p&1&&(r(0,"div",0)(1,"h3",1),a(2),m(3,"translate"),i()(),r(4,"div",2)(5,"div",3),l(6,"i",4),i(),r(7,"div",5)(8,"h4",6),a(9),m(10,"translate"),i(),d(11,D,2,1,"div",7)(12,R,6,3),d(13,B,6,9,"div",8),i()()),p&2&&(n(2),s(c(3,4,"menu.restart.title")),n(7),s(c(10,6,"platform.docker.title_restarting")),n(2),f(v.error?11:12),n(2),f(v.timeout?13:-1))},dependencies:[$],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return t})();export{U as ContainerRestartComponent};
@@ -1 +0,0 @@
1
- import{a as H}from"./chunk-R7Y5ACQC.js";import{a as X}from"./chunk-NJOBXAPT.js";import{a as Z}from"./chunk-YATJTZML.js";import"./chunk-ZHPB347D.js";import{a as R}from"./chunk-7OTNPUAL.js";import{n as E}from"./chunk-RYEUSRBX.js";import"./chunk-7BRVYYLY.js";import{a as j}from"./chunk-HHEVRKFK.js";import{b as A}from"./chunk-LPYZOQUG.js";import{a as W,c as q,d as V,e as N,f as D}from"./chunk-UOLP7IQJ.js";import{b as T}from"./chunk-DOUHWAMX.js";import{m as $}from"./chunk-3OGGH4IS.js";import{a as L,b as U}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{Cc as h,Dc as M,Hb as m,Ib as x,Jb as y,Jc as d,Kc as s,Ob as c,Pb as n,Qb as a,Rb as p,_b as S,ab as o,bc as _,dc as C,fb as F,g as Y,h as I,id as O,ka as u,mb as P,qa as b,qc as f,ra as w,rc as v,w as z,yd as K}from"./chunk-H36QJYLQ.js";var Q=Y(Z(),1);function G(){var i;return typeof window<"u"&&(window?.matchMedia("(display-mode: standalone)").matches||((i=window.navigator)===null||i===void 0?void 0:i.standalone)||document.referrer.startsWith("android-app://")||window?.Windows||/trident.+(msapphost|webview)\//i.test(navigator.userAgent)||document.referrer.startsWith("app-info://platform/microsoft-store"))}var B=()=>["/"],te=i=>({"hamburger-icon-cross":i}),ne=i=>({expanded:i}),ie=()=>({exact:!0}),oe=()=>["/plugins"],re=()=>["/accessories"],ae=()=>["/logs"],de=()=>["/support"],se=()=>["/platform-tools/terminal"],le=()=>["/config"],pe=()=>["/settings"],ce=()=>["/power-options"];function me(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",20),d(2,"translate"),d(3,"translate"),_("click",function(){b(e);let t=C();return w(t.openUnderVoltageModal())})("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(4,"div",12),p(5,"i",21),a(),n(6,"div",14),f(7),d(8,"translate"),a()()()}i&2&&(o(),m("aria-label",s(2,2,"rpi.throttled.undervoltage_title")+" - "+s(3,4,"rpi.throttled.undervoltage_description")),o(6),v(s(8,6,"rpi.throttled.undervoltage_title")))}function ue(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",22),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,se))("routerLinkActive","active"),m("aria-label",s(2,4,"menu.linux.label_terminal")),o(5),v(s(7,6,"menu.linux.label_terminal")))}function _e(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",23),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,le))("routerLinkActive","active"),m("aria-label",s(2,4,"menu.config_json_editor")),o(5),v(s(7,6,"menu.config_json_editor")))}function fe(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",24),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,pe))("routerLinkActive","active"),m("aria-label",s(2,4,"menu.label_settings")),o(5),v(s(7,6,"menu.label_settings")))}function ge(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",15),d(2,"translate"),_("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",25),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),c("routerLink",h(8,ce))("routerLinkActive","active"),m("aria-label",s(2,4,"menu.restart.title")),o(5),v(s(7,6,"menu.restart.title")))}function ve(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=C();return w(t.reloadPage())})("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",26),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),m("aria-label",s(2,2,"menu.reload")),o(5),v(s(7,4,"menu.reload")))}function he(i,k){if(i&1){let e=S();n(0,"div",10)(1,"div",20),d(2,"translate"),_("click",function(){b(e);let t=C();return w(t.logout())})("keydown",function(t){b(e);let r=C();return w(r.handleKeydown(t))}),n(3,"div",12),p(4,"i",27),a(),n(5,"div",14),f(6),d(7,"translate"),a()()()}i&2&&(o(),m("aria-label",s(2,2,"menu.tooltip_logout")),o(5),v(s(7,4,"menu.tooltip_logout")))}var J=(()=>{class i{$auth=u(A);$settings=u(T);$modal=u(E);$notification=u(X);$renderer=u(F);$router=u(V);$translate=u(L);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(l=>{l instanceof W&&(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"),l=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)&&!l.contains(r.target)&&this.isExpanded&&(r.preventDefault(),this.closeSidebar())},{passive:!1}):(this.updateListeners(),l.addEventListener("mouseenter",()=>this.openSidebar(),{passive:!1}),l.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(H,{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-fw fa-bolt yellow-text",e.componentInstance.ctaButtonLink="https://pimylifeup.com/raspberry-pi-low-voltage-warning"}handleKeydown(e){if(e.key==="Enter"){let l=e.target;["menuitem","button"].includes(l.getAttribute("role"))&&l.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(l){return new(l||i)};static \u0275cmp=P({type:i,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-fw","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-fw","fa-plug"],[1,"fa","fa-fw","fa-lightbulb"],[1,"fa","fa-fw","fa-wave-square"],[1,"fa","fa-fw","fa-question-circle-o"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-fw","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-fw","fa-terminal"],[1,"fa","fa-fw","fa-code"],[1,"fa","fa-fw","fa-cog"],[1,"fa","fa-fw","fa-power-off"],[1,"fa","fa-fw","fa-refresh"],[1,"fa","fa-fw","fa-right-from-bracket"]],template:function(l,t){l&1&&(n(0,"div",0),d(1,"translate"),_("click",function(){return t.toggleSidebar()})("keydown",function(g){return t.handleKeydown(g)}),p(2,"span",1),n(3,"a",2),d(4,"translate"),p(5,"img",3),n(6,"div",4),f(7,"Homebridge"),a()(),n(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),n(13,"div",6)(14,"div",7),_("click",function(){return t.toggleSidebar()})("keydown",function(g){return t.handleKeydown(g)}),n(15,"a",2),d(16,"translate"),p(17,"img",3),n(18,"div",8),f(19,"Homebridge"),a()()(),n(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(24,"div",12),p(25,"i",13),a(),n(26,"div",14),f(27),d(28,"translate"),a()()(),x(29,me,9,8,"div",10),n(30,"div",10)(31,"div",15),d(32,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(33,"div",12),p(34,"i",16),a(),n(35,"div",14),f(36),d(37,"translate"),a()()(),n(38,"div",10)(39,"div",15),d(40,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(41,"div",12),p(42,"i",17),a(),n(43,"div",14),f(44),d(45,"translate"),a()()(),n(46,"div",10)(47,"div",15),d(48,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(49,"div",12),p(50,"i",18),a(),n(51,"div",14),f(52),d(53,"translate"),a()()(),x(54,ue,8,9,"div",10),x(55,_e,8,9,"div",10),x(56,fe,8,9,"div",10),n(57,"div",10)(58,"div",15),d(59,"translate"),_("keydown",function(g){return t.handleKeydown(g)}),n(60,"div",12),p(61,"i",19),a(),n(62,"div",14),f(63),d(64,"translate"),a()()(),x(65,ge,8,9,"div",10),x(66,ve,8,6,"div",10),x(67,he,8,6,"div",10),a()()),l&2&&(m("aria-expanded",t.isExpanded?"true":"false")("aria-controls","sidebar")("aria-label",s(1,37,"menu.sidebar.aria_menu")),o(3),c("routerLink",h(63,B)),m("aria-label",s(4,39,"menu.label_status")),o(5),c("ngClass",M(64,te,t.isExpanded)),o(5),c("ngClass",M(66,ne,t.isExpanded)),o(2),c("routerLink",h(68,B)),m("aria-label",s(16,41,"menu.label_status")),o(7),c("routerLink",h(69,B))("routerLinkActive","active")("routerLinkActiveOptions",h(70,ie)),m("aria-label",s(23,43,"menu.label_status")),o(5),v(s(28,45,"menu.label_status")),o(2),y(t.rPiWasUnderVoltage||t.rPiCurrentlyUnderVoltage?29:-1),o(2),c("routerLink",h(71,oe))("routerLinkActive","active"),m("aria-label",s(32,47,"menu.label_plugins")),o(5),v(s(37,49,"menu.label_plugins")),o(3),c("routerLink",h(72,re))("routerLinkActive","active"),m("aria-label",s(40,51,"menu.label_accessories")),o(5),v(s(45,53,"menu.label_accessories")),o(3),c("routerLink",h(73,ae))("routerLinkActive","active"),m("aria-label",s(48,55,"menu.linux.label_logs")),o(5),v(s(53,57,"menu.linux.label_logs")),o(2),y(t.enableTerminalAccess&&t.isAdmin?54:-1),o(),y(t.isAdmin?55:-1),o(),y(t.isAdmin?56:-1),o(2),c("routerLink",h(74,de))("routerLinkActive","active"),m("aria-label",s(59,59,"support.title")),o(5),v(s(64,61,"support.title")),o(2),y(t.isAdmin?65:-1),o(),y(t.isPwa?66:-1),o(),y(t.formAuth?67:-1))},dependencies:[N,K,O,D,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-y:auto;max-height:calc(100vh - 80px)!important}.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 i})();var be=i=>({sidebarExpanded:i}),He=(()=>{class i{$auth=u(A);$modal=u(E);$router=u(V);$settings=u(T);$translate=u(L);$ws=u(j);io;sidebarExpanded=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return I(this,null,function*(){if(this.$settings.settingsLoaded||(yield z(this.$settings.onSettingsLoaded)),this.$router.url!=="/restart"&&(0,Q.lt)(this.$settings.uiVersion,$.serverTarget)){console.log(`Server restart required. UI Version: ${$.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=this.$modal.open(R,{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:$.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(l){return new(l||i)};static \u0275cmp=P({type:i,selectors:[["app-layout"]],decls:3,vars:4,consts:[[3,"isExpanded"],[1,"content","px-3","p-md-4",3,"ngClass"]],template:function(l,t){l&1&&(p(0,"app-sidebar",0),n(1,"div",1),p(2,"router-outlet"),a()),l&2&&(c("isExpanded",t.sidebarExpanded),o(),c("ngClass",M(2,be,t.sidebarExpanded)))},dependencies:[J,O,q],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 i})();export{He as LayoutComponent};
@@ -1 +0,0 @@
1
- import{g as i}from"./chunk-UOLP7IQJ.js";import"./chunk-6GMXEQVA.js";import{ga as o,nb as r}from"./chunk-H36QJYLQ.js";var m=[{path:"",loadComponent:()=>import("./chunk-D3JHDB7S.js").then(t=>t.SupportComponent)}],n=(()=>{class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=r({type:t});static \u0275inj=o({imports:[i.forChild(m),i]})}return t})();var s=(()=>{class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=r({type:t});static \u0275inj=o({imports:[n]})}return t})();export{s as SupportModule};
@@ -1 +0,0 @@
1
- import{a as l0}from"./chunk-LOR7R6R7.js";import{m as i0,n as U}from"./chunk-RYEUSRBX.js";import{B as t0,b as j,c as z,e as J,l as X,s as Z,t as Q,v as e0}from"./chunk-7BRVYYLY.js";import{a as B0}from"./chunk-HHEVRKFK.js";import{b as c0}from"./chunk-LPYZOQUG.js";import{b as s0}from"./chunk-DOUHWAMX.js";import{k as a0,n as r0}from"./chunk-3OGGH4IS.js";import{a as n0,b as o0}from"./chunk-G7FA4DP4.js";import{Hb as v,Ib as _,Jb as S,Jc as d,Kc as p,Lb as h,Mb as g,Nb as I,Ob as N,Pb as B,Qb as r,Rb as x,Xa as $,_b as L,a as G,ab as o,b as Y,bc as D,dc as l,e as E0,fa as K,g as y0,h as b,ka as A,mb as q,n as k,pb as y,qa as R,qc as a,ra as M,rc as u,sc as C,w as P,xc as V,yc as w,zc as H}from"./chunk-H36QJYLQ.js";var d0=E0(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});T.Enums=T.Categories=T.Characteristics=T.Services=void 0;T.Services={"00000260-0000-1000-8000-0026BB765291":"AccessCode",AccessCode:"00000260-0000-1000-8000-0026BB765291","000000DA-0000-1000-8000-0026BB765291":"AccessControl",AccessControl:"000000DA-0000-1000-8000-0026BB765291","0000003E-0000-1000-8000-0026BB765291":"AccessoryInformation",AccessoryInformation:"0000003E-0000-1000-8000-0026BB765291","00000270-0000-1000-8000-0026BB765291":"AccessoryMetrics",AccessoryMetrics:"00000270-0000-1000-8000-0026BB765291","00000239-0000-1000-8000-0026BB765291":"AccessoryRuntimeInformation",AccessoryRuntimeInformation:"00000239-0000-1000-8000-0026BB765291","000000BB-0000-1000-8000-0026BB765291":"AirPurifier",AirPurifier:"000000BB-0000-1000-8000-0026BB765291","0000008D-0000-1000-8000-0026BB765291":"AirQualitySensor",AirQualitySensor:"0000008D-0000-1000-8000-0026BB765291","00000267-0000-1000-8000-0026BB765291":"AssetUpdate",AssetUpdate:"00000267-0000-1000-8000-0026BB765291","0000026A-0000-1000-8000-0026BB765291":"Assistant",Assistant:"0000026A-0000-1000-8000-0026BB765291","00000127-0000-1000-8000-0026BB765291":"AudioStreamManagement",AudioStreamManagement:"00000127-0000-1000-8000-0026BB765291","00000096-0000-1000-8000-0026BB765291":"Battery",Battery:"00000096-0000-1000-8000-0026BB765291","0000021A-0000-1000-8000-0026BB765291":"CameraOperatingMode",CameraOperatingMode:"0000021A-0000-1000-8000-0026BB765291","00000204-0000-1000-8000-0026BB765291":"CameraRecordingManagement",CameraRecordingManagement:"00000204-0000-1000-8000-0026BB765291","00000110-0000-1000-8000-0026BB765291":"CameraRTPStreamManagement",CameraRTPStreamManagement:"00000110-0000-1000-8000-0026BB765291","00000097-0000-1000-8000-0026BB765291":"CarbonDioxideSensor",CarbonDioxideSensor:"00000097-0000-1000-8000-0026BB765291","0000007F-0000-1000-8000-0026BB765291":"CarbonMonoxideSensor",CarbonMonoxideSensor:"0000007F-0000-1000-8000-0026BB765291","0000005A-0000-1000-8000-0026BB765291":"CloudRelay",CloudRelay:"0000005A-0000-1000-8000-0026BB765291","00000080-0000-1000-8000-0026BB765291":"ContactSensor",ContactSensor:"00000080-0000-1000-8000-0026BB765291","00000129-0000-1000-8000-0026BB765291":"DataStreamTransportManagement",DataStreamTransportManagement:"00000129-0000-1000-8000-0026BB765291","00000237-0000-1000-8000-0026BB765291":"Diagnostics",Diagnostics:"00000237-0000-1000-8000-0026BB765291","00000081-0000-1000-8000-0026BB765291":"Door",Door:"00000081-0000-1000-8000-0026BB765291","00000121-0000-1000-8000-0026BB765291":"Doorbell",Doorbell:"00000121-0000-1000-8000-0026BB765291","00000040-0000-1000-8000-0026BB765291":"Fan",Fan:"00000040-0000-1000-8000-0026BB765291","000000B7-0000-1000-8000-0026BB765291":"Fanv2",Fanv2:"000000B7-0000-1000-8000-0026BB765291","000000D7-0000-1000-8000-0026BB765291":"Faucet",Faucet:"000000D7-0000-1000-8000-0026BB765291","000000BA-0000-1000-8000-0026BB765291":"FilterMaintenance",FilterMaintenance:"000000BA-0000-1000-8000-0026BB765291","00000236-0000-1000-8000-0026BB765291":"FirmwareUpdate",FirmwareUpdate:"00000236-0000-1000-8000-0026BB765291","00000041-0000-1000-8000-0026BB765291":"GarageDoorOpener",GarageDoorOpener:"00000041-0000-1000-8000-0026BB765291","000000BC-0000-1000-8000-0026BB765291":"HeaterCooler",HeaterCooler:"000000BC-0000-1000-8000-0026BB765291","000000BD-0000-1000-8000-0026BB765291":"HumidifierDehumidifier",HumidifierDehumidifier:"000000BD-0000-1000-8000-0026BB765291","00000082-0000-1000-8000-0026BB765291":"HumiditySensor",HumiditySensor:"00000082-0000-1000-8000-0026BB765291","000000D9-0000-1000-8000-0026BB765291":"InputSource",InputSource:"000000D9-0000-1000-8000-0026BB765291","000000CF-0000-1000-8000-0026BB765291":"IrrigationSystem",IrrigationSystem:"000000CF-0000-1000-8000-0026BB765291","00000083-0000-1000-8000-0026BB765291":"LeakSensor",LeakSensor:"00000083-0000-1000-8000-0026BB765291","00000043-0000-1000-8000-0026BB765291":"Lightbulb",Lightbulb:"00000043-0000-1000-8000-0026BB765291","00000084-0000-1000-8000-0026BB765291":"LightSensor",LightSensor:"00000084-0000-1000-8000-0026BB765291","00000044-0000-1000-8000-0026BB765291":"LockManagement",LockManagement:"00000044-0000-1000-8000-0026BB765291","00000045-0000-1000-8000-0026BB765291":"LockMechanism",LockMechanism:"00000045-0000-1000-8000-0026BB765291","00000112-0000-1000-8000-0026BB765291":"Microphone",Microphone:"00000112-0000-1000-8000-0026BB765291","00000085-0000-1000-8000-0026BB765291":"MotionSensor",MotionSensor:"00000085-0000-1000-8000-0026BB765291","00000266-0000-1000-8000-0026BB765291":"NFCAccess",NFCAccess:"00000266-0000-1000-8000-0026BB765291","00000086-0000-1000-8000-0026BB765291":"OccupancySensor",OccupancySensor:"00000086-0000-1000-8000-0026BB765291","00000047-0000-1000-8000-0026BB765291":"Outlet",Outlet:"00000047-0000-1000-8000-0026BB765291","00000055-0000-1000-8000-0026BB765291":"Pairing",Pairing:"00000055-0000-1000-8000-0026BB765291","00000221-0000-1000-8000-0026BB765291":"PowerManagement",PowerManagement:"00000221-0000-1000-8000-0026BB765291","000000A2-0000-1000-8000-0026BB765291":"ProtocolInformation",ProtocolInformation:"000000A2-0000-1000-8000-0026BB765291","0000007E-0000-1000-8000-0026BB765291":"SecuritySystem",SecuritySystem:"0000007E-0000-1000-8000-0026BB765291","000000CC-0000-1000-8000-0026BB765291":"ServiceLabel",ServiceLabel:"000000CC-0000-1000-8000-0026BB765291","00000133-0000-1000-8000-0026BB765291":"Siri",Siri:"00000133-0000-1000-8000-0026BB765291","00000253-0000-1000-8000-0026BB765291":"SiriEndpoint",SiriEndpoint:"00000253-0000-1000-8000-0026BB765291","000000B9-0000-1000-8000-0026BB765291":"Slats",Slats:"000000B9-0000-1000-8000-0026BB765291","00000228-0000-1000-8000-0026BB765291":"SmartSpeaker",SmartSpeaker:"00000228-0000-1000-8000-0026BB765291","00000087-0000-1000-8000-0026BB765291":"SmokeSensor",SmokeSensor:"00000087-0000-1000-8000-0026BB765291","00000113-0000-1000-8000-0026BB765291":"Speaker",Speaker:"00000113-0000-1000-8000-0026BB765291","00000088-0000-1000-8000-0026BB765291":"StatefulProgrammableSwitch",StatefulProgrammableSwitch:"00000088-0000-1000-8000-0026BB765291","00000089-0000-1000-8000-0026BB765291":"StatelessProgrammableSwitch",StatelessProgrammableSwitch:"00000089-0000-1000-8000-0026BB765291","00000049-0000-1000-8000-0026BB765291":"Switch",Switch:"00000049-0000-1000-8000-0026BB765291","0000022E-0000-1000-8000-0026BB765291":"TapManagement",TapManagement:"0000022E-0000-1000-8000-0026BB765291","00000125-0000-1000-8000-0026BB765291":"TargetControl",TargetControl:"00000125-0000-1000-8000-0026BB765291","00000122-0000-1000-8000-0026BB765291":"TargetControlManagement",TargetControlManagement:"00000122-0000-1000-8000-0026BB765291","000000D8-0000-1000-8000-0026BB765291":"Television",Television:"000000D8-0000-1000-8000-0026BB765291",TelevisionSpeaker:"00000113-0000-1000-8000-0026BB765291","0000008A-0000-1000-8000-0026BB765291":"TemperatureSensor",TemperatureSensor:"0000008A-0000-1000-8000-0026BB765291","0000004A-0000-1000-8000-0026BB765291":"Thermostat",Thermostat:"0000004A-0000-1000-8000-0026BB765291","00000701-0000-1000-8000-0026BB765291":"ThreadTransport",ThreadTransport:"00000701-0000-1000-8000-0026BB765291","00000203-0000-1000-8000-0026BB765291":"TransferTransportManagement",TransferTransportManagement:"00000203-0000-1000-8000-0026BB765291","00000056-0000-1000-8000-0026BB765291":"Tunnel",Tunnel:"00000056-0000-1000-8000-0026BB765291","000000D0-0000-1000-8000-0026BB765291":"Valve",Valve:"000000D0-0000-1000-8000-0026BB765291","0000020A-0000-1000-8000-0026BB765291":"WiFiRouter",WiFiRouter:"0000020A-0000-1000-8000-0026BB765291","0000020F-0000-1000-8000-0026BB765291":"WiFiSatellite",WiFiSatellite:"0000020F-0000-1000-8000-0026BB765291","0000022A-0000-1000-8000-0026BB765291":"WiFiTransport",WiFiTransport:"0000022A-0000-1000-8000-0026BB765291","0000008B-0000-1000-8000-0026BB765291":"Window",Window:"0000008B-0000-1000-8000-0026BB765291","0000008C-0000-1000-8000-0026BB765291":"WindowCovering",WindowCovering:"0000008C-0000-1000-8000-0026BB765291"};T.Characteristics={"00000262-0000-1000-8000-0026BB765291":"AccessCodeControlPoint",AccessCodeControlPoint:"00000262-0000-1000-8000-0026BB765291","00000261-0000-1000-8000-0026BB765291":"AccessCodeSupportedConfiguration",AccessCodeSupportedConfiguration:"00000261-0000-1000-8000-0026BB765291","000000E5-0000-1000-8000-0026BB765291":"AccessControlLevel",AccessControlLevel:"000000E5-0000-1000-8000-0026BB765291","000000A6-0000-1000-8000-0026BB765291":"AccessoryFlags",AccessoryFlags:"000000A6-0000-1000-8000-0026BB765291","00000057-0000-1000-8000-0026BB765291":"AccessoryIdentifier",AccessoryIdentifier:"00000057-0000-1000-8000-0026BB765291","000000B0-0000-1000-8000-0026BB765291":"Active",Active:"000000B0-0000-1000-8000-0026BB765291","000000E7-0000-1000-8000-0026BB765291":"ActiveIdentifier",ActiveIdentifier:"000000E7-0000-1000-8000-0026BB765291","0000023B-0000-1000-8000-0026BB765291":"ActivityInterval",ActivityInterval:"0000023B-0000-1000-8000-0026BB765291","00000001-0000-1000-8000-0026BB765291":"AdministratorOnlyAccess",AdministratorOnlyAccess:"00000001-0000-1000-8000-0026BB765291","00000064-0000-1000-8000-0026BB765291":"AirParticulateDensity",AirParticulateDensity:"00000064-0000-1000-8000-0026BB765291","00000065-0000-1000-8000-0026BB765291":"AirParticulateSize",AirParticulateSize:"00000065-0000-1000-8000-0026BB765291","0000025B-0000-1000-8000-0026BB765291":"AirPlayEnable",AirPlayEnable:"0000025B-0000-1000-8000-0026BB765291","00000095-0000-1000-8000-0026BB765291":"AirQuality",AirQuality:"00000095-0000-1000-8000-0026BB765291","000000A4-0000-1000-8000-0026BB765291":"AppMatchingIdentifier",AppMatchingIdentifier:"000000A4-0000-1000-8000-0026BB765291","00000269-0000-1000-8000-0026BB765291":"AssetUpdateReadiness",AssetUpdateReadiness:"00000269-0000-1000-8000-0026BB765291","00000005-0000-1000-8000-0026BB765291":"AudioFeedback",AudioFeedback:"00000005-0000-1000-8000-0026BB765291","00000068-0000-1000-8000-0026BB765291":"BatteryLevel",BatteryLevel:"00000068-0000-1000-8000-0026BB765291","00000008-0000-1000-8000-0026BB765291":"Brightness",Brightness:"00000008-0000-1000-8000-0026BB765291","00000126-0000-1000-8000-0026BB765291":"ButtonEvent",ButtonEvent:"00000126-0000-1000-8000-0026BB765291","0000021D-0000-1000-8000-0026BB765291":"CameraOperatingModeIndicator",CameraOperatingModeIndicator:"0000021D-0000-1000-8000-0026BB765291","00000092-0000-1000-8000-0026BB765291":"CarbonDioxideDetected",CarbonDioxideDetected:"00000092-0000-1000-8000-0026BB765291","00000093-0000-1000-8000-0026BB765291":"CarbonDioxideLevel",CarbonDioxideLevel:"00000093-0000-1000-8000-0026BB765291","00000094-0000-1000-8000-0026BB765291":"CarbonDioxidePeakLevel",CarbonDioxidePeakLevel:"00000094-0000-1000-8000-0026BB765291","00000069-0000-1000-8000-0026BB765291":"CarbonMonoxideDetected",CarbonMonoxideDetected:"00000069-0000-1000-8000-0026BB765291","00000090-0000-1000-8000-0026BB765291":"CarbonMonoxideLevel",CarbonMonoxideLevel:"00000090-0000-1000-8000-0026BB765291","00000091-0000-1000-8000-0026BB765291":"CarbonMonoxidePeakLevel",CarbonMonoxidePeakLevel:"00000091-0000-1000-8000-0026BB765291","00000246-0000-1000-8000-0026BB765291":"CCAEnergyDetectThreshold",CCAEnergyDetectThreshold:"00000246-0000-1000-8000-0026BB765291","00000245-0000-1000-8000-0026BB765291":"CCASignalDetectThreshold",CCASignalDetectThreshold:"00000245-0000-1000-8000-0026BB765291","0000024B-0000-1000-8000-0026BB765291":"CharacteristicValueActiveTransitionCount",CharacteristicValueActiveTransitionCount:"0000024B-0000-1000-8000-0026BB765291","00000143-0000-1000-8000-0026BB765291":"CharacteristicValueTransitionControl",CharacteristicValueTransitionControl:"00000143-0000-1000-8000-0026BB765291","0000008F-0000-1000-8000-0026BB765291":"ChargingState",ChargingState:"0000008F-0000-1000-8000-0026BB765291","000000DD-0000-1000-8000-0026BB765291":"ClosedCaptions",ClosedCaptions:"000000DD-0000-1000-8000-0026BB765291","000000CE-0000-1000-8000-0026BB765291":"ColorTemperature",ColorTemperature:"000000CE-0000-1000-8000-0026BB765291","00000263-0000-1000-8000-0026BB765291":"ConfigurationState",ConfigurationState:"00000263-0000-1000-8000-0026BB765291","000000E3-0000-1000-8000-0026BB765291":"ConfiguredName",ConfiguredName:"000000E3-0000-1000-8000-0026BB765291","0000006A-0000-1000-8000-0026BB765291":"ContactSensorState",ContactSensorState:"0000006A-0000-1000-8000-0026BB765291","0000000D-0000-1000-8000-0026BB765291":"CoolingThresholdTemperature",CoolingThresholdTemperature:"0000000D-0000-1000-8000-0026BB765291","00000250-0000-1000-8000-0026BB765291":"CryptoHash",CryptoHash:"00000250-0000-1000-8000-0026BB765291","000000A9-0000-1000-8000-0026BB765291":"CurrentAirPurifierState",CurrentAirPurifierState:"000000A9-0000-1000-8000-0026BB765291","0000006B-0000-1000-8000-0026BB765291":"CurrentAmbientLightLevel",CurrentAmbientLightLevel:"0000006B-0000-1000-8000-0026BB765291","0000000E-0000-1000-8000-0026BB765291":"CurrentDoorState",CurrentDoorState:"0000000E-0000-1000-8000-0026BB765291","000000AF-0000-1000-8000-0026BB765291":"CurrentFanState",CurrentFanState:"000000AF-0000-1000-8000-0026BB765291","000000B1-0000-1000-8000-0026BB765291":"CurrentHeaterCoolerState",CurrentHeaterCoolerState:"000000B1-0000-1000-8000-0026BB765291","0000000F-0000-1000-8000-0026BB765291":"CurrentHeatingCoolingState",CurrentHeatingCoolingState:"0000000F-0000-1000-8000-0026BB765291","0000006C-0000-1000-8000-0026BB765291":"CurrentHorizontalTiltAngle",CurrentHorizontalTiltAngle:"0000006C-0000-1000-8000-0026BB765291","000000B3-0000-1000-8000-0026BB765291":"CurrentHumidifierDehumidifierState",CurrentHumidifierDehumidifierState:"000000B3-0000-1000-8000-0026BB765291","000000E0-0000-1000-8000-0026BB765291":"CurrentMediaState",CurrentMediaState:"000000E0-0000-1000-8000-0026BB765291","0000006D-0000-1000-8000-0026BB765291":"CurrentPosition",CurrentPosition:"0000006D-0000-1000-8000-0026BB765291","00000010-0000-1000-8000-0026BB765291":"CurrentRelativeHumidity",CurrentRelativeHumidity:"00000010-0000-1000-8000-0026BB765291","000000AA-0000-1000-8000-0026BB765291":"CurrentSlatState",CurrentSlatState:"000000AA-0000-1000-8000-0026BB765291","00000011-0000-1000-8000-0026BB765291":"CurrentTemperature",CurrentTemperature:"00000011-0000-1000-8000-0026BB765291","000000C1-0000-1000-8000-0026BB765291":"CurrentTiltAngle",CurrentTiltAngle:"000000C1-0000-1000-8000-0026BB765291","0000022B-0000-1000-8000-0026BB765291":"CurrentTransport",CurrentTransport:"0000022B-0000-1000-8000-0026BB765291","0000006E-0000-1000-8000-0026BB765291":"CurrentVerticalTiltAngle",CurrentVerticalTiltAngle:"0000006E-0000-1000-8000-0026BB765291","00000135-0000-1000-8000-0026BB765291":"CurrentVisibilityState",CurrentVisibilityState:"00000135-0000-1000-8000-0026BB765291","00000138-0000-1000-8000-0026BB765291":"DataStreamHAPTransport",DataStreamHAPTransport:"00000138-0000-1000-8000-0026BB765291","00000139-0000-1000-8000-0026BB765291":"DataStreamHAPTransportInterrupt",DataStreamHAPTransportInterrupt:"00000139-0000-1000-8000-0026BB765291","00000224-0000-1000-8000-0026BB765291":"DiagonalFieldOfView",DiagonalFieldOfView:"00000224-0000-1000-8000-0026BB765291","0000011D-0000-1000-8000-0026BB765291":"DigitalZoom",DigitalZoom:"0000011D-0000-1000-8000-0026BB765291","00000136-0000-1000-8000-0026BB765291":"DisplayOrder",DisplayOrder:"00000136-0000-1000-8000-0026BB765291","0000023D-0000-1000-8000-0026BB765291":"EventRetransmissionMaximum",EventRetransmissionMaximum:"0000023D-0000-1000-8000-0026BB765291","00000223-0000-1000-8000-0026BB765291":"EventSnapshotsActive",EventSnapshotsActive:"00000223-0000-1000-8000-0026BB765291","0000023E-0000-1000-8000-0026BB765291":"EventTransmissionCounters",EventTransmissionCounters:"0000023E-0000-1000-8000-0026BB765291","000000AC-0000-1000-8000-0026BB765291":"FilterChangeIndication",FilterChangeIndication:"000000AC-0000-1000-8000-0026BB765291","000000AB-0000-1000-8000-0026BB765291":"FilterLifeLevel",FilterLifeLevel:"000000AB-0000-1000-8000-0026BB765291","00000052-0000-1000-8000-0026BB765291":"FirmwareRevision",FirmwareRevision:"00000052-0000-1000-8000-0026BB765291","00000234-0000-1000-8000-0026BB765291":"FirmwareUpdateReadiness",FirmwareUpdateReadiness:"00000234-0000-1000-8000-0026BB765291","00000235-0000-1000-8000-0026BB765291":"FirmwareUpdateStatus",FirmwareUpdateStatus:"00000235-0000-1000-8000-0026BB765291","0000026C-0000-1000-8000-0026BB765291":"HardwareFinish",HardwareFinish:"0000026C-0000-1000-8000-0026BB765291","00000053-0000-1000-8000-0026BB765291":"HardwareRevision",HardwareRevision:"00000053-0000-1000-8000-0026BB765291","0000024A-0000-1000-8000-0026BB765291":"HeartBeat",HeartBeat:"0000024A-0000-1000-8000-0026BB765291","00000012-0000-1000-8000-0026BB765291":"HeatingThresholdTemperature",HeatingThresholdTemperature:"00000012-0000-1000-8000-0026BB765291","0000006F-0000-1000-8000-0026BB765291":"HoldPosition",HoldPosition:"0000006F-0000-1000-8000-0026BB765291","0000021B-0000-1000-8000-0026BB765291":"HomeKitCameraActive",HomeKitCameraActive:"0000021B-0000-1000-8000-0026BB765291","00000013-0000-1000-8000-0026BB765291":"Hue",Hue:"00000013-0000-1000-8000-0026BB765291","000000E6-0000-1000-8000-0026BB765291":"Identifier",Identifier:"000000E6-0000-1000-8000-0026BB765291","00000014-0000-1000-8000-0026BB765291":"Identify",Identify:"00000014-0000-1000-8000-0026BB765291","0000011F-0000-1000-8000-0026BB765291":"ImageMirroring",ImageMirroring:"0000011F-0000-1000-8000-0026BB765291","0000011E-0000-1000-8000-0026BB765291":"ImageRotation",ImageRotation:"0000011E-0000-1000-8000-0026BB765291","000000DC-0000-1000-8000-0026BB765291":"InputDeviceType",InputDeviceType:"000000DC-0000-1000-8000-0026BB765291","000000DB-0000-1000-8000-0026BB765291":"InputSourceType",InputSourceType:"000000DB-0000-1000-8000-0026BB765291","000000D2-0000-1000-8000-0026BB765291":"InUse",InUse:"000000D2-0000-1000-8000-0026BB765291","000000D6-0000-1000-8000-0026BB765291":"IsConfigured",IsConfigured:"000000D6-0000-1000-8000-0026BB765291","00000070-0000-1000-8000-0026BB765291":"LeakDetected",LeakDetected:"00000070-0000-1000-8000-0026BB765291","00000050-0000-1000-8000-0026BB765291":"ListPairings",ListPairings:"00000050-0000-1000-8000-0026BB765291","00000019-0000-1000-8000-0026BB765291":"LockControlPoint",LockControlPoint:"00000019-0000-1000-8000-0026BB765291","0000001D-0000-1000-8000-0026BB765291":"LockCurrentState",LockCurrentState:"0000001D-0000-1000-8000-0026BB765291","0000001C-0000-1000-8000-0026BB765291":"LockLastKnownAction",LockLastKnownAction:"0000001C-0000-1000-8000-0026BB765291","0000001A-0000-1000-8000-0026BB765291":"LockManagementAutoSecurityTimeout",LockManagementAutoSecurityTimeout:"0000001A-0000-1000-8000-0026BB765291","000000A7-0000-1000-8000-0026BB765291":"LockPhysicalControls",LockPhysicalControls:"000000A7-0000-1000-8000-0026BB765291","0000001E-0000-1000-8000-0026BB765291":"LockTargetState",LockTargetState:"0000001E-0000-1000-8000-0026BB765291","0000001F-0000-1000-8000-0026BB765291":"Logs",Logs:"0000001F-0000-1000-8000-0026BB765291","00000247-0000-1000-8000-0026BB765291":"MACRetransmissionMaximum",MACRetransmissionMaximum:"00000247-0000-1000-8000-0026BB765291","00000248-0000-1000-8000-0026BB765291":"MACTransmissionCounters",MACTransmissionCounters:"00000248-0000-1000-8000-0026BB765291","00000215-0000-1000-8000-0026BB765291":"ManagedNetworkEnable",ManagedNetworkEnable:"00000215-0000-1000-8000-0026BB765291","00000227-0000-1000-8000-0026BB765291":"ManuallyDisabled",ManuallyDisabled:"00000227-0000-1000-8000-0026BB765291","00000020-0000-1000-8000-0026BB765291":"Manufacturer",Manufacturer:"00000020-0000-1000-8000-0026BB765291","0000026D-0000-1000-8000-0026BB765291":"MatterFirmwareRevisionNumber",MatterFirmwareRevisionNumber:"0000026D-0000-1000-8000-0026BB765291","0000026E-0000-1000-8000-0026BB765291":"MatterFirmwareUpdateStatus",MatterFirmwareUpdateStatus:"0000026E-0000-1000-8000-0026BB765291","00000243-0000-1000-8000-0026BB765291":"MaximumTransmitPower",MaximumTransmitPower:"00000243-0000-1000-8000-0026BB765291","00000272-0000-1000-8000-0026BB765291":"MetricsBufferFullState",MetricsBufferFullState:"00000272-0000-1000-8000-0026BB765291","00000021-0000-1000-8000-0026BB765291":"Model",Model:"00000021-0000-1000-8000-0026BB765291","00000022-0000-1000-8000-0026BB765291":"MotionDetected",MotionDetected:"00000022-0000-1000-8000-0026BB765291","0000026B-0000-1000-8000-0026BB765291":"MultifunctionButton",MultifunctionButton:"0000026B-0000-1000-8000-0026BB765291","0000011A-0000-1000-8000-0026BB765291":"Mute",Mute:"0000011A-0000-1000-8000-0026BB765291","00000023-0000-1000-8000-0026BB765291":"Name",Name:"00000023-0000-1000-8000-0026BB765291","0000021F-0000-1000-8000-0026BB765291":"NetworkAccessViolationControl",NetworkAccessViolationControl:"0000021F-0000-1000-8000-0026BB765291","0000020C-0000-1000-8000-0026BB765291":"NetworkClientProfileControl",NetworkClientProfileControl:"0000020C-0000-1000-8000-0026BB765291","0000020D-0000-1000-8000-0026BB765291":"NetworkClientStatusControl",NetworkClientStatusControl:"0000020D-0000-1000-8000-0026BB765291","00000264-0000-1000-8000-0026BB765291":"NFCAccessControlPoint",NFCAccessControlPoint:"00000264-0000-1000-8000-0026BB765291","00000265-0000-1000-8000-0026BB765291":"NFCAccessSupportedConfiguration",NFCAccessSupportedConfiguration:"00000265-0000-1000-8000-0026BB765291","0000011B-0000-1000-8000-0026BB765291":"NightVision",NightVision:"0000011B-0000-1000-8000-0026BB765291","000000C4-0000-1000-8000-0026BB765291":"NitrogenDioxideDensity",NitrogenDioxideDensity:"000000C4-0000-1000-8000-0026BB765291","00000024-0000-1000-8000-0026BB765291":"ObstructionDetected",ObstructionDetected:"00000024-0000-1000-8000-0026BB765291","00000071-0000-1000-8000-0026BB765291":"OccupancyDetected",OccupancyDetected:"00000071-0000-1000-8000-0026BB765291","00000025-0000-1000-8000-0026BB765291":"On",On:"00000025-0000-1000-8000-0026BB765291","00000232-0000-1000-8000-0026BB765291":"OperatingStateResponse",OperatingStateResponse:"00000232-0000-1000-8000-0026BB765291","0000011C-0000-1000-8000-0026BB765291":"OpticalZoom",OpticalZoom:"0000011C-0000-1000-8000-0026BB765291","00000026-0000-1000-8000-0026BB765291":"OutletInUse",OutletInUse:"00000026-0000-1000-8000-0026BB765291","000000C3-0000-1000-8000-0026BB765291":"OzoneDensity",OzoneDensity:"000000C3-0000-1000-8000-0026BB765291","0000004F-0000-1000-8000-0026BB765291":"PairingFeatures",PairingFeatures:"0000004F-0000-1000-8000-0026BB765291","0000004C-0000-1000-8000-0026BB765291":"PairSetup",PairSetup:"0000004C-0000-1000-8000-0026BB765291","0000004E-0000-1000-8000-0026BB765291":"PairVerify",PairVerify:"0000004E-0000-1000-8000-0026BB765291","000000E4-0000-1000-8000-0026BB765291":"PasswordSetting",PasswordSetting:"000000E4-0000-1000-8000-0026BB765291","00000225-0000-1000-8000-0026BB765291":"PeriodicSnapshotsActive",PeriodicSnapshotsActive:"00000225-0000-1000-8000-0026BB765291","000000E2-0000-1000-8000-0026BB765291":"PictureMode",PictureMode:"000000E2-0000-1000-8000-0026BB765291","0000023C-0000-1000-8000-0026BB765291":"Ping",Ping:"0000023C-0000-1000-8000-0026BB765291","000000C7-0000-1000-8000-0026BB765291":"PM10Density",PM10Density:"000000C7-0000-1000-8000-0026BB765291","000000C6-0000-1000-8000-0026BB765291":"PM2_5Density",PM2_5Density:"000000C6-0000-1000-8000-0026BB765291","00000072-0000-1000-8000-0026BB765291":"PositionState",PositionState:"00000072-0000-1000-8000-0026BB765291","000000DF-0000-1000-8000-0026BB765291":"PowerModeSelection",PowerModeSelection:"000000DF-0000-1000-8000-0026BB765291","00000220-0000-1000-8000-0026BB765291":"ProductData",ProductData:"00000220-0000-1000-8000-0026BB765291","00000073-0000-1000-8000-0026BB765291":"ProgrammableSwitchEvent",ProgrammableSwitchEvent:"00000073-0000-1000-8000-0026BB765291","00000074-0000-1000-8000-0026BB765291":"ProgrammableSwitchOutputState",ProgrammableSwitchOutputState:"00000074-0000-1000-8000-0026BB765291","000000D1-0000-1000-8000-0026BB765291":"ProgramMode",ProgramMode:"000000D1-0000-1000-8000-0026BB765291","0000023F-0000-1000-8000-0026BB765291":"ReceivedSignalStrengthIndication",ReceivedSignalStrengthIndication:"0000023F-0000-1000-8000-0026BB765291","00000244-0000-1000-8000-0026BB765291":"ReceiverSensitivity",ReceiverSensitivity:"00000244-0000-1000-8000-0026BB765291","00000226-0000-1000-8000-0026BB765291":"RecordingAudioActive",RecordingAudioActive:"00000226-0000-1000-8000-0026BB765291","000000C9-0000-1000-8000-0026BB765291":"RelativeHumidityDehumidifierThreshold",RelativeHumidityDehumidifierThreshold:"000000C9-0000-1000-8000-0026BB765291","000000CA-0000-1000-8000-0026BB765291":"RelativeHumidityHumidifierThreshold",RelativeHumidityHumidifierThreshold:"000000CA-0000-1000-8000-0026BB765291","0000005E-0000-1000-8000-0026BB765291":"RelayControlPoint",RelayControlPoint:"0000005E-0000-1000-8000-0026BB765291","0000005B-0000-1000-8000-0026BB765291":"RelayEnabled",RelayEnabled:"0000005B-0000-1000-8000-0026BB765291","0000005C-0000-1000-8000-0026BB765291":"RelayState",RelayState:"0000005C-0000-1000-8000-0026BB765291","000000D4-0000-1000-8000-0026BB765291":"RemainingDuration",RemainingDuration:"000000D4-0000-1000-8000-0026BB765291","000000E1-0000-1000-8000-0026BB765291":"RemoteKey",RemoteKey:"000000E1-0000-1000-8000-0026BB765291","000000AD-0000-1000-8000-0026BB765291":"ResetFilterIndication",ResetFilterIndication:"000000AD-0000-1000-8000-0026BB765291","00000028-0000-1000-8000-0026BB765291":"RotationDirection",RotationDirection:"00000028-0000-1000-8000-0026BB765291","00000029-0000-1000-8000-0026BB765291":"RotationSpeed",RotationSpeed:"00000029-0000-1000-8000-0026BB765291","0000020E-0000-1000-8000-0026BB765291":"RouterStatus",RouterStatus:"0000020E-0000-1000-8000-0026BB765291","0000002F-0000-1000-8000-0026BB765291":"Saturation",Saturation:"0000002F-0000-1000-8000-0026BB765291","0000008E-0000-1000-8000-0026BB765291":"SecuritySystemAlarmType",SecuritySystemAlarmType:"0000008E-0000-1000-8000-0026BB765291","00000066-0000-1000-8000-0026BB765291":"SecuritySystemCurrentState",SecuritySystemCurrentState:"00000066-0000-1000-8000-0026BB765291","00000067-0000-1000-8000-0026BB765291":"SecuritySystemTargetState",SecuritySystemTargetState:"00000067-0000-1000-8000-0026BB765291","00000128-0000-1000-8000-0026BB765291":"SelectedAudioStreamConfiguration",SelectedAudioStreamConfiguration:"00000128-0000-1000-8000-0026BB765291","00000209-0000-1000-8000-0026BB765291":"SelectedCameraRecordingConfiguration",SelectedCameraRecordingConfiguration:"00000209-0000-1000-8000-0026BB765291","0000024D-0000-1000-8000-0026BB765291":"SelectedDiagnosticsModes",SelectedDiagnosticsModes:"0000024D-0000-1000-8000-0026BB765291","00000117-0000-1000-8000-0026BB765291":"SelectedRTPStreamConfiguration",SelectedRTPStreamConfiguration:"00000117-0000-1000-8000-0026BB765291","00000252-0000-1000-8000-0026BB765291":"SelectedSleepConfiguration",SelectedSleepConfiguration:"00000252-0000-1000-8000-0026BB765291","00000030-0000-1000-8000-0026BB765291":"SerialNumber",SerialNumber:"00000030-0000-1000-8000-0026BB765291","000000CB-0000-1000-8000-0026BB765291":"ServiceLabelIndex",ServiceLabelIndex:"000000CB-0000-1000-8000-0026BB765291","000000CD-0000-1000-8000-0026BB765291":"ServiceLabelNamespace",ServiceLabelNamespace:"000000CD-0000-1000-8000-0026BB765291","000000D3-0000-1000-8000-0026BB765291":"SetDuration",SetDuration:"000000D3-0000-1000-8000-0026BB765291","00000131-0000-1000-8000-0026BB765291":"SetupDataStreamTransport",SetupDataStreamTransport:"00000131-0000-1000-8000-0026BB765291","00000118-0000-1000-8000-0026BB765291":"SetupEndpoints",SetupEndpoints:"00000118-0000-1000-8000-0026BB765291","00000201-0000-1000-8000-0026BB765291":"SetupTransferTransport",SetupTransferTransport:"00000201-0000-1000-8000-0026BB765291","00000241-0000-1000-8000-0026BB765291":"SignalToNoiseRatio",SignalToNoiseRatio:"00000241-0000-1000-8000-0026BB765291","00000255-0000-1000-8000-0026BB765291":"SiriEnable",SiriEnable:"00000255-0000-1000-8000-0026BB765291","00000254-0000-1000-8000-0026BB765291":"SiriEndpointSessionStatus",SiriEndpointSessionStatus:"00000254-0000-1000-8000-0026BB765291","0000025A-0000-1000-8000-0026BB765291":"SiriEngineVersion",SiriEngineVersion:"0000025A-0000-1000-8000-0026BB765291","00000132-0000-1000-8000-0026BB765291":"SiriInputType",SiriInputType:"00000132-0000-1000-8000-0026BB765291","00000258-0000-1000-8000-0026BB765291":"SiriLightOnUse",SiriLightOnUse:"00000258-0000-1000-8000-0026BB765291","00000256-0000-1000-8000-0026BB765291":"SiriListening",SiriListening:"00000256-0000-1000-8000-0026BB765291","00000257-0000-1000-8000-0026BB765291":"SiriTouchToUse",SiriTouchToUse:"00000257-0000-1000-8000-0026BB765291","000000C0-0000-1000-8000-0026BB765291":"SlatType",SlatType:"000000C0-0000-1000-8000-0026BB765291","000000E8-0000-1000-8000-0026BB765291":"SleepDiscoveryMode",SleepDiscoveryMode:"000000E8-0000-1000-8000-0026BB765291","0000023A-0000-1000-8000-0026BB765291":"SleepInterval",SleepInterval:"0000023A-0000-1000-8000-0026BB765291","00000076-0000-1000-8000-0026BB765291":"SmokeDetected",SmokeDetected:"00000076-0000-1000-8000-0026BB765291","00000054-0000-1000-8000-0026BB765291":"SoftwareRevision",SoftwareRevision:"00000054-0000-1000-8000-0026BB765291","00000249-0000-1000-8000-0026BB765291":"StagedFirmwareVersion",StagedFirmwareVersion:"00000249-0000-1000-8000-0026BB765291","00000075-0000-1000-8000-0026BB765291":"StatusActive",StatusActive:"00000075-0000-1000-8000-0026BB765291","00000077-0000-1000-8000-0026BB765291":"StatusFault",StatusFault:"00000077-0000-1000-8000-0026BB765291","00000078-0000-1000-8000-0026BB765291":"StatusJammed",StatusJammed:"00000078-0000-1000-8000-0026BB765291","00000079-0000-1000-8000-0026BB765291":"StatusLowBattery",StatusLowBattery:"00000079-0000-1000-8000-0026BB765291","0000007A-0000-1000-8000-0026BB765291":"StatusTampered",StatusTampered:"0000007A-0000-1000-8000-0026BB765291","00000120-0000-1000-8000-0026BB765291":"StreamingStatus",StreamingStatus:"00000120-0000-1000-8000-0026BB765291","000000C5-0000-1000-8000-0026BB765291":"SulphurDioxideDensity",SulphurDioxideDensity:"000000C5-0000-1000-8000-0026BB765291","00000268-0000-1000-8000-0026BB765291":"SupportedAssetTypes",SupportedAssetTypes:"00000268-0000-1000-8000-0026BB765291","00000207-0000-1000-8000-0026BB765291":"SupportedAudioRecordingConfiguration",SupportedAudioRecordingConfiguration:"00000207-0000-1000-8000-0026BB765291","00000115-0000-1000-8000-0026BB765291":"SupportedAudioStreamConfiguration",SupportedAudioStreamConfiguration:"00000115-0000-1000-8000-0026BB765291","00000205-0000-1000-8000-0026BB765291":"SupportedCameraRecordingConfiguration",SupportedCameraRecordingConfiguration:"00000205-0000-1000-8000-0026BB765291","00000144-0000-1000-8000-0026BB765291":"SupportedCharacteristicValueTransitionConfiguration",SupportedCharacteristicValueTransitionConfiguration:"00000144-0000-1000-8000-0026BB765291","00000130-0000-1000-8000-0026BB765291":"SupportedDataStreamTransportConfiguration",SupportedDataStreamTransportConfiguration:"00000130-0000-1000-8000-0026BB765291","0000024C-0000-1000-8000-0026BB765291":"SupportedDiagnosticsModes",SupportedDiagnosticsModes:"0000024C-0000-1000-8000-0026BB765291","00000238-0000-1000-8000-0026BB765291":"SupportedDiagnosticsSnapshot",SupportedDiagnosticsSnapshot:"00000238-0000-1000-8000-0026BB765291","00000233-0000-1000-8000-0026BB765291":"SupportedFirmwareUpdateConfiguration",SupportedFirmwareUpdateConfiguration:"00000233-0000-1000-8000-0026BB765291","00000271-0000-1000-8000-0026BB765291":"SupportedMetrics",SupportedMetrics:"00000271-0000-1000-8000-0026BB765291","00000210-0000-1000-8000-0026BB765291":"SupportedRouterConfiguration",SupportedRouterConfiguration:"00000210-0000-1000-8000-0026BB765291","00000116-0000-1000-8000-0026BB765291":"SupportedRTPConfiguration",SupportedRTPConfiguration:"00000116-0000-1000-8000-0026BB765291","00000251-0000-1000-8000-0026BB765291":"SupportedSleepConfiguration",SupportedSleepConfiguration:"00000251-0000-1000-8000-0026BB765291","00000202-0000-1000-8000-0026BB765291":"SupportedTransferTransportConfiguration",SupportedTransferTransportConfiguration:"00000202-0000-1000-8000-0026BB765291","00000206-0000-1000-8000-0026BB765291":"SupportedVideoRecordingConfiguration",SupportedVideoRecordingConfiguration:"00000206-0000-1000-8000-0026BB765291","00000114-0000-1000-8000-0026BB765291":"SupportedVideoStreamConfiguration",SupportedVideoStreamConfiguration:"00000114-0000-1000-8000-0026BB765291","000000B6-0000-1000-8000-0026BB765291":"SwingMode",SwingMode:"000000B6-0000-1000-8000-0026BB765291","0000022F-0000-1000-8000-0026BB765291":"TapType",TapType:"0000022F-0000-1000-8000-0026BB765291","000000A8-0000-1000-8000-0026BB765291":"TargetAirPurifierState",TargetAirPurifierState:"000000A8-0000-1000-8000-0026BB765291","00000124-0000-1000-8000-0026BB765291":"TargetControlList",TargetControlList:"00000124-0000-1000-8000-0026BB765291","00000123-0000-1000-8000-0026BB765291":"TargetControlSupportedConfiguration",TargetControlSupportedConfiguration:"00000123-0000-1000-8000-0026BB765291","00000032-0000-1000-8000-0026BB765291":"TargetDoorState",TargetDoorState:"00000032-0000-1000-8000-0026BB765291","000000BF-0000-1000-8000-0026BB765291":"TargetFanState",TargetFanState:"000000BF-0000-1000-8000-0026BB765291","000000B2-0000-1000-8000-0026BB765291":"TargetHeaterCoolerState",TargetHeaterCoolerState:"000000B2-0000-1000-8000-0026BB765291","00000033-0000-1000-8000-0026BB765291":"TargetHeatingCoolingState",TargetHeatingCoolingState:"00000033-0000-1000-8000-0026BB765291","0000007B-0000-1000-8000-0026BB765291":"TargetHorizontalTiltAngle",TargetHorizontalTiltAngle:"0000007B-0000-1000-8000-0026BB765291","000000B4-0000-1000-8000-0026BB765291":"TargetHumidifierDehumidifierState",TargetHumidifierDehumidifierState:"000000B4-0000-1000-8000-0026BB765291","00000137-0000-1000-8000-0026BB765291":"TargetMediaState",TargetMediaState:"00000137-0000-1000-8000-0026BB765291","0000007C-0000-1000-8000-0026BB765291":"TargetPosition",TargetPosition:"0000007C-0000-1000-8000-0026BB765291","00000034-0000-1000-8000-0026BB765291":"TargetRelativeHumidity",TargetRelativeHumidity:"00000034-0000-1000-8000-0026BB765291","00000035-0000-1000-8000-0026BB765291":"TargetTemperature",TargetTemperature:"00000035-0000-1000-8000-0026BB765291","000000C2-0000-1000-8000-0026BB765291":"TargetTiltAngle",TargetTiltAngle:"000000C2-0000-1000-8000-0026BB765291","0000007D-0000-1000-8000-0026BB765291":"TargetVerticalTiltAngle",TargetVerticalTiltAngle:"0000007D-0000-1000-8000-0026BB765291","00000134-0000-1000-8000-0026BB765291":"TargetVisibilityState",TargetVisibilityState:"00000134-0000-1000-8000-0026BB765291","00000036-0000-1000-8000-0026BB765291":"TemperatureDisplayUnits",TemperatureDisplayUnits:"00000036-0000-1000-8000-0026BB765291","0000021C-0000-1000-8000-0026BB765291":"ThirdPartyCameraActive",ThirdPartyCameraActive:"0000021C-0000-1000-8000-0026BB765291","00000704-0000-1000-8000-0026BB765291":"ThreadControlPoint",ThreadControlPoint:"00000704-0000-1000-8000-0026BB765291","00000702-0000-1000-8000-0026BB765291":"ThreadNodeCapabilities",ThreadNodeCapabilities:"00000702-0000-1000-8000-0026BB765291","00000706-0000-1000-8000-0026BB765291":"ThreadOpenThreadVersion",ThreadOpenThreadVersion:"00000706-0000-1000-8000-0026BB765291","00000703-0000-1000-8000-0026BB765291":"ThreadStatus",ThreadStatus:"00000703-0000-1000-8000-0026BB765291","00000231-0000-1000-8000-0026BB765291":"Token",Token:"00000231-0000-1000-8000-0026BB765291","00000242-0000-1000-8000-0026BB765291":"TransmitPower",TransmitPower:"00000242-0000-1000-8000-0026BB765291","00000061-0000-1000-8000-0026BB765291":"TunnelConnectionTimeout",TunnelConnectionTimeout:"00000061-0000-1000-8000-0026BB765291","00000060-0000-1000-8000-0026BB765291":"TunneledAccessoryAdvertising",TunneledAccessoryAdvertising:"00000060-0000-1000-8000-0026BB765291","00000059-0000-1000-8000-0026BB765291":"TunneledAccessoryConnected",TunneledAccessoryConnected:"00000059-0000-1000-8000-0026BB765291","00000058-0000-1000-8000-0026BB765291":"TunneledAccessoryStateNumber",TunneledAccessoryStateNumber:"00000058-0000-1000-8000-0026BB765291","000000D5-0000-1000-8000-0026BB765291":"ValveType",ValveType:"000000D5-0000-1000-8000-0026BB765291","00000037-0000-1000-8000-0026BB765291":"Version",Version:"00000037-0000-1000-8000-0026BB765291","00000229-0000-1000-8000-0026BB765291":"VideoAnalysisActive",VideoAnalysisActive:"00000229-0000-1000-8000-0026BB765291","000000C8-0000-1000-8000-0026BB765291":"VOCDensity",VOCDensity:"000000C8-0000-1000-8000-0026BB765291","00000119-0000-1000-8000-0026BB765291":"Volume",Volume:"00000119-0000-1000-8000-0026BB765291","000000E9-0000-1000-8000-0026BB765291":"VolumeControlType",VolumeControlType:"000000E9-0000-1000-8000-0026BB765291","000000EA-0000-1000-8000-0026BB765291":"VolumeSelector",VolumeSelector:"000000EA-0000-1000-8000-0026BB765291","00000222-0000-1000-8000-0026BB765291":"WakeConfiguration",WakeConfiguration:"00000222-0000-1000-8000-0026BB765291","00000211-0000-1000-8000-0026BB765291":"WANConfigurationList",WANConfigurationList:"00000211-0000-1000-8000-0026BB765291","00000212-0000-1000-8000-0026BB765291":"WANStatusList",WANStatusList:"00000212-0000-1000-8000-0026BB765291","000000B5-0000-1000-8000-0026BB765291":"WaterLevel",WaterLevel:"000000B5-0000-1000-8000-0026BB765291","0000022C-0000-1000-8000-0026BB765291":"WiFiCapabilities",WiFiCapabilities:"0000022C-0000-1000-8000-0026BB765291","0000022D-0000-1000-8000-0026BB765291":"WiFiConfigurationControl",WiFiConfigurationControl:"0000022D-0000-1000-8000-0026BB765291","0000021E-0000-1000-8000-0026BB765291":"WiFiSatelliteStatus",WiFiSatelliteStatus:"0000021E-0000-1000-8000-0026BB765291"};T.Categories={OTHER:1,BRIDGE:2,FAN:3,GARAGE_DOOR_OPENER:4,LIGHTBULB:5,DOOR_LOCK:6,OUTLET:7,SWITCH:8,THERMOSTAT:9,SENSOR:10,ALARM_SYSTEM:11,SECURITY_SYSTEM:11,DOOR:12,WINDOW:13,WINDOW_COVERING:14,PROGRAMMABLE_SWITCH:15,RANGE_EXTENDER:16,CAMERA:17,IP_CAMERA:17,VIDEO_DOORBELL:18,AIR_PURIFIER:19,AIR_HEATER:20,AIR_CONDITIONER:21,AIR_HUMIDIFIER:22,AIR_DEHUMIDIFIER:23,APPLE_TV:24,HOMEPOD:25,SPEAKER:26,AIRPORT:27,SPRINKLER:28,FAUCET:29,SHOWER_HEAD:30,TELEVISION:31,TARGET_CONTROLLER:32,ROUTER:33,AUDIO_RECEIVER:34,TV_SET_TOP_BOX:35,TV_STREAMING_STICK:36};T.Enums={AccessoryFlags:{1:"REQUIRES_ADDITIONAL_SETUP_BIT_MASK"},Active:{0:"INACTIVE",1:"ACTIVE"},AirParticulateSize:{0:"_2_5_M",1:"_10_M"},AirQuality:{0:"UNKNOWN",1:"EXCELLENT",2:"GOOD",3:"FAIR",4:"INFERIOR",5:"POOR"},CameraOperatingModeIndicator:{0:"DISABLE",1:"ENABLE"},CarbonDioxideDetected:{0:"CO2_LEVELS_NORMAL",1:"CO2_LEVELS_ABNORMAL"},CarbonMonoxideDetected:{0:"CO_LEVELS_NORMAL",1:"CO_LEVELS_ABNORMAL"},ChargingState:{0:"NOT_CHARGING",1:"CHARGING",2:"NOT_CHARGEABLE"},ClosedCaptions:{0:"DISABLED",1:"ENABLED"},ContactSensorState:{0:"CONTACT_DETECTED",1:"CONTACT_NOT_DETECTED"},CurrentAirPurifierState:{0:"INACTIVE",1:"IDLE",2:"PURIFYING_AIR"},CurrentDoorState:{0:"OPEN",1:"CLOSED",2:"OPENING",3:"CLOSING",4:"STOPPED"},CurrentFanState:{0:"INACTIVE",1:"IDLE",2:"BLOWING_AIR"},CurrentHeaterCoolerState:{0:"INACTIVE",1:"IDLE",2:"HEATING",3:"COOLING"},CurrentHeatingCoolingState:{0:"OFF",1:"HEAT",2:"COOL"},CurrentHumidifierDehumidifierState:{0:"INACTIVE",1:"IDLE",2:"HUMIDIFYING",3:"DEHUMIDIFYING"},CurrentMediaState:{0:"PLAY",1:"PAUSE",2:"STOP",4:"LOADING",5:"INTERRUPTED"},CurrentSlatState:{0:"FIXED",1:"JAMMED",2:"SWINGING"},CurrentVisibilityState:{0:"SHOWN",1:"HIDDEN"},EventSnapshotsActive:{0:"DISABLE",1:"ENABLE"},FilterChangeIndication:{0:"FILTER_OK",1:"CHANGE_FILTER"},HomeKitCameraActive:{0:"OFF",1:"ON"},InputDeviceType:{0:"OTHER",1:"TV",2:"RECORDING",3:"TUNER",4:"PLAYBACK",5:"AUDIO_SYSTEM"},InputSourceType:{0:"OTHER",1:"HOME_SCREEN",2:"TUNER",3:"HDMI",4:"COMPOSITE_VIDEO",5:"S_VIDEO",6:"COMPONENT_VIDEO",7:"DVI",8:"AIRPLAY",9:"USB",10:"APPLICATION"},InUse:{0:"NOT_IN_USE",1:"IN_USE"},IsConfigured:{0:"NOT_CONFIGURED",1:"CONFIGURED"},LeakDetected:{0:"LEAK_NOT_DETECTED",1:"LEAK_DETECTED"},LockCurrentState:{0:"UNSECURED",1:"SECURED",2:"JAMMED",3:"UNKNOWN"},LockLastKnownAction:{0:"SECURED_PHYSICALLY_INTERIOR",1:"UNSECURED_PHYSICALLY_INTERIOR",2:"SECURED_PHYSICALLY_EXTERIOR",3:"UNSECURED_PHYSICALLY_EXTERIOR",4:"SECURED_BY_KEYPAD",5:"UNSECURED_BY_KEYPAD",6:"SECURED_REMOTELY",7:"UNSECURED_REMOTELY",8:"SECURED_BY_AUTO_SECURE_TIMEOUT",9:"SECURED_PHYSICALLY",10:"UNSECURED_PHYSICALLY"},LockPhysicalControls:{0:"CONTROL_LOCK_DISABLED",1:"CONTROL_LOCK_ENABLED"},LockTargetState:{0:"UNSECURED",1:"SECURED"},ManagedNetworkEnable:{0:"DISABLED",1:"ENABLED"},ManuallyDisabled:{0:"ENABLED",1:"DISABLED"},OccupancyDetected:{0:"OCCUPANCY_NOT_DETECTED",1:"OCCUPANCY_DETECTED"},PeriodicSnapshotsActive:{0:"DISABLE",1:"ENABLE"},PictureMode:{0:"OTHER",1:"STANDARD",2:"CALIBRATED",3:"CALIBRATED_DARK",4:"VIVID",5:"GAME",6:"COMPUTER",7:"CUSTOM"},PositionState:{0:"DECREASING",1:"INCREASING",2:"STOPPED"},PowerModeSelection:{0:"SHOW",1:"HIDE"},ProgrammableSwitchEvent:{0:"SINGLE_PRESS",1:"DOUBLE_PRESS",2:"LONG_PRESS"},ProgramMode:{0:"NO_PROGRAM_SCHEDULED",1:"PROGRAM_SCHEDULED",2:"PROGRAM_SCHEDULED_MANUAL_MODE"},RecordingAudioActive:{0:"DISABLE",1:"ENABLE"},RemoteKey:{0:"REWIND",1:"FAST_FORWARD",2:"NEXT_TRACK",3:"PREVIOUS_TRACK",4:"ARROW_UP",5:"ARROW_DOWN",6:"ARROW_LEFT",7:"ARROW_RIGHT",8:"SELECT",9:"BACK",10:"EXIT",11:"PLAY_PAUSE",15:"INFORMATION"},RotationDirection:{0:"CLOCKWISE",1:"COUNTER_CLOCKWISE"},RouterStatus:{0:"READY",1:"NOT_READY"},SecuritySystemAlarmType:{0:"NO_ALARM",1:"UNKNOWN"},SecuritySystemCurrentState:{0:"STAY_ARM",1:"AWAY_ARM",2:"NIGHT_ARM",3:"DISARMED",4:"ALARM_TRIGGERED"},SecuritySystemTargetState:{0:"STAY_ARM",1:"AWAY_ARM",2:"NIGHT_ARM",3:"DISARM"},ServiceLabelNamespace:{0:"DOTS",1:"ARABIC_NUMERALS"},SiriInputType:{0:"PUSH_BUTTON_TRIGGERED_APPLE_TV"},SlatType:{0:"HORIZONTAL",1:"VERTICAL"},SleepDiscoveryMode:{0:"NOT_DISCOVERABLE",1:"ALWAYS_DISCOVERABLE"},SmokeDetected:{0:"SMOKE_NOT_DETECTED",1:"SMOKE_DETECTED"},StatusFault:{0:"NO_FAULT",1:"GENERAL_FAULT"},StatusJammed:{0:"NOT_JAMMED",1:"JAMMED"},StatusLowBattery:{0:"BATTERY_LEVEL_NORMAL",1:"BATTERY_LEVEL_LOW"},StatusTampered:{0:"NOT_TAMPERED",1:"TAMPERED"},SwingMode:{0:"SWING_DISABLED",1:"SWING_ENABLED"},TargetAirPurifierState:{0:"MANUAL",1:"AUTO"},TargetDoorState:{0:"OPEN",1:"CLOSED"},TargetFanState:{0:"MANUAL",1:"AUTO"},TargetHeaterCoolerState:{0:"AUTO",1:"HEAT",2:"COOL"},TargetHeatingCoolingState:{0:"OFF",1:"HEAT",2:"COOL",3:"AUTO"},TargetHumidifierDehumidifierState:{0:"HUMIDIFIER_OR_DEHUMIDIFIER",1:"HUMIDIFIER",2:"DEHUMIDIFIER"},TargetMediaState:{0:"PLAY",1:"PAUSE",2:"STOP"},TargetVisibilityState:{0:"SHOWN",1:"HIDDEN"},TemperatureDisplayUnits:{0:"CELSIUS",1:"FAHRENHEIT"},ThirdPartyCameraActive:{0:"OFF",1:"ON"},ValveType:{0:"GENERIC_VALVE",1:"IRRIGATION",2:"SHOWER_HEAD",3:"WATER_FAUCET"},VolumeControlType:{0:"NONE",1:"RELATIVE",2:"RELATIVE_WITH_CURRENT",3:"ABSOLUTE"},VolumeSelector:{0:"INCREMENT",1:"DECREMENT"},WiFiSatelliteStatus:{0:"UNKNOWN",1:"CONNECTED",2:"NOT_CONNECTED"}}});var _0=y0(d0(),1);var p0=(()=>{class t{transform(e){if(typeof e!="number")return e;let n=1e6/e,i=Math.round(e),c=Math.round(n);return`${i}M (${c}K)`}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=y({name:"convertMired",type:t,pure:!0})}return t})();var m0=(()=>{class t{$settings=A(s0);transform(e,n=this.$settings.env.temperatureUnits){return n==="f"?e*1.8+32:e}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=y({name:"convertTemp",type:t,pure:!0})}return t})();var u0=(()=>{class t{transform(e){return typeof e!="string"?e:e.replace(/_/g," ").toLowerCase().replace(/\b\w/g,n=>n.toUpperCase()).replace(/([a-z])([A-Z])/g,"$1 $2")}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=y({name:"prettify",type:t,pure:!0})}return t})();var C0=(()=>{class t{transform(e){return typeof e!="string"||!e?e:`accessories.core.${e.replace(/^([A-Z])/,i=>i.toLowerCase()).replace(/([A-Z])/g,i=>`_${i.toLowerCase()}`)}`}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=y({name:"serviceToTranslationString",type:t,pure:!0})}return t})();function h0(t,s){if(t&1&&(B(0,"option",30),a(1),d(2,"serviceToTranslationString"),d(3,"translate"),r()),t&2){let e=s.$implicit;N("value",e),o(),u(p(3,4,p(2,2,e)))}}function g0(t,s){if(t&1){let e=L();B(0,"li",8)(1,"label",27),a(2),d(3,"translate"),B(4,"span",28),a(5),d(6,"translate"),r()(),B(7,"div",10)(8,"select",29),H("ngModelChange",function(i){R(e);let c=l();return w(c.service.customType,i)||(c.service.customType=i),M(i)}),g(9,h0,4,6,"option",30,h),r()()()}if(t&2){let e=l();o(2),C(" ",p(3,3,"accessories.custom_type")," "),o(3),u(p(6,5,"common.labels.beta")),o(3),V("ngModel",e.service.customType),o(),I(e.customTypeList.sort())}}function I0(t,s){if(t&1){let e=L();B(0,"li",12)(1,"span",13),a(2),d(3,"translate"),r(),B(4,"div",14)(5,"input",31),d(6,"translate"),H("ngModelChange",function(i){R(e);let c=l();return w(c.service.onDashboard,i)||(c.service.onDashboard=i),M(i)}),r(),x(7,"label",32),r()()}if(t&2){let e=l();o(2),u(p(3,3,"accessories.show_on_dashboard")),o(3),V("ngModel",e.service.onDashboard),v("aria-label",p(6,5,"accessories.show_on_dashboard"))}}function x0(t,s){if(t&1){let e=L();B(0,"span",37),D("click",function(){R(e);let i=l().$implicit,c=l();return M(c.toggleDetailsVisibility(i))}),a(1),r()}if(t&2){let e=l().$implicit,n=l();v("aria-expanded",n.isDetailsVisible[e.uuid]),o(),u(e.description)}}function v0(t,s){if(t&1&&a(0),t&2){let e=l().$implicit;C(" ",e.description," ")}}function D0(t,s){if(t&1&&(B(0,"div"),a(1),r()),t&2){let e=l(2).$implicit;o(),C("Step: ",e.minStep)}}function R0(t,s){if(t&1&&(B(0,"div"),a(1),r()),t&2){let e=l(2).$implicit;o(),C("Min: ",e.minValue)}}function M0(t,s){if(t&1&&(B(0,"div"),a(1),r()),t&2){let e=l(2).$implicit;o(),C("Max: ",e.maxValue)}}function L0(t,s){t&1&&a(0," \xB7 ")}function F0(t,s){if(t&1&&(a(0),_(1,L0,1,0)),t&2){let e=s.$implicit,n=s.$index,i=s.$count;C(" ",e," "),o(),S(n!==i-1?1:-1)}}function N0(t,s){if(t&1&&(B(0,"div"),a(1," Valid: "),g(2,F0,2,2,null,null,h),r()),t&2){let e=l(2).$implicit;o(2),I(e.validValues)}}function O0(t,s){if(t&1&&(B(0,"div",34),_(1,D0,2,1,"div"),_(2,R0,2,1,"div"),_(3,M0,2,1,"div"),_(4,N0,4,0,"div"),r()),t&2){let e=l().$implicit;o(),S("minStep"in e?1:-1),o(),S("minValue"in e?2:-1),o(),S("maxValue"in e?3:-1),o(),S("validValues"in e?4:-1)}}function b0(t,s){t&1&&a(0," Value: ")}function P0(t,s){if(t&1&&a(0),t&2){let e=l().$implicit;C(" ",e.value,"% ")}}function V0(t,s){if(t&1&&(a(0),d(1,"convertTemp")),t&2){let e=l().$implicit;C(" ",p(1,1,e.value),"\xB0 ")}}function w0(t,s){if(t&1&&(a(0),d(1,"convertMired")),t&2){let e=l(2).$implicit;C(" ",p(1,1,e.value)," ")}}function H0(t,s){if(t&1&&a(0),t&2){let e=l(2).$implicit;C(" ",e.value," ")}}function U0(t,s){if(t&1&&_(0,w0,2,3)(1,H0,1,1),t&2){let e,n=l().$implicit;S((e=n.type)==="ColorTemperature"?0:1)}}function k0(t,s){if(t&1&&(a(0),d(1,"prettify")),t&2){let e=l().$implicit,n=l();C(" (",p(1,1,n.enums[e.type][e.value]),") ")}}function $0(t,s){if(t&1&&(a(0),d(1,"translate")),t&2){let e=l().$implicit;C(" (",p(1,1,e.value?"status.widget.info.yes":"status.widget.info.no"),") ")}}function W0(t,s){if(t&1&&a(0),t&2){let e=l().$implicit;C(" ",e.value,"% ")}}function G0(t,s){if(t&1&&(a(0),d(1,"convertTemp")),t&2){let e=l().$implicit;C(" ",p(1,1,e.value),"\xB0 ")}}function Y0(t,s){if(t&1&&(a(0),d(1,"convertMired")),t&2){let e=l(2).$implicit;C(" ",p(1,1,e.value)," ")}}function K0(t,s){if(t&1&&a(0),t&2){let e=l(2).$implicit;C(" ",e.value," ")}}function q0(t,s){if(t&1&&_(0,Y0,2,3)(1,K0,1,1),t&2){let e,n=l().$implicit;S((e=n.type)==="ColorTemperature"?0:1)}}function j0(t,s){if(t&1&&(a(0),d(1,"prettify")),t&2){let e=l().$implicit,n=l();C(" (",p(1,1,n.enums[e.type][e.value]),") ")}}function z0(t,s){if(t&1&&(a(0),d(1,"translate")),t&2){let e=l().$implicit;C(" (",p(1,1,e.value?"status.widget.info.yes":"status.widget.info.no"),") ")}}function J0(t,s){if(t&1&&(B(0,"li",19)(1,"span"),_(2,x0,2,2,"span",33)(3,v0,1,1),_(4,O0,5,4,"div",34),B(5,"div",35),_(6,b0,1,0),_(7,P0,1,1)(8,V0,2,3)(9,U0,2,1),_(10,k0,2,3)(11,$0,2,3),r()(),B(12,"span",36),_(13,W0,1,1)(14,G0,2,3)(15,q0,2,1),_(16,j0,2,3)(17,z0,2,3),r()()),t&2){let e,n,i=s.$implicit,c=l();o(2),S("minStep"in i||"minValue"in i||"maxValue"in i||"validValues"in i?2:3),o(2),S(c.isDetailsVisible[i.uuid]?4:-1),o(2),S(c.isDetailsVisible[i.uuid]?6:-1),o(),S((e=i.unit)==="percentage"?7:e==="celsius"?8:9),o(3),S(c.enums[i.type]!=null&&c.enums[i.type][i.value]?10:i.format==="bool"?11:-1),o(3),S((n=i.unit)==="percentage"?13:n==="celsius"?14:15),o(3),S(c.enums[i.type]!=null&&c.enums[i.type][i.value]?16:i.format==="bool"?17:-1)}}function X0(t,s){if(t&1){let e=L();B(0,"span",37),D("click",function(){R(e);let i=l().$implicit,c=l(2);return M(c.toggleDetailsVisibility(i))}),a(1),r()}if(t&2){let e=l().$implicit,n=l(2);v("aria-expanded",n.isDetailsVisible[e.uuid]),o(),u(e.description)}}function Z0(t,s){if(t&1&&a(0),t&2){let e=l().$implicit;C(" ",e.description," ")}}function Q0(t,s){if(t&1&&(B(0,"div"),a(1),r()),t&2){let e=l(2).$implicit;o(),C("Step: ",e.minStep)}}function ee(t,s){if(t&1&&(B(0,"div"),a(1),r()),t&2){let e=l(2).$implicit;o(),C("Min: ",e.minValue)}}function te(t,s){if(t&1&&(B(0,"div"),a(1),r()),t&2){let e=l(2).$implicit;o(),C("Max: ",e.maxValue)}}function ie(t,s){t&1&&a(0," \xB7 ")}function ne(t,s){if(t&1&&(a(0),_(1,ie,1,0)),t&2){let e=s.$implicit,n=s.$index,i=s.$count;C(" ",e," "),o(),S(n!==i-1?1:-1)}}function oe(t,s){if(t&1&&(B(0,"div"),a(1," Valid: "),g(2,ne,2,2,null,null,h),r()),t&2){let e=l(2).$implicit;o(2),I(e.validValues)}}function ae(t,s){if(t&1&&(B(0,"div",34),_(1,Q0,2,1,"div"),_(2,ee,2,1,"div"),_(3,te,2,1,"div"),_(4,oe,4,0,"div"),r()),t&2){let e=l().$implicit;o(),S("minStep"in e?1:-1),o(),S("minValue"in e?2:-1),o(),S("maxValue"in e?3:-1),o(),S("validValues"in e?4:-1)}}function re(t,s){t&1&&a(0," Value: ")}function se(t,s){if(t&1&&a(0),t&2){let e=l().$implicit;C(" ",e.value,"% ")}}function ce(t,s){if(t&1&&(a(0),d(1,"convertTemp")),t&2){let e=l().$implicit;C(" ",p(1,1,e.value),"\xB0 ")}}function Be(t,s){if(t&1&&(a(0),d(1,"convertMired")),t&2){let e=l(2).$implicit;C(" ",p(1,1,e.value)," ")}}function le(t,s){if(t&1&&a(0),t&2){let e=l(2).$implicit;C(" ",e.value," ")}}function de(t,s){if(t&1&&_(0,Be,2,3)(1,le,1,1),t&2){let e,n=l().$implicit;S((e=n.type)==="ColorTemperature"?0:1)}}function pe(t,s){if(t&1&&(a(0),d(1,"prettify")),t&2){let e=l().$implicit,n=l(2);C(" (",p(1,1,n.enums[e.type][e.value]),") ")}}function me(t,s){if(t&1&&(a(0),d(1,"translate")),t&2){let e=l().$implicit;C(" (",p(1,1,e.value?"status.widget.info.yes":"status.widget.info.no"),") ")}}function ue(t,s){if(t&1&&a(0),t&2){let e=l().$implicit;C(" ",e.value,"% ")}}function Ce(t,s){if(t&1&&(a(0),d(1,"convertTemp")),t&2){let e=l().$implicit;C(" ",p(1,1,e.value),"\xB0 ")}}function _e(t,s){if(t&1&&(a(0),d(1,"convertMired")),t&2){let e=l(2).$implicit;C(" ",p(1,1,e.value)," ")}}function Se(t,s){if(t&1&&a(0),t&2){let e=l(2).$implicit;C(" ",e.value," ")}}function fe(t,s){if(t&1&&_(0,_e,2,3)(1,Se,1,1),t&2){let e,n=l().$implicit;S((e=n.type)==="ColorTemperature"?0:1)}}function Ae(t,s){if(t&1&&(a(0),d(1,"prettify")),t&2){let e=l().$implicit,n=l(2);C(" (",p(1,1,n.enums[e.type][e.value]),") ")}}function Te(t,s){if(t&1&&(a(0),d(1,"translate")),t&2){let e=l().$implicit;C(" (",p(1,1,e.value?"status.widget.info.yes":"status.widget.info.no"),") ")}}function Ee(t,s){if(t&1&&(B(0,"li",19)(1,"span"),_(2,X0,2,2,"span",33)(3,Z0,1,1),_(4,ae,5,4,"div",34),B(5,"div",35),_(6,re,1,0),_(7,se,1,1)(8,ce,2,3)(9,de,2,1),_(10,pe,2,3)(11,me,2,3),r()(),B(12,"span",36),_(13,ue,1,1)(14,Ce,2,3)(15,fe,2,1),_(16,Ae,2,3)(17,Te,2,3),r()()),t&2){let e,n,i=s.$implicit,c=l(2);o(2),S("minStep"in i||"minValue"in i||"maxValue"in i||"validValues"in i?2:3),o(2),S(c.isDetailsVisible[i.uuid]?4:-1),o(2),S(c.isDetailsVisible[i.uuid]?6:-1),o(),S((e=i.unit)==="percentage"?7:e==="celsius"?8:9),o(3),S(c.enums[i.type]!=null&&c.enums[i.type][i.value]?10:i.format==="bool"?11:-1),o(3),S((n=i.unit)==="percentage"?13:n==="celsius"?14:15),o(3),S(c.enums[i.type]!=null&&c.enums[i.type][i.value]?16:i.format==="bool"?17:-1)}}function ye(t,s){if(t&1&&(B(0,"ul",5)(1,"li",17)(2,"h6",18),a(3),d(4,"translate"),r()(),B(5,"li",19)(6,"span",13),a(7),d(8,"translate"),r(),B(9,"span",20),a(10),r()(),B(11,"li",19)(12,"span",13),a(13),d(14,"translate"),r(),B(15,"span",20),a(16),r()(),g(17,Ee,18,7,"li",19,h),r()),t&2){let e=s.$implicit;o(3),u(p(4,5,"accessories.service_info")),o(4),u(p(8,7,"accessories.service")),o(3),u(e.humanType),o(3),u(p(14,9,"accessories.name")),o(3),u(e.serviceName),o(),I(e.serviceCharacteristics)}}function he(t,s){if(t&1&&(B(0,"li",19)(1,"span",13),a(2),d(3,"translate"),r(),B(4,"span",20),a(5),r()()),t&2){let e=l(2);o(2),u(p(3,2,"child_bridge.config.platform")),o(3),u(e.matchedCachedAccessory.platform)}}function ge(t,s){if(t&1&&(B(0,"li",19)(1,"span",13),a(2),d(3,"translate"),r(),B(4,"span",20),a(5),r()()),t&2){let e=l(2);o(2),u(p(3,2,"child_bridge.config.accessory")),o(3),u(e.matchedCachedAccessory.accessory)}}function Ie(t,s){if(t&1&&(B(0,"li",19)(1,"span",13),a(2),d(3,"translate"),r(),B(4,"span",20),a(5),r()(),_(6,he,6,4,"li",19),_(7,ge,6,4,"li",19)),t&2){let e=l();o(2),u(p(3,4,"accessories.plugin")),o(3),u(e.matchedCachedAccessory.plugin),o(),S(e.matchedCachedAccessory.platform?6:-1),o(),S(e.matchedCachedAccessory.accessory?7:-1)}}function xe(t,s){if(t&1&&(B(0,"li",19)(1,"span",13),a(2),r(),B(3,"span",20),a(4),r()()),t&2){let e=s.$implicit;o(2),u(e.key),o(2),u(e.value)}}function ve(t,s){if(t&1&&(B(0,"li",19)(1,"span",13),a(2),d(3,"translate"),r(),B(4,"span",20),a(5),r()()),t&2){let e=l();o(2),u(p(3,2,"accessories.bridge_name")),o(3),u(e.matchedCachedAccessory.bridge)}}function De(t,s){if(t&1){let e=L();B(0,"li",19)(1,"span",22),a(2,"UUID"),r(),B(3,"span",20),a(4),r()(),B(5,"li",38)(6,"span",13),a(7),d(8,"translate"),r(),B(9,"button",39),D("click",function(){R(e);let i=l();return M(i.removeSingleCachedAccessories())}),x(10,"i",40),r()()}if(t&2){let e=l();o(4),u(e.matchedCachedAccessory.UUID),o(3),u(p(8,2,"accessories.button_remove"))}}var S0=(()=>{class t{$activeModal=A(i0);$modal=A(U);allCustomTypeList=[["AirPurifier","Switch","Outlet","Fan","Lightbulb","Heater","Cooler","Humidifier","Dehumidifier","Television","Valve","RobotVacuum","WashingMachine"],["Switch","Outlet","LockMechanism"],["Switch","Outlet","GarageDoorOpener"],["Door","Window","WindowCovering"],["Doorbell","Speaker","SmartSpeaker","Microphone"]];accessoryCache;pairingCache;service;isDetailsVisible={};accessoryInformation;extraServices=[];matchedCachedAccessory=null;enums=_0.Enums;customTypeList=[];ngOnInit(){this.accessoryInformation=Object.entries(this.service.accessoryInformation).map(([e,n])=>({key:e,value:n})),this.matchedCachedAccessory=this.matchToCachedAccessory(),this.service.type==="LockMechanism"&&Object.values(this.service.linkedServices).filter(e=>e.type==="LockManagement").forEach(e=>this.extraServices.push(e)),this.customTypeList=[...new Set(this.allCustomTypeList.filter(e=>e.includes(this.service.type)).flat())],this.service.customType||(this.service.customType=this.service.type)}removeSingleCachedAccessories(){this.$activeModal.close();let e=this.$modal.open(l0,{size:"lg",backdrop:"static"});e.componentInstance.selectedBridge=this.service.instance.username.replaceAll(":","")}toggleDetailsVisibility(e){("minStep"in e||"minValue"in e||"maxValue"in e||"validValues"in e)&&(this.isDetailsVisible[e.uuid]=!this.isDetailsVisible[e.uuid])}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchToCachedAccessory(){let e=this.service.instance.username,n=this.pairingCache.find(i=>i._username===e);if(n){let i=n._main?"cachedAccessories":`cachedAccessories.${n._id}`,c=this.accessoryCache.filter(m=>m.$cacheFile===i);if(c.length){let m=this.service.accessoryInformation.Name,f=this.service.accessoryInformation["Serial Number"],E=c.filter(f0=>{let W=f0.services.find(F=>F.constructorName==="AccessoryInformation"),A0=W.characteristics.find(F=>F.displayName==="Name"),T0=W.characteristics.find(F=>F.displayName==="Serial Number");return A0.value===m&&T0.value===f});if(E.length===1)return Y(G({},E[0]),{bridge:n.name})}}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=q({type:t,selectors:[["ng-component"]],inputs:{accessoryCache:"accessoryCache",pairingCache:"pairingCache",service:"service"},decls:97,vars:60,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"list-group","list-group-box","mb-3"],[1,"list-group-item","text-center","grey-text","small"],[3,"innerHTML"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","id","form-name","autocomplete","off",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","id","hide-accessory",1,"rendux-input",3,"ngModelChange","ngModel"],["for","hide-accessory",1,"rendux-label","ms-3"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-left","flex-column","flex-md-row"],[1,"text-start","text-md-end","grey-text","font-monospace"],[1,"list-group","list-group-box","mb-0"],[1,"text-start","font-monospace"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"badge","badge-primary","ms-1"],[1,"custom-select",3,"ngModelChange","ngModel"],[3,"value"],["type","checkbox","id","show-on-dashboard",1,"rendux-input","mb-0",3,"ngModelChange","ngModel"],["for","show-on-dashboard",1,"rendux-label","ms-3"],[1,"hover-pointer"],[1,"grey-text","m-0","p-0","font-monospace"],[1,"d-block","d-md-none","font-monospace","grey-text"],[1,"text-start","text-md-end","grey-text","font-monospace","d-none","d-md-block","align-content-center"],[1,"hover-pointer",3,"click"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"]],template:function(n,i){n&1&&(B(0,"div",0)(1,"div",1)(2,"h5",2),a(3),r(),B(4,"button",3),d(5,"translate"),D("click",function(){return i.dismissModal()}),r()(),B(6,"div",4)(7,"ul",5)(8,"li",6),x(9,"span",7),d(10,"translate"),x(11,"br")(12,"span",7),d(13,"translate"),r(),B(14,"li",8)(15,"label",9),a(16),d(17,"translate"),r(),B(18,"div",10)(19,"input",11),D("ngModelChange",function(m){return i.service.customName=m}),r()()(),_(20,g0,11,7,"li",8),B(21,"li",12)(22,"span",13),a(23),d(24,"translate"),r(),B(25,"div",14)(26,"input",15),d(27,"translate"),H("ngModelChange",function(m){return w(i.service.hidden,m)||(i.service.hidden=m),m}),r(),x(28,"label",16),r()(),_(29,I0,8,7,"li",12),r(),B(30,"ul",5)(31,"li",17)(32,"h6",18),a(33),d(34,"translate"),r()(),B(35,"li",19)(36,"span",13),a(37),d(38,"translate"),r(),B(39,"span",20),a(40),r()(),B(41,"li",19)(42,"span",13),a(43),d(44,"translate"),r(),B(45,"span",20),a(46),r()(),g(47,J0,18,7,"li",19,h),r(),g(49,ye,19,11,"ul",5,h),B(51,"ul",21)(52,"li",17)(53,"h6",18),a(54),d(55,"translate"),r()(),_(56,Ie,8,6),g(57,xe,5,2,"li",19,h),B(59,"li",19)(60,"span",13),a(61),d(62,"translate"),r(),B(63,"span",20),a(64),r()(),_(65,ve,6,4,"li",19),B(66,"li",19)(67,"span",13),a(68),d(69,"translate"),r(),B(70,"span",20),a(71),r()(),B(72,"li",19)(73,"span",13),a(74),d(75,"translate"),r(),B(76,"span",20),a(77),r()(),B(78,"li",19)(79,"span",22),a(80,"aid"),r(),B(81,"span",20),a(82),r()(),B(83,"li",19)(84,"span",22),a(85,"iid"),r(),B(86,"span",20),a(87),r()(),_(88,De,11,4),r()(),B(89,"div",23),x(90,"div",13),B(91,"div",24)(92,"button",25),d(93,"translate"),D("click",function(){return i.dismissModal()}),a(94),d(95,"translate"),r()(),x(96,"div",26),r()()),n&2&&(o(3),u(i.service.customName||i.service.serviceName),o(),v("aria-label",p(5,30,"form.button_close")),o(5),N("innerHTML",p(10,32,"accessories.only_ui"),$),o(3),N("innerHTML",p(13,34,"accessories.only_ui_2"),$),o(4),u(p(17,36,"accessories.custom_name")),o(3),N("ngModel",i.service.customName||i.service.serviceName),o(),S(i.customTypeList.length?20:-1),o(3),u(p(24,38,"accessories.hide_this_accessory")),o(3),V("ngModel",i.service.hidden),v("aria-label",p(27,40,"accessories.hide_this_accessory")),o(3),S(i.service.hidden?-1:29),o(4),u(p(34,42,"accessories.service_info")),o(4),u(p(38,44,"accessories.service")),o(3),u(i.service.humanType),o(3),u(p(44,46,"accessories.name")),o(3),u(i.service.serviceName),o(),I(i.service.serviceCharacteristics),o(2),I(i.extraServices),o(5),u(p(55,48,"accessories.accessory_info")),o(2),S(i.matchedCachedAccessory?56:-1),o(),I(i.accessoryInformation),o(4),u(p(62,50,"accessories.bridge_username")),o(3),u(i.service.instance.username),o(),S(i.matchedCachedAccessory?65:-1),o(3),u(p(69,52,"accessories.bridge_ip")),o(3),u(i.service.instance.ipAddress),o(3),u(p(75,54,"accessories.bridge_port")),o(3),u(i.service.instance.port),o(5),u(i.service.aid),o(5),u(i.service.iid),o(),S(i.matchedCachedAccessory?88:-1),o(4),v("aria-label",p(93,56,"form.button_close")),o(2),C(" ",p(95,58,"form.button_close")," "))},dependencies:[t0,Q,e0,z,j,Z,J,X,o0,m0,u0,p0,C0],encapsulation:2})}return t})();var st=(()=>{class t{$api=A(r0);$auth=A(c0);$modal=A(U);$toastr=A(a0);$translate=A(n0);$ws=A(B0);accessoryCache=[];pairingCache=[];io;roomsOrdered=!1;hiddenTypes=["InputSource","LockManagement","CameraRTPStreamManagement","ProtocolInformation"];layoutSaved=new k;accessoryData=new k;readyForControl=!1;accessories={services:[]};rooms=[];accessoryLayout;originalLayout;constructor(){this.$auth.user.admin&&(P(this.$api.get("/server/cached-accessories")).then(e=>{this.accessoryCache=e}).catch(e=>console.error(e)),P(this.$api.get("/server/pairings")).then(e=>{this.pairingCache=e}).catch(e=>console.error(e)))}showAccessoryInformation(e){let n=this.$modal.open(S0,{size:"lg",backdrop:"static"});return n.componentInstance.service=e,n.componentInstance.accessoryCache=this.accessoryCache,n.componentInstance.pairingCache=this.pairingCache,n.result.then(()=>this.saveLayout()).catch(()=>this.saveLayout()),!1}stop(){this.io.end(),this.rooms=[],this.accessories={services:[]},this.roomsOrdered=!1,delete this.accessoryLayout,delete this.originalLayout}start(){return b(this,null,function*(){this.readyForControl=!1,this.io=this.$ws.connectToNamespace("accessories"),yield this.loadLayout(),this.io.connected?(this.io.socket.emit("get-accessories"),setTimeout(()=>{this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")})},1e3)):this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")}),this.io.socket.on("accessories-data",e=>{this.parseServices(e),this.generateHelpers(),this.sortIntoRooms(),this.roomsOrdered||(this.orderRooms(),this.applyCustomAttributes(),this.roomsOrdered=!0),this.accessoryData.next(e)}),this.io.socket.on("accessories-reload-required",()=>b(this,null,function*(){this.stop(),yield this.start()})),this.io.socket.on("accessory-control-failure",e=>{console.error(e),this.$toastr.error(e,this.$translate.instant("toast.title_error"))}),this.io.socket.on("accessories-ready-for-control",()=>{this.readyForControl=!0})})}saveLayout(){let e=this.rooms.map(n=>({name:n.name,services:n.services.map(i=>({uniqueId:i.uniqueId,aid:i.aid,iid:i.iid,uuid:i.uuid,customName:i.customName||void 0,customType:i.customType||void 0,hidden:i.hidden||void 0,onDashboard:i.onDashboard||void 0}))})).filter(n=>n.services.length);this.accessoryLayout=this.mergeWithUndiscoveredServices(e),this.io.request("save-layout",{user:this.$auth.user.username,layout:this.accessoryLayout}).subscribe({next:()=>this.layoutSaved.next(void 0),error:n=>{console.error(n),this.$toastr.error(n.message,this.$translate.instant("toast.title_error"))}})}loadLayout(){return b(this,null,function*(){this.accessoryLayout=yield P(this.io.request("get-layout",{user:this.$auth.user.username})),this.originalLayout=JSON.parse(JSON.stringify(this.accessoryLayout)),this.rooms=this.accessoryLayout.map(e=>({name:e.name,services:[]}))})}mergeWithUndiscoveredServices(e){if(!this.originalLayout)return e;let n=new Set;e.forEach(c=>{c.services.forEach(m=>{n.add(m.uniqueId)})});let i=JSON.parse(JSON.stringify(e));return this.originalLayout.forEach(c=>{c.services.forEach(m=>{if(n.has(m.uniqueId))return;let f=i.find(E=>E.name===c.name);f||(f={name:c.name,services:[]},i.push(f)),f.services.push({uniqueId:m.uniqueId,aid:m.aid,iid:m.iid,uuid:m.uuid,customName:m.customName,customType:m.customType,hidden:m.hidden,onDashboard:m.onDashboard})})}),i.filter(c=>c.services.length)}parseServices(e){if(!this.accessories.services.length){this.accessories.services=e;return}e.forEach(n=>{let i=this.accessories.services.find(c=>c.uniqueId===n.uniqueId);n.type==="LockMechanism"&&this.attachLockManagementToMechanism(n),i?Object.assign(i,n):this.accessories.services.push(n)})}sortIntoRooms(){let e=new Set(this.hiddenTypes);this.accessories.services.forEach(n=>{if(e.has(n.type))return;if(n.linked&&(n.linkedServices={},n.linked.forEach(c=>{n.linkedServices[c]=this.accessories.services.find(m=>m.aid===n.aid&&m.iid===c&&m.instance.username===n.instance.username)})),!this.rooms.find(c=>c.services.find(m=>m.uniqueId===n.uniqueId))){let c=this.accessoryLayout.find(m=>m.services.find(f=>f.uniqueId===n.uniqueId));if(c)this.rooms.find(m=>m.name===c.name).services.push(n);else{let m=this.rooms.find(f=>f.name==="Default Room");m?m.services.push(n):this.rooms.push({name:"Default Room",services:[n]})}}})}orderRooms(){this.rooms.forEach(e=>{let n=this.accessoryLayout.find(i=>i.name===e.name);e.services.sort((i,c)=>{let m=n.services.findIndex(E=>E.uniqueId===i.uniqueId),f=n.services.findIndex(E=>E.uniqueId===c.uniqueId);return m<f?-1:m>f?1:0})})}applyCustomAttributes(){this.rooms.forEach(e=>{let n=this.accessoryLayout.find(i=>i.name===e.name);e.services.forEach(i=>{let c=n.services.find(m=>m.uniqueId===i.uniqueId);Object.assign(i,c)})})}generateHelpers(){this.accessories.services.forEach(e=>{e.getCharacteristic||(e.getCharacteristic=n=>{let i=e.serviceCharacteristics.find(c=>c.type===n);return i?(i.setValue=c=>new Promise(m=>(this.readyForControl||m(void 0),this.io.socket.emit("accessory-control",{set:{uniqueId:e.uniqueId,aid:e.aid,siid:e.iid,iid:i.iid,value:c}}),m(void 0))),i):null})})}attachLockManagementToMechanism(e){let n=[],i=[];for(let c of this.accessories.services)c.type==="LockMechanism"&&c.accessoryInformation.Name===e.accessoryInformation.Name&&c.accessoryInformation["Serial Number"]===e.accessoryInformation["Serial Number"]?n.push(c):c.type==="LockManagement"&&c.accessoryInformation.Name===e.accessoryInformation.Name&&c.accessoryInformation["Serial Number"]===e.accessoryInformation["Serial Number"]&&i.push(c);if(n.length===1&&i.length===1){let c=i[0];e.linkedServices||(e.linkedServices={}),e.linkedServices[c.iid]=c}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=K({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{p0 as a,m0 as b,st as c};
@@ -1 +0,0 @@
1
- import{l as hn}from"./chunk-6GMXEQVA.js";import{$ as kt,$c as sn,A as Oe,Aa as xr,B as Ar,C as Ze,Ca as Me,Da as zt,Db as Wr,Ea as _r,Eb as Bt,Fa as Ft,Fb as Gr,Gb as Qr,H,Hb as Kr,K as re,L as ne,N as Lt,Nc as tn,O as he,Pc as rn,Rb as Yr,Rc as nn,S as Je,T as Q,Tc as on,U as jt,V as Tr,W as Er,Wc as tt,Z as Or,Zc as rt,_ as A,_a as Lr,a as l,aa as S,b as N,bc as Zr,ca as C,dd as an,ed as Ne,fa as R,fb as qt,fd as un,ga as Mr,gb as _,gc as Jr,gd as de,h as yr,ha as Dr,hb as jr,hd as cn,i as Sr,ia as T,ib as kr,ic as Xr,j as Cr,ja as K,jb as $r,jc as en,k as wr,ka as d,kb as zr,l as xt,lb as et,m as _t,mb as Fr,n as q,nb as qr,o as U,oa as ie,ob as De,p as B,pa as P,q as w,r as h,s as Ee,t as br,u as Ir,ua as $t,ub as oe,va as Nr,vb as Br,wa as Ur,x as v,xb as Hr,xd as ln,y as Ye,ya as Xe,yb as Vr,z as I,za as Pr}from"./chunk-H36QJYLQ.js";var f="primary",He=Symbol("RouteTitle"),Qt=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function ue(t){return new Qt(t)}function yn(t,n,e){let r=e.path.split("/");if(r.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||r.length<t.length))return null;let i={};for(let o=0;o<r.length;o++){let s=r[o],a=t[o];if(s[0]===":")i[s.substring(1)]=a;else if(s!==a.path)return null}return{consumed:t.slice(0,r.length),posParams:i}}function di(t,n){if(t.length!==n.length)return!1;for(let e=0;e<t.length;++e)if(!j(t[e],n[e]))return!1;return!0}function j(t,n){let e=t?Kt(t):void 0,r=n?Kt(n):void 0;if(!e||!r||e.length!=r.length)return!1;let i;for(let o=0;o<e.length;o++)if(i=e[o],!Sn(t[i],n[i]))return!1;return!0}function Kt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Sn(t,n){if(Array.isArray(t)&&Array.isArray(n)){if(t.length!==n.length)return!1;let e=[...t].sort(),r=[...n].sort();return e.every((i,o)=>r[o]===i)}else return t===n}function Cn(t){return t.length>0?t[t.length-1]:null}function W(t){return br(t)?t:Wr(t)?w(Promise.resolve(t)):h(t)}var fi={exact:bn,subset:In},wn={exact:pi,subset:gi,ignored:()=>!0};function dn(t,n,e){return fi[e.paths](t.root,n.root,e.matrixParams)&&wn[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function pi(t,n){return j(t,n)}function bn(t,n,e){if(!se(t.segments,n.segments)||!ot(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!t.children[r]||!bn(t.children[r],n.children[r],e))return!1;return!0}function gi(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>Sn(t[e],n[e]))}function In(t,n,e){return An(t,n,n.segments,e)}function An(t,n,e,r){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!se(i,e)||n.hasChildren()||!ot(i,e,r))}else if(t.segments.length===e.length){if(!se(t.segments,e)||!ot(t.segments,e,r))return!1;for(let i in n.children)if(!t.children[i]||!In(t.children[i],n.children[i],r))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!se(t.segments,i)||!ot(t.segments,i,r)||!t.children[f]?!1:An(t.children[f],n,o,r)}}function ot(t,n,e){return n.every((r,i)=>wn[e](t[i].parameters,r.parameters))}var $=class{root;queryParams;fragment;_queryParamMap;constructor(n=new p([],{}),e={},r=null){this.root=n,this.queryParams=e,this.fragment=r}get queryParamMap(){return this._queryParamMap??=ue(this.queryParams),this._queryParamMap}toString(){return Ri.serialize(this)}},p=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return st(this)}},Y=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=ue(this.parameters),this._parameterMap}toString(){return En(this)}};function vi(t,n){return se(t,n)&&t.every((e,r)=>j(e.parameters,n[r].parameters))}function se(t,n){return t.length!==n.length?!1:t.every((e,r)=>e.path===n[r].path)}function mi(t,n){let e=[];return Object.entries(t.children).forEach(([r,i])=>{r===f&&(e=e.concat(n(i,r)))}),Object.entries(t.children).forEach(([r,i])=>{r!==f&&(e=e.concat(n(i,r)))}),e}var ce=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>new Z,providedIn:"root"})}return t})(),Z=class{parse(n){let e=new Zt(n);return new $(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${Ue(n.root,!0)}`,r=Ci(n.queryParams),i=typeof n.fragment=="string"?`#${yi(n.fragment)}`:"";return`${e}${r}${i}`}},Ri=new Z;function st(t){return t.segments.map(n=>En(n)).join("/")}function Ue(t,n){if(!t.hasChildren())return st(t);if(n){let e=t.children[f]?Ue(t.children[f],!1):"",r=[];return Object.entries(t.children).forEach(([i,o])=>{i!==f&&r.push(`${i}:${Ue(o,!1)}`)}),r.length>0?`${e}(${r.join("//")})`:e}else{let e=mi(t,(r,i)=>i===f?[Ue(t.children[f],!1)]:[`${i}:${Ue(r,!1)}`]);return Object.keys(t.children).length===1&&t.children[f]!=null?`${st(t)}/${e[0]}`:`${st(t)}/(${e.join("//")})`}}function Tn(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function nt(t){return Tn(t).replace(/%3B/gi,";")}function yi(t){return encodeURI(t)}function Yt(t){return Tn(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function at(t){return decodeURIComponent(t)}function fn(t){return at(t.replace(/\+/g,"%20"))}function En(t){return`${Yt(t.path)}${Si(t.parameters)}`}function Si(t){return Object.entries(t).map(([n,e])=>`;${Yt(n)}=${Yt(e)}`).join("")}function Ci(t){let n=Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`${nt(e)}=${nt(i)}`).join("&"):`${nt(e)}=${nt(r)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var wi=/^[^\/()?;#]+/;function Ht(t){let n=t.match(wi);return n?n[0]:""}var bi=/^[^\/()?;=#]+/;function Ii(t){let n=t.match(bi);return n?n[0]:""}var Ai=/^[^=?&#]+/;function Ti(t){let n=t.match(Ai);return n?n[0]:""}var Ei=/^[^&#]+/;function Oi(t){let n=t.match(Ei);return n?n[0]:""}var Zt=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new p([],{}):new p([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(e).length>0)&&(r[f]=new p(n,e)),r}parseSegment(){let n=Ht(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new C(4009,!1);return this.capture(n),new Y(at(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=Ii(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let i=Ht(this.remaining);i&&(r=i,this.capture(r))}n[at(e)]=at(r)}parseQueryParam(n){let e=Ti(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let s=Oi(this.remaining);s&&(r=s,this.capture(r))}let i=fn(e),o=fn(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let r=Ht(this.remaining),i=this.remaining[r.length];if(i!=="/"&&i!==")"&&i!==";")throw new C(4010,!1);let o;r.indexOf(":")>-1?(o=r.slice(0,r.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=f);let s=this.parseChildren();e[o]=Object.keys(s).length===1?s[f]:new p([],s),this.consumeOptional("//")}return e}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new C(4011,!1)}};function On(t){return t.segments.length>0?new p([],{[f]:t}):t}function Mn(t){let n={};for(let[r,i]of Object.entries(t.children)){let o=Mn(i);if(r===f&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let e=new p(t.segments,n);return Mi(e)}function Mi(t){if(t.numberOfChildren===1&&t.children[f]){let n=t.children[f];return new p(t.segments.concat(n.segments),n.children)}return t}function J(t){return t instanceof $}function Dn(t,n,e=null,r=null){let i=Nn(t);return Un(i,n,e,r)}function Nn(t){let n;function e(o){let s={};for(let u of o.children){let c=e(u);s[u.outlet]=c}let a=new p(o.url,s);return o===t&&(n=a),a}let r=e(t.root),i=On(r);return n??i}function Un(t,n,e,r){let i=t;for(;i.parent;)i=i.parent;if(n.length===0)return Vt(i,i,i,e,r);let o=Di(n);if(o.toRoot())return Vt(i,i,new p([],{}),e,r);let s=Ni(o,i,t),a=s.processChildren?xe(s.segmentGroup,s.index,o.commands):xn(s.segmentGroup,s.index,o.commands);return Vt(i,s.segmentGroup,a,e,r)}function ut(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Le(t){return typeof t=="object"&&t!=null&&t.outlets}function Vt(t,n,e,r,i){let o={};r&&Object.entries(r).forEach(([u,c])=>{o[u]=Array.isArray(c)?c.map(g=>`${g}`):`${c}`});let s;t===n?s=e:s=Pn(t,n,e);let a=On(Mn(s));return new $(a,o,i)}function Pn(t,n,e){let r={};return Object.entries(t.children).forEach(([i,o])=>{o===n?r[i]=e:r[i]=Pn(o,n,e)}),new p(t.segments,r)}var ct=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,r){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=r,n&&r.length>0&&ut(r[0]))throw new C(4003,!1);let i=r.find(Le);if(i&&i!==Cn(r))throw new C(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function Di(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new ct(!0,0,t);let n=0,e=!1,r=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([u,c])=>{a[u]=typeof c=="string"?c.split("/"):c}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,u)=>{u==0&&a==="."||(u==0&&a===""?e=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new ct(e,n,r)}var ge=class{segmentGroup;processChildren;index;constructor(n,e,r){this.segmentGroup=n,this.processChildren=e,this.index=r}};function Ni(t,n,e){if(t.isAbsolute)return new ge(n,!0,0);if(!e)return new ge(n,!1,NaN);if(e.parent===null)return new ge(e,!0,0);let r=ut(t.commands[0])?0:1,i=e.segments.length-1+r;return Ui(e,i,t.numberOfDoubleDots)}function Ui(t,n,e){let r=t,i=n,o=e;for(;o>i;){if(o-=i,r=r.parent,!r)throw new C(4005,!1);i=r.segments.length}return new ge(r,!1,i-o)}function Pi(t){return Le(t[0])?t[0].outlets:{[f]:t}}function xn(t,n,e){if(t??=new p([],{}),t.segments.length===0&&t.hasChildren())return xe(t,n,e);let r=xi(t,n,e),i=e.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){let o=new p(t.segments.slice(0,r.pathIndex),{});return o.children[f]=new p(t.segments.slice(r.pathIndex),t.children),xe(o,0,i)}else return r.match&&i.length===0?new p(t.segments,{}):r.match&&!t.hasChildren()?Jt(t,n,e):r.match?xe(t,0,i):Jt(t,n,e)}function xe(t,n,e){if(e.length===0)return new p(t.segments,{});{let r=Pi(e),i={};if(Object.keys(r).some(o=>o!==f)&&t.children[f]&&t.numberOfChildren===1&&t.children[f].segments.length===0){let o=xe(t.children[f],n,e);return new p(t.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=xn(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new p(t.segments,i)}}function xi(t,n,e){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<t.segments.length;){if(r>=e.length)return o;let s=t.segments[i],a=e[r];if(Le(a))break;let u=`${a}`,c=r<e.length-1?e[r+1]:null;if(i>0&&u===void 0)break;if(u&&c&&typeof c=="object"&&c.outlets===void 0){if(!gn(u,c,s))return o;r+=2}else{if(!gn(u,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function Jt(t,n,e){let r=t.segments.slice(0,n),i=0;for(;i<e.length;){let o=e[i];if(Le(o)){let u=_i(o.outlets);return new p(r,u)}if(i===0&&ut(e[0])){let u=t.segments[n];r.push(new Y(u.path,pn(e[0]))),i++;continue}let s=Le(o)?o.outlets[f]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&ut(a)?(r.push(new Y(s,pn(a))),i+=2):(r.push(new Y(s,{})),i++)}return new p(r,{})}function _i(t){let n={};return Object.entries(t).forEach(([e,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[e]=Jt(new p([],{}),0,r))}),n}function pn(t){let n={};return Object.entries(t).forEach(([e,r])=>n[e]=`${r}`),n}function gn(t,n,e){return t==e.path&&j(n,e.parameters)}var ve="imperative",m=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}(m||{}),M=class{id;url;constructor(n,e){this.id=n,this.url=e}},X=class extends M{type=m.NavigationStart;navigationTrigger;restoredState;constructor(n,e,r="imperative",i=null){super(n,e),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},D=class extends M{urlAfterRedirects;type=m.NavigationEnd;constructor(n,e,r){super(n,e),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},b=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t}(b||{}),Re=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(Re||{}),k=class extends M{reason;code;type=m.NavigationCancel;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},z=class extends M{reason;code;type=m.NavigationSkipped;constructor(n,e,r,i){super(n,e),this.reason=r,this.code=i}},ye=class extends M{error;target;type=m.NavigationError;constructor(n,e,r,i){super(n,e),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},je=class extends M{urlAfterRedirects;state;type=m.RoutesRecognized;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},lt=class extends M{urlAfterRedirects;state;type=m.GuardsCheckStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ht=class extends M{urlAfterRedirects;state;shouldActivate;type=m.GuardsCheckEnd;constructor(n,e,r,i,o){super(n,e),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},dt=class extends M{urlAfterRedirects;state;type=m.ResolveStart;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},ft=class extends M{urlAfterRedirects;state;type=m.ResolveEnd;constructor(n,e,r,i){super(n,e),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},pt=class{route;type=m.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},gt=class{route;type=m.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},vt=class{snapshot;type=m.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},mt=class{snapshot;type=m.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Rt=class{snapshot;type=m.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},yt=class{snapshot;type=m.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Se=class{routerEvent;position;anchor;type=m.Scroll;constructor(n,e,r){this.routerEvent=n,this.position=e,this.anchor=r}toString(){let n=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${n}')`}},ke=class{},Ce=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function Li(t){return!(t instanceof ke)&&!(t instanceof Ce)}function ji(t,n){return t.providers&&!t._injector&&(t._injector=et(t.providers,n,`Route: ${t.path}`)),t._injector??n}function L(t){return t.outlet||f}function ki(t,n){let e=t.filter(r=>L(r)===n);return e.push(...t.filter(r=>L(r)!==n)),e}function Ie(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let n=t.parent;n;n=n.parent){let e=n.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}var St=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return Ie(this.route?.snapshot)??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new le(this.rootInjector)}},le=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,r){let i=this.getOrCreateContext(e);i.outlet=r,this.contexts.set(e,i)}onChildOutletDestroyed(e){let r=this.getContext(e);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let r=this.getContext(e);return r||(r=new St(this.rootInjector),this.contexts.set(e,r)),r}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(r){return new(r||t)(K(ie))};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ct=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=Xt(n,this._root);return e?e.children.map(r=>r.value):[]}firstChild(n){let e=Xt(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=er(n,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return er(n,this._root).map(e=>e.value)}};function Xt(t,n){if(t===n.value)return n;for(let e of n.children){let r=Xt(t,e);if(r)return r}return null}function er(t,n){if(t===n.value)return[n];for(let e of n.children){let r=er(t,e);if(r.length)return r.unshift(n),r}return[]}var O=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function pe(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var $e=class extends Ct{snapshot;constructor(n,e){super(n),this.snapshot=e,ur(this,n)}toString(){return this.snapshot.toString()}};function _n(t){let n=$i(t),e=new U([new Y("",{})]),r=new U({}),i=new U({}),o=new U({}),s=new U(""),a=new V(e,r,o,s,i,f,t,n.root);return a.snapshot=n.root,new $e(new O(a,[]),n)}function $i(t){let n={},e={},r={},i="",o=new ae([],n,r,i,e,f,t,null,{});return new ze("",new O(o,[]))}var V=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,r,i,o,s,a,u){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=u,this.title=this.dataSubject?.pipe(v(c=>c[He]))??h(void 0),this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(v(n=>ue(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(v(n=>ue(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function wt(t,n,e="emptyOnly"){let r,{routeConfig:i}=t;return n!==null&&(e==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:l(l({},n.params),t.params),data:l(l({},n.data),t.data),resolve:l(l(l(l({},t.data),n.data),i?.data),t._resolvedData)}:r={params:l({},t.params),data:l({},t.data),resolve:l(l({},t.data),t._resolvedData??{})},i&&jn(i)&&(r.resolve[He]=i.title),r}var ae=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[He]}constructor(n,e,r,i,o,s,a,u,c){this.url=n,this.params=e,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=u,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=ue(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=ue(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},ze=class extends Ct{url;constructor(n,e){super(e),this.url=n,ur(this,e)}toString(){return Ln(this._root)}};function ur(t,n){n.value._routerState=t,n.children.forEach(e=>ur(t,e))}function Ln(t){let n=t.children.length>0?` { ${t.children.map(Ln).join(", ")} } `:"";return`${t.value}${n}`}function Wt(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,j(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),j(n.params,e.params)||t.paramsSubject.next(e.params),di(n.url,e.url)||t.urlSubject.next(e.url),j(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function tr(t,n){let e=j(t.params,n.params)&&vi(t.url,n.url),r=!t.parent!=!n.parent;return e&&!r&&(!t.parent||tr(t.parent,n.parent))}function jn(t){return typeof t.title=="string"||t.title===null}var kn=new T(""),cr=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=f;activateEvents=new oe;deactivateEvents=new oe;attachEvents=new oe;detachEvents=new oe;routerOutletData=on(void 0);parentContexts=d(le);location=d(kr);changeDetector=d(tt);inputBinder=d(Ve,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:r,previousValue:i}=e.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new C(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new C(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new C(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,r){this.activated=e,this._activatedRoute=r,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,r){if(this.isActivated)throw new C(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,u=new rr(e,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:u,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=De({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Me]})}return t})(),rr=class{route;childContexts;parent;outletData;constructor(n,e,r,i){this.route=n,this.childContexts=e,this.parent=r,this.outletData=i}get(n,e){return n===V?this.route:n===le?this.childContexts:n===kn?this.outletData:this.parent.get(n,e)}},Ve=new T(""),lr=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:r}=e,i=Ye([r.queryParams,r.params,r.data]).pipe(A(([o,s,a],u)=>(a=l(l(l({},o),s),a),u===0?h(a):Promise.resolve(a)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(e);return}let s=sn(r.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac})}return t})(),hr=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Fr({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&Yr(0,"router-outlet")},dependencies:[cr],encapsulation:2})}return t})();function dr(t){let n=t.children&&t.children.map(dr),e=n?N(l({},t),{children:n}):l({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==f&&(e.component=hr),e}function zi(t,n,e){let r=Fe(t,n._root,e?e._root:void 0);return new $e(r,n)}function Fe(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let r=e.value;r._futureSnapshot=n.value;let i=Fi(t,n,e);return new O(r,i)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Fe(t,a)),s}}let r=qi(n.value),i=n.children.map(o=>Fe(t,o));return new O(r,i)}}function Fi(t,n,e){return n.children.map(r=>{for(let i of e.children)if(t.shouldReuseRoute(r.value,i.value.snapshot))return Fe(t,r,i);return Fe(t,r)})}function qi(t){return new V(new U(t.url),new U(t.params),new U(t.queryParams),new U(t.fragment),new U(t.data),t.outlet,t.component,t)}var we=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},$n="ngNavigationCancelingError";function bt(t,n){let{redirectTo:e,navigationBehaviorOptions:r}=J(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=zn(!1,b.Redirect);return i.url=e,i.navigationBehaviorOptions=r,i}function zn(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[$n]=!0,e.cancellationCode=n,e}function Bi(t){return Fn(t)&&J(t.url)}function Fn(t){return!!t&&t[$n]}var Hi=(t,n,e,r)=>v(i=>(new nr(n,i.targetRouterState,i.currentRouterState,e,r).activate(t),i)),nr=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,r,i,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let e=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,r,n),Wt(this.futureState.root),this.activateChildRoutes(e,r,n)}deactivateChildRoutes(n,e,r){let i=pe(e);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,r);else o&&this.deactivateRouteAndItsChildren(e,r)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=pe(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){let r=e.getContext(n.value.outlet),i=r&&n.value.component?r.children:e,o=pe(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,e,r){let i=pe(e);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new yt(o.value.snapshot))}),n.children.length&&this.forwardEvent(new mt(n.value.snapshot))}activateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(Wt(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Wt(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},It=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},me=class{component;route;constructor(n,e){this.component=n,this.route=e}};function Vi(t,n,e){let r=t._root,i=n?n._root:null;return Pe(r,i,e,[r.value])}function Wi(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function Ae(t,n){let e=Symbol(),r=n.get(t,e);return r===e?typeof t=="function"&&!Dr(t)?t:n.get(t):r}function Pe(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=pe(n);return t.children.forEach(s=>{Gi(s,o[s.value.outlet],e,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>_e(a,e.getContext(s),i)),i}function Gi(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let u=Qi(s,o,o.routeConfig.runGuardsAndResolvers);u?i.canActivateChecks.push(new It(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Pe(t,n,a?a.children:null,r,i):Pe(t,n,e,r,i),u&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new me(a.outlet.component,s))}else s&&_e(n,a,i),i.canActivateChecks.push(new It(r)),o.component?Pe(t,null,a?a.children:null,r,i):Pe(t,null,e,r,i);return i}function Qi(t,n,e){if(typeof e=="function")return e(t,n);switch(e){case"pathParamsChange":return!se(t.url,n.url);case"pathParamsOrQueryParamsChange":return!se(t.url,n.url)||!j(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!tr(t,n)||!j(t.queryParams,n.queryParams);case"paramsChange":default:return!tr(t,n)}}function _e(t,n,e){let r=pe(t),i=t.value;Object.entries(r).forEach(([o,s])=>{i.component?n?_e(s,n.children.getContext(o),e):_e(s,null,e):_e(s,n,e)}),i.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new me(n.outlet.component,i)):e.canDeactivateChecks.push(new me(null,i)):e.canDeactivateChecks.push(new me(null,i))}function We(t){return typeof t=="function"}function Ki(t){return typeof t=="boolean"}function Yi(t){return t&&We(t.canLoad)}function Zi(t){return t&&We(t.canActivate)}function Ji(t){return t&&We(t.canActivateChild)}function Xi(t){return t&&We(t.canDeactivate)}function eo(t){return t&&We(t.canMatch)}function qn(t){return t instanceof Ir||t?.name==="EmptyError"}var it=Symbol("INITIAL_VALUE");function be(){return A(t=>Ye(t.map(n=>n.pipe(he(1),Or(it)))).pipe(v(n=>{for(let e of n)if(e!==!0){if(e===it)return it;if(e===!1||to(e))return e}return!0}),H(n=>n!==it),he(1)))}function to(t){return J(t)||t instanceof we}function ro(t,n){return I(e=>{let{targetSnapshot:r,currentSnapshot:i,guards:{canActivateChecks:o,canDeactivateChecks:s}}=e;return s.length===0&&o.length===0?h(N(l({},e),{guardsResult:!0})):no(s,r,i,t).pipe(I(a=>a&&Ki(a)?io(r,o,t,n):h(a)),v(a=>N(l({},e),{guardsResult:a})))})}function no(t,n,e,r){return w(t).pipe(I(i=>co(i.component,i.route,e,n,r)),Q(i=>i!==!0,!0))}function io(t,n,e,r){return w(n).pipe(ne(i=>Ar(so(i.route.parent,r),oo(i.route,r),uo(t,i.path,e),ao(t,i.route,e))),Q(i=>i!==!0,!0))}function oo(t,n){return t!==null&&n&&n(new Rt(t)),h(!0)}function so(t,n){return t!==null&&n&&n(new vt(t)),h(!0)}function ao(t,n,e){let r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||r.length===0)return h(!0);let i=r.map(o=>Ze(()=>{let s=Ie(n)??e,a=Ae(o,s),u=Zi(a)?a.canActivate(n,t):P(s,()=>a(n,t));return W(u).pipe(Q())}));return h(i).pipe(be())}function uo(t,n,e){let r=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>Wi(s)).filter(s=>s!==null).map(s=>Ze(()=>{let a=s.guards.map(u=>{let c=Ie(s.node)??e,g=Ae(u,c),y=Ji(g)?g.canActivateChild(r,t):P(c,()=>g(r,t));return W(y).pipe(Q())});return h(a).pipe(be())}));return h(o).pipe(be())}function co(t,n,e,r,i){let o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!o||o.length===0)return h(!0);let s=o.map(a=>{let u=Ie(n)??i,c=Ae(a,u),g=Xi(c)?c.canDeactivate(t,n,e,r):P(u,()=>c(t,n,e,r));return W(g).pipe(Q())});return h(s).pipe(be())}function lo(t,n,e,r){let i=n.canLoad;if(i===void 0||i.length===0)return h(!0);let o=i.map(s=>{let a=Ae(s,t),u=Yi(a)?a.canLoad(n,e):P(t,()=>a(n,e));return W(u)});return h(o).pipe(be(),Bn(r))}function Bn(t){return Cr(S(n=>{if(typeof n!="boolean")throw bt(t,n)}),v(n=>n===!0))}function ho(t,n,e,r){let i=n.canMatch;if(!i||i.length===0)return h(!0);let o=i.map(s=>{let a=Ae(s,t),u=eo(a)?a.canMatch(n,e):P(t,()=>a(n,e));return W(u)});return h(o).pipe(be(),Bn(r))}var qe=class{segmentGroup;constructor(n){this.segmentGroup=n||null}},Be=class extends Error{urlTree;constructor(n){super(),this.urlTree=n}};function fe(t){return Ee(new qe(t))}function fo(t){return Ee(new C(4e3,!1))}function po(t){return Ee(zn(!1,b.GuardRejected))}var ir=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}lineralizeSegments(n,e){let r=[],i=e.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return h(r);if(i.numberOfChildren>1||!i.children[f])return fo(`${n.redirectTo}`);i=i.children[f]}}applyRedirectCommands(n,e,r,i,o){return go(e,i,o).pipe(v(s=>{if(s instanceof $)throw new Be(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new Be(a);return a}))}applyRedirectCreateUrlTree(n,e,r,i){let o=this.createSegmentGroup(n,e.root,r,i);return new $(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=e[a]}else r[i]=o}),r}createSegmentGroup(n,e,r,i){let o=this.createSegments(n,e.segments,r,i),s={};return Object.entries(e.children).forEach(([a,u])=>{s[a]=this.createSegmentGroup(n,u,r,i)}),new p(o,s)}createSegments(n,e,r,i){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,e,r){let i=r[e.path.substring(1)];if(!i)throw new C(4001,!1);return i}findOrReturn(n,e){let r=0;for(let i of e){if(i.path===n.path)return e.splice(r),i;r++}return n}};function go(t,n,e){if(typeof t=="string")return h(t);let r=t,{queryParams:i,fragment:o,routeConfig:s,url:a,outlet:u,params:c,data:g,title:y}=n;return W(P(e,()=>r({params:c,data:g,queryParams:i,fragment:o,routeConfig:s,url:a,outlet:u,title:y})))}var or={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function vo(t,n,e,r,i){let o=Hn(t,n,e);return o.matched?(r=ji(n,r),ho(r,n,e,i).pipe(v(s=>s===!0?o:l({},or)))):h(o)}function Hn(t,n,e){if(n.path==="**")return mo(e);if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?l({},or):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(n.matcher||yn)(e,t,n);if(!i)return l({},or);let o={};Object.entries(i.posParams??{}).forEach(([a,u])=>{o[a]=u.path});let s=i.consumed.length>0?l(l({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function mo(t){return{matched:!0,parameters:t.length>0?Cn(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function vn(t,n,e,r){return e.length>0&&So(t,e,r)?{segmentGroup:new p(n,yo(r,new p(e,t.children))),slicedSegments:[]}:e.length===0&&Co(t,e,r)?{segmentGroup:new p(t.segments,Ro(t,e,r,t.children)),slicedSegments:e}:{segmentGroup:new p(t.segments,t.children),slicedSegments:e}}function Ro(t,n,e,r){let i={};for(let o of e)if(Tt(t,n,o)&&!r[L(o)]){let s=new p([],{});i[L(o)]=s}return l(l({},r),i)}function yo(t,n){let e={};e[f]=n;for(let r of t)if(r.path===""&&L(r)!==f){let i=new p([],{});e[L(r)]=i}return e}function So(t,n,e){return e.some(r=>Tt(t,n,r)&&L(r)!==f)}function Co(t,n,e){return e.some(r=>Tt(t,n,r))}function Tt(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function wo(t,n,e){return n.length===0&&!t.children[e]}var sr=class{};function bo(t,n,e,r,i,o,s="emptyOnly"){return new ar(t,n,e,r,i,s,o).recognize()}var Io=31,ar=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,r,i,o,s,a){this.injector=n,this.configLoader=e,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new ir(this.urlSerializer,this.urlTree)}noMatchError(n){return new C(4002,`'${n.segmentGroup}'`)}recognize(){let n=vn(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(v(({children:e,rootSnapshot:r})=>{let i=new O(r,e),o=new ze("",i),s=Dn(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(n){let e=new ae([],Object.freeze({}),Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),f,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,n,f,e).pipe(v(r=>({children:r,rootSnapshot:e})),re(r=>{if(r instanceof Be)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof qe?this.noMatchError(r):r}))}processSegmentGroup(n,e,r,i,o){return r.segments.length===0&&r.hasChildren()?this.processChildren(n,e,r,o):this.processSegment(n,e,r,r.segments,i,!0,o).pipe(v(s=>s instanceof O?[s]:[]))}processChildren(n,e,r,i){let o=[];for(let s of Object.keys(r.children))s==="primary"?o.unshift(s):o.push(s);return w(o).pipe(ne(s=>{let a=r.children[s],u=ki(e,s);return this.processSegmentGroup(n,u,a,s,i)}),Er((s,a)=>(s.push(...a),s)),Lt(null),Tr(),I(s=>{if(s===null)return fe(r);let a=Vn(s);return Ao(a),h(a)}))}processSegment(n,e,r,i,o,s,a){return w(e).pipe(ne(u=>this.processSegmentAgainstRoute(u._injector??n,e,u,r,i,o,s,a).pipe(re(c=>{if(c instanceof qe)return h(null);throw c}))),Q(u=>!!u),re(u=>{if(qn(u))return wo(r,i,o)?h(new sr):fe(r);throw u}))}processSegmentAgainstRoute(n,e,r,i,o,s,a,u){return L(r)!==s&&(s===f||!Tt(i,o,r))?fe(i):r.redirectTo===void 0?this.matchSegmentAgainstRoute(n,i,r,o,s,u):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,i,e,r,o,s,u):fe(i)}expandSegmentAgainstRouteUsingRedirect(n,e,r,i,o,s,a){let{matched:u,parameters:c,consumedSegments:g,positionalParamSegments:y,remainingSegments:x}=Hn(e,i,o);if(!u)return fe(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Io&&(this.allowRedirects=!1));let G=new ae(o,c,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,mn(i),L(i),i.component??i._loadedComponent??null,i,Rn(i)),E=wt(G,a,this.paramsInheritanceStrategy);return G.params=Object.freeze(E.params),G.data=Object.freeze(E.data),this.applyRedirects.applyRedirectCommands(g,i.redirectTo,y,G,n).pipe(A(te=>this.applyRedirects.lineralizeSegments(i,te)),I(te=>this.processSegment(n,r,e,te.concat(x),s,!1,a)))}matchSegmentAgainstRoute(n,e,r,i,o,s){let a=vo(e,r,i,n,this.urlSerializer);return r.path==="**"&&(e.children={}),a.pipe(A(u=>u.matched?(n=r._injector??n,this.getChildConfig(n,r,i).pipe(A(({routes:c})=>{let g=r._loadedInjector??n,{parameters:y,consumedSegments:x,remainingSegments:G}=u,E=new ae(x,y,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,mn(r),L(r),r.component??r._loadedComponent??null,r,Rn(r)),Ut=wt(E,s,this.paramsInheritanceStrategy);E.params=Object.freeze(Ut.params),E.data=Object.freeze(Ut.data);let{segmentGroup:te,slicedSegments:Pt}=vn(e,x,G,c);if(Pt.length===0&&te.hasChildren())return this.processChildren(g,c,te,E).pipe(v(Ke=>new O(E,Ke)));if(c.length===0&&Pt.length===0)return h(new O(E,[]));let li=L(r)===o;return this.processSegment(g,c,te,Pt,li?f:o,!0,E).pipe(v(Ke=>new O(E,Ke instanceof O?[Ke]:[])))}))):fe(e)))}getChildConfig(n,e,r){return e.children?h({routes:e.children,injector:n}):e.loadChildren?e._loadedRoutes!==void 0?h({routes:e._loadedRoutes,injector:e._loadedInjector}):lo(n,e,r,this.urlSerializer).pipe(I(i=>i?this.configLoader.loadChildren(n,e).pipe(S(o=>{e._loadedRoutes=o.routes,e._loadedInjector=o.injector})):po(e))):h({routes:[],injector:n})}};function Ao(t){t.sort((n,e)=>n.value.outlet===f?-1:e.value.outlet===f?1:n.value.outlet.localeCompare(e.value.outlet))}function To(t){let n=t.value.routeConfig;return n&&n.path===""}function Vn(t){let n=[],e=new Set;for(let r of t){if(!To(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),e.add(i)):n.push(r)}for(let r of e){let i=Vn(r.children);n.push(new O(r.value,i))}return n.filter(r=>!e.has(r))}function mn(t){return t.data||{}}function Rn(t){return t.resolve||{}}function Eo(t,n,e,r,i,o){return I(s=>bo(t,n,e,r,s.extractedUrl,i,o).pipe(v(({state:a,tree:u})=>N(l({},s),{targetSnapshot:a,urlAfterRedirects:u}))))}function Oo(t,n){return I(e=>{let{targetSnapshot:r,guards:{canActivateChecks:i}}=e;if(!i.length)return h(e);let o=new Set(i.map(u=>u.route)),s=new Set;for(let u of o)if(!s.has(u))for(let c of Wn(u))s.add(c);let a=0;return w(s).pipe(ne(u=>o.has(u)?Mo(u,r,t,n):(u.data=wt(u,u.parent,t).resolve,h(void 0))),S(()=>a++),jt(1),I(u=>a===s.size?h(e):B))})}function Wn(t){let n=t.children.map(e=>Wn(e)).flat();return[t,...n]}function Mo(t,n,e,r){let i=t.routeConfig,o=t._resolve;return i?.title!==void 0&&!jn(i)&&(o[He]=i.title),Ze(()=>(t.data=wt(t,t.parent,e).resolve,Do(o,t,n,r).pipe(v(s=>(t._resolvedData=s,t.data=l(l({},t.data),s),null)))))}function Do(t,n,e,r){let i=Kt(t);if(i.length===0)return h({});let o={};return w(i).pipe(I(s=>No(t[s],n,e,r).pipe(Q(),S(a=>{if(a instanceof we)throw bt(new Z,a);o[s]=a}))),jt(1),v(()=>o),re(s=>qn(s)?B:Ee(s)))}function No(t,n,e,r){let i=Ie(n)??r,o=Ae(t,i),s=o.resolve?o.resolve(n,e):P(i,()=>o(n,e));return W(s)}function Gt(t){return A(n=>{let e=t(n);return e?w(e).pipe(v(()=>n)):h(n)})}var fr=(()=>{class t{buildTitle(e){let r,i=e.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===f);return r}getResolvedTitleForRoute(e){return e.data[He]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>d(Gn),providedIn:"root"})}return t})(),Gn=(()=>{class t extends fr{title;constructor(e){super(),this.title=e}updateTitle(e){let r=this.buildTitle(e);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||t)(K(hn))};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ee=new T("",{providedIn:"root",factory:()=>({})}),Te=new T(""),Et=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=d(tn);loadComponent(e,r){if(this.componentLoaders.get(r))return this.componentLoaders.get(r);if(r._loadedComponent)return h(r._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(r);let i=W(P(e,()=>r.loadComponent())).pipe(v(Kn),A(Yn),S(s=>{this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s}),Je(()=>{this.componentLoaders.delete(r)})),o=new _t(i,()=>new q).pipe(xt());return this.componentLoaders.set(r,o),o}loadChildren(e,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return h({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let o=Qn(r,this.compiler,e,this.onLoadEndListener).pipe(Je(()=>{this.childrenLoaders.delete(r)})),s=new _t(o,()=>new q).pipe(xt());return this.childrenLoaders.set(r,s),s}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Qn(t,n,e,r){return W(P(e,()=>t.loadChildren())).pipe(v(Kn),A(Yn),I(i=>i instanceof zr||Array.isArray(i)?h(i):w(n.compileModuleAsync(i))),v(i=>{r&&r(t);let o,s,a=!1;return Array.isArray(i)?(s=i,a=!0):(o=i.create(e).injector,s=o.get(Te,[],{optional:!0,self:!0}).flat()),{routes:s.map(dr),injector:o}}))}function Uo(t){return t&&typeof t=="object"&&"default"in t}function Kn(t){return Uo(t)?t.default:t}function Yn(t){return h(t)}var Ot=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>d(Po),providedIn:"root"})}return t})(),Po=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,r){return e}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),pr=new T(""),gr=new T("");function Zn(t,n,e){let r=t.get(gr),i=t.get(Nr);if(!i.startViewTransition||r.skipNextTransition)return r.skipNextTransition=!1,new Promise(c=>setTimeout(c));let o,s=new Promise(c=>{o=c}),a=i.startViewTransition(()=>(o(),xo(t)));a.ready.catch(c=>{});let{onViewTransitionCreated:u}=r;return u&&P(t,()=>u({transition:a,from:n,to:e})),s}function xo(t){return new Promise(n=>{Hr({read:()=>setTimeout(n)},{injector:t})})}var vr=new T(""),Mt=(()=>{class t{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new q;transitionAbortWithErrorSubject=new q;configLoader=d(Et);environmentInjector=d(ie);destroyRef=d(Ur);urlSerializer=d(ce);rootContexts=d(le);location=d(de);inputBindingEnabled=d(Ve,{optional:!0})!==null;titleStrategy=d(fr);options=d(ee,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=d(Ot);createViewTransition=d(pr,{optional:!0});navigationErrorHandler=d(vr,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>h(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new pt(i)),r=i=>this.events.next(new gt(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let r=++this.navigationId;this.transitions?.next(N(l({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,abortController:new AbortController,id:r}))}setupNavigations(e){return this.transitions=new U(null),this.transitions.pipe(H(r=>r!==null),A(r=>{let i=!1;return h(r).pipe(A(o=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",b.SupersededByNewNavigation),B;this.currentTransition=r,this.currentNavigation={id:o.id,initialUrl:o.rawUrl,extractedUrl:o.extractedUrl,targetBrowserUrl:typeof o.extras.browserUrl=="string"?this.urlSerializer.parse(o.extras.browserUrl):o.extras.browserUrl,trigger:o.source,extras:o.extras,previousNavigation:this.lastSuccessfulNavigation?N(l({},this.lastSuccessfulNavigation),{previousNavigation:null}):null,abort:()=>o.abortController.abort()};let s=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),a=o.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!s&&a!=="reload"){let u="";return this.events.next(new z(o.id,this.urlSerializer.serialize(o.rawUrl),u,Re.IgnoredSameUrlNavigation)),o.resolve(!1),B}if(this.urlHandlingStrategy.shouldProcessUrl(o.rawUrl))return h(o).pipe(A(u=>(this.events.next(new X(u.id,this.urlSerializer.serialize(u.extractedUrl),u.source,u.restoredState)),u.id!==this.navigationId?B:Promise.resolve(u))),Eo(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),S(u=>{r.targetSnapshot=u.targetSnapshot,r.urlAfterRedirects=u.urlAfterRedirects,this.currentNavigation=N(l({},this.currentNavigation),{finalUrl:u.urlAfterRedirects});let c=new je(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(c)}));if(s&&this.urlHandlingStrategy.shouldProcessUrl(o.currentRawUrl)){let{id:u,extractedUrl:c,source:g,restoredState:y,extras:x}=o,G=new X(u,this.urlSerializer.serialize(c),g,y);this.events.next(G);let E=_n(this.rootComponentType).snapshot;return this.currentTransition=r=N(l({},o),{targetSnapshot:E,urlAfterRedirects:c,extras:N(l({},x),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=c,h(r)}else{let u="";return this.events.next(new z(o.id,this.urlSerializer.serialize(o.extractedUrl),u,Re.IgnoredByUrlHandlingStrategy)),o.resolve(!1),B}}),S(o=>{let s=new lt(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects),o.targetSnapshot);this.events.next(s)}),v(o=>(this.currentTransition=r=N(l({},o),{guards:Vi(o.targetSnapshot,o.currentSnapshot,this.rootContexts)}),r)),ro(this.environmentInjector,o=>this.events.next(o)),S(o=>{if(r.guardsResult=o.guardsResult,o.guardsResult&&typeof o.guardsResult!="boolean")throw bt(this.urlSerializer,o.guardsResult);let s=new ht(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects),o.targetSnapshot,!!o.guardsResult);this.events.next(s)}),H(o=>o.guardsResult?!0:(this.cancelNavigationTransition(o,"",b.GuardRejected),!1)),Gt(o=>{if(o.guards.canActivateChecks.length!==0)return h(o).pipe(S(s=>{let a=new dt(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),A(s=>{let a=!1;return h(s).pipe(Oo(this.paramsInheritanceStrategy,this.environmentInjector),S({next:()=>a=!0,complete:()=>{a||this.cancelNavigationTransition(s,"",b.NoDataFromResolver)}}))}),S(s=>{let a=new ft(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}))}),Gt(o=>{let s=a=>{let u=[];if(a.routeConfig?.loadComponent&&!a.routeConfig._loadedComponent){let c=Ie(a)??this.environmentInjector;u.push(this.configLoader.loadComponent(c,a.routeConfig).pipe(S(g=>{a.component=g}),v(()=>{})))}for(let c of a.children)u.push(...s(c));return u};return Ye(s(o.targetSnapshot.root)).pipe(Lt(null),he(1))}),Gt(()=>this.afterPreactivation()),A(()=>{let{currentSnapshot:o,targetSnapshot:s}=r,a=this.createViewTransition?.(this.environmentInjector,o.root,s.root);return a?w(a).pipe(v(()=>r)):h(r)}),v(o=>{let s=zi(e.routeReuseStrategy,o.targetSnapshot,o.currentRouterState);return this.currentTransition=r=N(l({},o),{targetRouterState:s}),this.currentNavigation.targetRouterState=s,r}),S(()=>{this.events.next(new ke)}),Hi(this.rootContexts,e.routeReuseStrategy,o=>this.events.next(o),this.inputBindingEnabled),he(1),kt(new wr(o=>{let s=r.abortController.signal,a=()=>o.next();return s.addEventListener("abort",a),()=>s.removeEventListener("abort",a)}).pipe(H(()=>!i&&!r.targetRouterState),S(()=>{this.cancelNavigationTransition(r,r.abortController.signal.reason+"",b.Aborted)}))),S({next:o=>{i=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new D(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects))),this.titleStrategy?.updateTitle(o.targetRouterState.snapshot),o.resolve(!0)},complete:()=>{i=!0}}),kt(this.transitionAbortWithErrorSubject.pipe(S(o=>{throw o}))),Je(()=>{i||this.cancelNavigationTransition(r,"",b.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation=null,this.currentTransition=null)}),re(o=>{if(this.destroyed)return r.resolve(!1),B;if(i=!0,Fn(o))this.events.next(new k(r.id,this.urlSerializer.serialize(r.extractedUrl),o.message,o.cancellationCode)),Bi(o)?this.events.next(new Ce(o.url,o.navigationBehaviorOptions)):r.resolve(!1);else{let s=new ye(r.id,this.urlSerializer.serialize(r.extractedUrl),o,r.targetSnapshot??void 0);try{let a=P(this.environmentInjector,()=>this.navigationErrorHandler?.(s));if(a instanceof we){let{message:u,cancellationCode:c}=bt(this.urlSerializer,a);this.events.next(new k(r.id,this.urlSerializer.serialize(r.extractedUrl),u,c)),this.events.next(new Ce(a.redirectTo,a.navigationBehaviorOptions))}else throw this.events.next(s),o}catch(a){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(a)}}return B}))}))}cancelNavigationTransition(e,r,i){let o=new k(e.id,this.urlSerializer.serialize(e.extractedUrl),r,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return e.toString()!==r?.toString()&&!this.currentNavigation?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function _o(t){return t!==ve}var Jn=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>d(Lo),providedIn:"root"})}return t})(),At=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}},Lo=(()=>{class t extends At{static \u0275fac=(()=>{let e;return function(i){return(e||(e=zt(t)))(i||t)}})();static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Xn=(()=>{class t{urlSerializer=d(ce);options=d(ee,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=d(de);urlHandlingStrategy=d(Ot);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new $;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:r,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,r):r,s=i??o;return s instanceof $?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:r,initialUrl:i}){r&&e?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=e):this.rawUrlTree=i}routerState=_n(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();updateStateMemento(){this.stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>d(jo),providedIn:"root"})}return t})(),jo=(()=>{class t extends Xn{currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{e(r.url,r.state,"popstate")})})}handleRouterEvent(e,r){e instanceof X?this.updateStateMemento():e instanceof z?this.commitTransition(r):e instanceof je?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof ke?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof k&&e.code!==b.SupersededByNewNavigation&&e.code!==b.Redirect?this.restoreHistory(r):e instanceof ye?this.restoreHistory(r,!0):e instanceof D&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,u=l(l({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",u)}else{let a=l(l({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,r){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:r}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=zt(t)))(i||t)}})();static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Dt(t,n){t.events.pipe(H(e=>e instanceof D||e instanceof k||e instanceof ye||e instanceof z),v(e=>e instanceof D||e instanceof z?0:(e instanceof k?e.code===b.Redirect||e.code===b.SupersededByNewNavigation:!1)?2:1),H(e=>e!==2),he(1)).subscribe(()=>{n()})}var ko={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},$o={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},F=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=d(Vr);stateManager=d(Xn);options=d(ee,{optional:!0})||{};pendingTasks=d(xr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=d(Mt);urlSerializer=d(ce);location=d(de);urlHandlingStrategy=d(Ot);injector=d(ie);_events=new q;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=d(Jn);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=d(Te,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!d(Ve,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}eventsSubscription=new Sr;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=this.navigationTransitions.currentNavigation;if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof k&&r.code!==b.Redirect&&r.code!==b.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof D)this.navigated=!0;else if(r instanceof Ce){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),u=l({browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||_o(i.source)},s);this.scheduleNavigation(a,ve,null,u,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}Li(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),ve,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,r,i)=>{this.navigateToSyncWithBrowser(e,i,r)})}navigateToSyncWithBrowser(e,r,i){let o={replaceUrl:!0},s=i?.navigationId?i:null;if(i){let u=l({},i);delete u.navigationId,delete u.\u0275routerPageId,Object.keys(u).length!==0&&(o.state=u)}let a=this.parseUrl(e);this.scheduleNavigation(a,r,s,o).catch(u=>{this.disposed||this.injector.get(Xe)(u)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(dr),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:u}=r,c=u?this.currentUrlTree.fragment:s,g=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":g=l(l({},this.currentUrlTree.queryParams),o);break;case"preserve":g=this.currentUrlTree.queryParams;break;default:g=o||null}g!==null&&(g=this.removeEmptyProps(g));let y;try{let x=i?i.snapshot:this.routerState.snapshot.root;y=Nn(x)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),y=this.currentUrlTree.root}return Un(y,e,g,c??null)}navigateByUrl(e,r={skipLocationChange:!1}){let i=J(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,ve,null,r)}navigate(e,r={skipLocationChange:!1}){return zo(e),this.navigateByUrl(this.createUrlTree(e,r),r)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.urlSerializer.parse("/")}}isActive(e,r){let i;if(r===!0?i=l({},ko):r===!1?i=l({},$o):i=r,J(e))return dn(this.currentUrlTree,e,i);let o=this.parseUrl(e);return dn(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(e,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,u,c;s?(a=s.resolve,u=s.reject,c=s.promise):c=new Promise((y,x)=>{a=y,u=x});let g=this.pendingTasks.add();return Dt(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(g))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:u,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(y=>Promise.reject(y))}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function zo(t){for(let n=0;n<t.length;n++)if(t[n]==null)throw new C(4008,!1)}var Nt=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;reactiveHref=Pr(null);get href(){return rn(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new q;applicationErrorHandler=d(Xe);options=d(ee,{optional:!0});constructor(e,r,i,o,s,a){this.router=e,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a,this.reactiveHref.set(d(new nn("href"),{optional:!0}));let u=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=u==="a"||u==="area"||!!(typeof customElements=="object"&&customElements.get(u)?.observedAttributes?.includes?.("href")),this.isAnchorElement?this.setTabIndexIfNotOnNativeEl("0"):this.subscribeToNavigationEventsIfNecessary()}subscribeToNavigationEventsIfNecessary(){if(this.subscription!==void 0||!this.isAnchorElement)return;let e=this.preserveFragment,r=i=>i==="merge"||i==="preserve";e||=r(this.queryParamsHandling),e||=!this.queryParamsHandling&&!r(this.options?.defaultQueryParamsHandling),e&&(this.subscription=this.router.events.subscribe(i=>{i instanceof D&&this.updateHref()}))}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&(this.updateHref(),this.subscribeToNavigationEventsIfNecessary()),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(J(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,r,i,o,s){let a=this.urlTree;if(a===null||this.isAnchorElement&&(e!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let u={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,u)?.catch(c=>{this.applicationErrorHandler(c)}),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let e=this.urlTree;this.reactiveHref.set(e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null)}applyAttributeValue(e,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,e,r):i.removeAttribute(o,e)}get urlTree(){return this.routerLinkInput===null?null:J(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(r){return new(r||t)(_(F),_(V),_r("tabindex"),_(qt),_(Ft),_(Ne))};static \u0275dir=De({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&Zr("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&Kr("href",i.reactiveHref(),Lr)("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",rt],skipLocationChange:[2,"skipLocationChange","skipLocationChange",rt],replaceUrl:[2,"replaceUrl","replaceUrl",rt],routerLink:"routerLink"},features:[Me]})}return t})(),Fo=(()=>{class t{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new oe;constructor(e,r,i,o,s){this.router=e,this.element=r,this.renderer=i,this.cdr=o,this.link=s,this.routerEventsSubscription=e.events.subscribe(a=>{a instanceof D&&this.update()})}ngAfterContentInit(){h(this.links.changes,h(null)).pipe(Oe()).subscribe(e=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let e=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=w(e).pipe(Oe()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(e){let r=Array.isArray(e)?e:e.split(" ");this.classes=r.filter(i=>!!i)}ngOnChanges(e){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let e=this.hasActiveLinks();this.classes.forEach(r=>{e?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),e&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==e&&(this._isActive=e,this.cdr.markForCheck(),this.isActiveChange.emit(e))})}isLinkActive(e){let r=qo(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let o=i.urlTree;return o?e.isActive(o,r):!1}}hasActiveLinks(){let e=this.isLinkActive(this.router);return this.link&&e(this.link)||this.links.some(e)}static \u0275fac=function(r){return new(r||t)(_(F),_(Ft),_(qt),_(tt),_(Nt,8))};static \u0275dir=De({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(r,i,o){if(r&1&&Jr(o,Nt,5),r&2){let s;Xr(s=en())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[Me]})}return t})();function qo(t){return!!t.paths}var Ge=class{};var ei=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,r,i,o){this.router=e,this.injector=r,this.preloadingStrategy=i,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(H(e=>e instanceof D),ne(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,r){let i=[];for(let o of r){o.providers&&!o._injector&&(o._injector=et(o.providers,e,`Route: ${o.path}`));let s=o._injector??e,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&i.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&i.push(this.processRoutes(a,o.children??o._loadedRoutes))}return w(i).pipe(Oe())}preloadConfig(e,r){return this.preloadingStrategy.preload(r,()=>{let i;r.loadChildren&&r.canLoad===void 0?i=this.loader.loadChildren(e,r):i=h(null);let o=i.pipe(I(s=>s===null?h(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??e,s.routes))));if(r.loadComponent&&!r._loadedComponent){let s=this.loader.loadComponent(e,r);return w([o,s]).pipe(Oe())}else return o})}static \u0275fac=function(r){return new(r||t)(K(F),K(ie),K(Ge),K(Et))};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ti=new T(""),Bo=(()=>{class t{urlSerializer;transitions;viewportScroller;zone;options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource=ve;restoredId=0;store={};constructor(e,r,i,o,s={}){this.urlSerializer=e,this.transitions=r,this.viewportScroller=i,this.zone=o,this.options=s,s.scrollPositionRestoration||="disabled",s.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof X?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof D?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof z&&e.code===Re.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof Se&&(e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0]):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,r){this.zone.runOutsideAngular(()=>yr(this,null,function*(){yield new Promise(i=>{setTimeout(i),typeof requestAnimationFrame<"u"&&requestAnimationFrame(i)}),this.zone.run(()=>{this.transitions.events.next(new Se(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,r))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(r){jr()};static \u0275prov=R({token:t,factory:t.\u0275fac})}return t})();function Ho(t){return t.routerState.root}function Qe(t,n){return{\u0275kind:t,\u0275providers:n}}function Vo(){let t=d($t);return n=>{let e=t.get(Qr);if(n!==e.components[0])return;let r=t.get(F),i=t.get(ri);t.get(Rr)===1&&r.initialNavigation(),t.get(oi,null,{optional:!0})?.setUpPreloading(),t.get(ti,null,{optional:!0})?.init(),r.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var ri=new T("",{factory:()=>new q}),Rr=new T("",{providedIn:"root",factory:()=>1});function ni(){let t=[{provide:Rr,useValue:0},Bt(()=>{let n=d($t);return n.get(an,Promise.resolve()).then(()=>new Promise(r=>{let i=n.get(F),o=n.get(ri);Dt(i,()=>{r(!0)}),n.get(Mt).afterPreactivation=()=>(r(!0),o.closed?h(void 0):o),i.initialNavigation()}))})];return Qe(2,t)}function ii(){let t=[Bt(()=>{d(F).setUpLocationChangeListener()}),{provide:Rr,useValue:2}];return Qe(3,t)}var oi=new T("");function si(t){return Qe(0,[{provide:oi,useExisting:ei},{provide:Ge,useExisting:t}])}function ai(){return Qe(8,[lr,{provide:Ve,useExisting:lr}])}function ui(t){$r("NgRouterViewTransitions");let n=[{provide:pr,useValue:Zn},{provide:gr,useValue:l({skipNextTransition:!!t?.skipInitialTransition},t)}];return Qe(9,n)}var ci=[de,{provide:ce,useClass:Z},F,le,{provide:V,useFactory:Ho,deps:[F]},Et,[]],Wo=(()=>{class t{constructor(){}static forRoot(e,r){return{ngModule:t,providers:[ci,[],{provide:Te,multi:!0,useValue:e},[],r?.errorHandler?{provide:vr,useValue:r.errorHandler}:[],{provide:ee,useValue:r||{}},r?.useHash?Qo():Ko(),Go(),r?.preloadingStrategy?si(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?Yo(r):[],r?.bindToComponentInputs?ai().\u0275providers:[],r?.enableViewTransitions?ui().\u0275providers:[],Zo()]}}static forChild(e){return{ngModule:t,providers:[{provide:Te,multi:!0,useValue:e}]}}static \u0275fac=function(r){return new(r||t)};static \u0275mod=qr({type:t});static \u0275inj=Mr({})}return t})();function Go(){return{provide:ti,useFactory:()=>{let t=d(ln),n=d(Br),e=d(ee),r=d(Mt),i=d(ce);return e.scrollOffset&&t.setOffset(e.scrollOffset),new Bo(i,r,t,n,e)}}}function Qo(){return{provide:Ne,useClass:cn}}function Ko(){return{provide:Ne,useClass:un}}function Yo(t){return[t.initialNavigation==="disabled"?ii().\u0275providers:[],t.initialNavigation==="enabledBlocking"?ni().\u0275providers:[]]}var mr=new T("");function Zo(){return[{provide:mr,useFactory:Vo},{provide:Gr,multi:!0,useExisting:mr}]}export{D as a,V as b,cr as c,F as d,Nt as e,Fo as f,Wo as g};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-4KZOLBU6.js";import"./chunk-LPYZOQUG.js";import{g as r}from"./chunk-UOLP7IQJ.js";import"./chunk-DOUHWAMX.js";import"./chunk-3OGGH4IS.js";import"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{ga as o,nb as e}from"./chunk-H36QJYLQ.js";var c=[{path:"",loadComponent:()=>import("./chunk-KKLQHHAF.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 +0,0 @@
1
- import{g as i}from"./chunk-UOLP7IQJ.js";import"./chunk-6GMXEQVA.js";import{ga as o,nb as e}from"./chunk-H36QJYLQ.js";var m=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-J7XS3MTC.js").then(t=>t.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-XM2R75VU.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 +0,0 @@
1
- import{g as r}from"./chunk-UOLP7IQJ.js";import"./chunk-6GMXEQVA.js";import{ga as e,nb as o}from"./chunk-H36QJYLQ.js";var m=[{path:"",loadComponent:()=>import("./chunk-65DLNKYC.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};
@@ -1 +0,0 @@
1
- import{k as _,n as h}from"./chunk-3OGGH4IS.js";import{a as v,b as E}from"./chunk-G7FA4DP4.js";import"./chunk-6GMXEQVA.js";import{Ib as c,Jb as x,Jc as p,Kc as s,Sb as i,Tb as e,Ub as f,ab as n,dc as u,ka as l,mb as d,qc as o,rc as a}from"./chunk-H36QJYLQ.js";function y(t,w){if(t&1&&(i(0,"div",7),o(1),e()),t&2){let r=u();n(),a(r.error)}}function C(t,w){t&1&&(i(0,"p",8),o(1),p(2,"translate"),e()),t&2&&(n(),a(s(2,1,"platform.linux.server_will_power_down")))}var B=(()=>{class t{$api=l(h);$toastr=l(_);$translate=l(v);error=!1;ngOnInit(){this.$api.put("/platform-tools/linux/shutdown-host",{}).subscribe({error:r=>{console.error(r),this.error=this.$translate.instant("platform.linux.server_restart_error"),this.$toastr.error(this.$translate.instant("platform.linux.server_restart_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(m){return new(m||t)};static \u0275cmp=d({type:t,selectors:[["ng-component"]],decls:13,vars:7,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-fw","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"grey-text"]],template:function(m,S){m&1&&(i(0,"div",0)(1,"h3",1),o(2),p(3,"translate"),e()(),i(4,"div",2)(5,"div",3),f(6,"i",4),e(),i(7,"div",5)(8,"h4",6),o(9),p(10,"translate"),e(),c(11,y,2,1,"div",7)(12,C,3,3,"p",8),e()()),m&2&&(n(2),a(s(3,3,"menu.restart.title")),n(7),a(s(10,5,"platform.linux.shutting_down_server")),n(2),x(S.error?11:12))},dependencies:[E],encapsulation:2})}return t})();export{B as ShutdownLinuxComponent};
@@ -1 +0,0 @@
1
- import{g as r}from"./chunk-UOLP7IQJ.js";import"./chunk-6GMXEQVA.js";import{ga as t,nb as e}from"./chunk-H36QJYLQ.js";var m=[{path:"",loadComponent:()=>import("./chunk-64N47XDK.js").then(o=>o.PowerOptionsComponent)}],n=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[r.forChild(m),r]})}return o})();var d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[n]})}return o})();export{d as PowerOptionsModule};