homebridge-config-ui-x 5.8.1-alpha.6 → 5.8.1-alpha.8

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 (137) hide show
  1. package/CHANGELOG.md +12 -6
  2. package/dist/core/auth/auth.controller.d.ts +0 -2
  3. package/dist/core/config/config.interfaces.d.ts +0 -8
  4. package/dist/core/config/config.service.d.ts +0 -4
  5. package/dist/core/config/config.service.js +0 -5
  6. package/dist/core/config/config.service.js.map +1 -1
  7. package/dist/core/config/config.startup.js +0 -12
  8. package/dist/core/config/config.startup.js.map +1 -1
  9. package/dist/core/feature-flags/feature-flags.registry.js +0 -5
  10. package/dist/core/feature-flags/feature-flags.registry.js.map +1 -1
  11. package/dist/core/spa/spa.filter.d.ts +0 -3
  12. package/dist/core/spa/spa.filter.js +2 -21
  13. package/dist/core/spa/spa.filter.js.map +1 -1
  14. package/dist/globalDefaults.js +0 -3
  15. package/dist/globalDefaults.js.map +1 -1
  16. package/dist/main.js +4 -18
  17. package/dist/main.js.map +1 -1
  18. package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +0 -9
  19. package/dist/modules/config-editor/config-editor.controller.d.ts +0 -5
  20. package/dist/modules/config-editor/config-editor.controller.js +1 -46
  21. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  22. package/dist/modules/config-editor/config-editor.module.js +0 -2
  23. package/dist/modules/config-editor/config-editor.module.js.map +1 -1
  24. package/dist/modules/config-editor/config-editor.service.d.ts +1 -9
  25. package/dist/modules/config-editor/config-editor.service.js +3 -42
  26. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  27. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +1 -1
  28. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  29. package/dist/modules/plugins/plugins.service.js +0 -15
  30. package/dist/modules/plugins/plugins.service.js.map +1 -1
  31. package/dist/modules/server/server.controller.d.ts +0 -20
  32. package/dist/modules/server/server.controller.js +1 -86
  33. package/dist/modules/server/server.controller.js.map +1 -1
  34. package/dist/modules/server/server.service.d.ts +0 -18
  35. package/dist/modules/server/server.service.js +14 -243
  36. package/dist/modules/server/server.service.js.map +1 -1
  37. package/dist/modules/status/status.gateway.d.ts +0 -2
  38. package/dist/modules/status/status.interfaces.d.ts +0 -11
  39. package/dist/modules/status/status.service.d.ts +1 -4
  40. package/dist/modules/status/status.service.js +12 -11
  41. package/dist/modules/status/status.service.js.map +1 -1
  42. package/package.json +19 -19
  43. package/public/assets/plugin-ui-utils/ui.js +0 -3
  44. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  45. package/public/chunk-2NFGMXHO.js +4 -0
  46. package/public/{chunk-L5NV6PIA.js → chunk-3KAFG5EK.js} +1 -1
  47. package/public/{chunk-XZPAZCNK.js → chunk-3KNS6HXB.js} +1 -1
  48. package/public/{chunk-OSJXXALI.js → chunk-3OP57H7R.js} +1 -1
  49. package/public/{chunk-VADYL2Y7.js → chunk-4FV7QIK7.js} +1 -1
  50. package/public/{chunk-DVW3AYMZ.js → chunk-4TSYHRZK.js} +1 -1
  51. package/public/{chunk-3UFBAGVX.js → chunk-57P3RXT7.js} +1 -1
  52. package/public/{chunk-XD63O5W7.js → chunk-5BF7UKZE.js} +1 -1
  53. package/public/chunk-5NTBMSWU.js +19 -0
  54. package/public/{chunk-ATQRQAFJ.js → chunk-7FS54X3K.js} +1 -1
  55. package/public/{chunk-ALOBM2NG.js → chunk-7VHONGVT.js} +1 -1
  56. package/public/{chunk-7IY44YTG.js → chunk-ATBVRAML.js} +1 -1
  57. package/public/{chunk-DHVEIQJG.js → chunk-B5P5KEZV.js} +1 -1
  58. package/public/chunk-BEB76E2G.js +1 -0
  59. package/public/chunk-BEHK3BS3.js +1 -0
  60. package/public/{chunk-P6F4VLQU.js → chunk-BJ7NEXKS.js} +1 -1
  61. package/public/{chunk-NIBQ6RKV.js → chunk-BL3QYAU2.js} +1 -1
  62. package/public/chunk-CCOHRXDD.js +1 -0
  63. package/public/{chunk-JSZUK6ZC.js → chunk-CUP4YO7L.js} +1 -1
  64. package/public/{chunk-TGIITTHR.js → chunk-CXXF4A7A.js} +1 -1
  65. package/public/{chunk-JVBDJPYM.js → chunk-DQUBFHG3.js} +1 -1
  66. package/public/{chunk-CGRJDJGB.js → chunk-DT6ICOAZ.js} +1 -1
  67. package/public/{chunk-IGYN2ALF.js → chunk-DWMACG66.js} +1 -1
  68. package/public/{chunk-N2Q4P2LI.js → chunk-E4XWU525.js} +1 -1
  69. package/public/chunk-EHT4NTUK.js +1 -0
  70. package/public/{chunk-DSXSAP3T.js → chunk-F2E7FMEJ.js} +1 -1
  71. package/public/{chunk-ZUFH2ZUK.js → chunk-FJCVFWLW.js} +1 -1
  72. package/public/{chunk-PKFPEF2M.js → chunk-FTBPEQYE.js} +1 -1
  73. package/public/{chunk-MJFDOIX3.js → chunk-GNZCWCTQ.js} +1 -1
  74. package/public/{chunk-HVXGZYFL.js → chunk-GW3GHIQF.js} +1 -1
  75. package/public/{chunk-QLB33B5E.js → chunk-GZJDBT2G.js} +1 -1
  76. package/public/{chunk-RXFZWKMW.js → chunk-HLL6MWFP.js} +1 -1
  77. package/public/{chunk-IUMRLBNA.js → chunk-IESBL4DA.js} +1 -1
  78. package/public/{chunk-4AP7EVCQ.js → chunk-IW4FBZDG.js} +1 -1
  79. package/public/{chunk-H3QOYGFZ.js → chunk-JISSIYSN.js} +1 -1
  80. package/public/{chunk-XJX4PBEH.js → chunk-KYDMDPM6.js} +1 -1
  81. package/public/{chunk-5RRFD5UZ.js → chunk-LCJQXMQT.js} +1 -1
  82. package/public/{chunk-KWY6IF3R.js → chunk-LIACIABJ.js} +1 -1
  83. package/public/chunk-LQPGXCYH.js +1 -0
  84. package/public/{chunk-WY2VANHO.js → chunk-LTQGLD2K.js} +1 -1
  85. package/public/{chunk-3MDZPDYM.js → chunk-LVVTY6J5.js} +1 -1
  86. package/public/{chunk-A47OHR4B.js → chunk-MMLBIEDP.js} +2 -2
  87. package/public/{chunk-K2SXAJBI.js → chunk-MYSGML5C.js} +1 -1
  88. package/public/chunk-N5GOQDTB.js +1 -0
  89. package/public/chunk-ND6XATQX.js +1 -0
  90. package/public/{chunk-FRFRPI37.js → chunk-NPJEYIWR.js} +1 -1
  91. package/public/{chunk-3E567MLS.js → chunk-NS3QD6O3.js} +4 -4
  92. package/public/chunk-PQALC4SN.js +1 -0
  93. package/public/{chunk-RYJMCJHX.js → chunk-QPHFUXFE.js} +1 -1
  94. package/public/{chunk-RTI2YJC4.js → chunk-R24D2XKK.js} +1 -1
  95. package/public/{chunk-MNDQEI63.js → chunk-RSIDV3YB.js} +1 -1
  96. package/public/chunk-SW7YBIQQ.js +1 -0
  97. package/public/{chunk-XDPLQ2FO.js → chunk-TB2WDDRA.js} +1 -1
  98. package/public/chunk-UOVU3TGV.js +50 -0
  99. package/public/{chunk-2HPXFF3S.js → chunk-UWXXTVC5.js} +1 -1
  100. package/public/chunk-VEJIPP2P.js +16 -0
  101. package/public/chunk-VKZMC7UY.js +1 -0
  102. package/public/{chunk-XVI5O2NK.js → chunk-VNKQOQ6Z.js} +1 -1
  103. package/public/{chunk-OX75PU3U.js → chunk-WD5T6QFV.js} +1 -1
  104. package/public/{chunk-SVRR7CNU.js → chunk-WGFPD4J2.js} +1 -1
  105. package/public/{chunk-JDHXYKEK.js → chunk-WVRILPCE.js} +1 -1
  106. package/public/{chunk-3KTHIJ5Z.js → chunk-X2HK2VP5.js} +1 -1
  107. package/public/{chunk-4U3RIQQL.js → chunk-X3DENUZZ.js} +1 -1
  108. package/public/{chunk-EFMRHNFR.js → chunk-X3TS4B5J.js} +1 -1
  109. package/public/{chunk-MSBQZV4P.js → chunk-XKFPJPJH.js} +1 -1
  110. package/public/{chunk-ZBHHT23D.js → chunk-YS47YT3C.js} +1 -1
  111. package/public/{chunk-CYJRMKT4.js → chunk-YT4YGNUT.js} +1 -1
  112. package/public/chunk-YTSG5FVS.js +1 -0
  113. package/public/index.html +2 -2
  114. package/public/main-OYSQVLFB.js +1 -0
  115. package/public/{styles-CSF457UW.css → styles-UCSI3VA5.css} +1 -1
  116. package/scripts/extract-plugin-alias.js +2 -53
  117. package/dist/core/spa/spa-html.service.d.ts +0 -5
  118. package/dist/core/spa/spa-html.service.js +0 -38
  119. package/dist/core/spa/spa-html.service.js.map +0 -1
  120. package/public/assets/matter.svg +0 -8
  121. package/public/chunk-2VWJ7ASV.js +0 -1
  122. package/public/chunk-4G6KMX23.js +0 -16
  123. package/public/chunk-5OYANEGP.js +0 -1
  124. package/public/chunk-CIUT5ZJW.js +0 -1
  125. package/public/chunk-E6L6SUOT.js +0 -4
  126. package/public/chunk-FZXE2INO.js +0 -19
  127. package/public/chunk-GNVXYEPV.js +0 -50
  128. package/public/chunk-HUBB6BG5.js +0 -1
  129. package/public/chunk-IGGPDWHS.js +0 -1
  130. package/public/chunk-IHRQI6V3.js +0 -1
  131. package/public/chunk-KWCZZJ3U.js +0 -1
  132. package/public/chunk-LPR3WZ3O.js +0 -1
  133. package/public/chunk-PE32X7RA.js +0 -1
  134. package/public/chunk-RFSNZIZX.js +0 -1
  135. package/public/chunk-S6UNO3GA.js +0 -1
  136. package/public/main-X7PXS4NJ.js +0 -1
  137. package/public/media/matter-P563JGDL.svg +0 -8
@@ -1 +0,0 @@
1
- import{m as X}from"./chunk-3KTHIJ5Z.js";import{B as Q,e as z,l as G,s as H,t as J,v as K}from"./chunk-P6F4VLQU.js";import{e as te}from"./chunk-IGGPDWHS.js";import{b as ne}from"./chunk-IHRQI6V3.js";import{k as Y,l as Z,n as ee,q as ie}from"./chunk-CIUT5ZJW.js";import{$b as w,Hb as E,Kb as B,Mb as m,Pa as s,Pc as W,Zb as p,_b as f,a as F,ac as L,b as V,cb as N,ec as P,fc as j,gc as q,h as U,lc as D,ma as I,mc as O,ob as k,pb as g,qb as v,qc as u,ra as $,rc as _,sa as y,sb as M,tb as T,ub as R,vb as x,wb as a,x as b,xb as r,yb as S}from"./chunk-A47OHR4B.js";var oe=(t,c)=>({"fa-matter":t,"fa-hap":c}),ae=(t,c)=>({"btn-danger":t,"btn-elegant":c}),re=(t,c,e)=>({"fa-trash":t,"fa-undo":c,"fa-spinner fa-pulse":e});function le(t,c){t&1&&(a(0,"div",12),S(1,"i",13),r(),a(2,"p",14),p(3),u(4,"translate"),r()),t&2&&(s(3),f(_(4,1,"reset.no_accessories")))}function ce(t,c){if(t&1&&(a(0,"option",24),p(1),r()),t&2){let e=c.$implicit;x("value",e._id),s(),L("",e.name," (",e._username,")")}}function de(t,c){if(t&1){let e=E();a(0,"li",20),p(1),u(2,"translate"),r(),a(3,"li",18)(4,"label",21),p(5),u(6,"translate"),r(),a(7,"div",22)(8,"select",23),q("ngModelChange",function(i){$(e);let o=m(2);return j(o.selectedBridge,i)||(o.selectedBridge=i),y(i)}),B("change",function(i){$(e);let o=m(2);return y(o.onBridgeChange(i.target.value))}),T(9,ce,2,3,"option",24,M),r()()()}if(t&2){let e=m(2);s(),f(_(2,3,"form.label.changes_kept")),s(4),f(_(6,5,"reset.accessory_ind.bridge")),s(3),P("ngModel",e.selectedBridge),s(),R(e.pairings)}}function pe(t,c){if(t&1&&(a(0,"li",18)(1,"label",25),p(2),u(3,"translate"),r(),a(4,"div",26),p(5),r()()),t&2){let e=m(2);s(2),f(_(3,2,"reset.accessory_ind.bridge")),s(3),w(" ",e.getCurrentlySelectedBridge()," ")}}function me(t,c){if(t&1){let e=E();a(0,"li",19)(1,"span",27),S(2,"i",28),r(),a(3,"span",29),p(4),S(5,"br"),a(6,"small")(7,"span",30),p(8),r()()(),a(9,"button",31),u(10,"translate"),B("click",function(){let i=$(e).$implicit,o=m(2);return y(o.toggleList(i.UUID||i.uuid,i.$cacheFile,i.$protocol,i.$deviceId))}),S(11,"i",32),r()()}if(t&2){let e=c.$implicit,n=m(2);s(2),x("ngClass",D(9,oe,e.$protocol==="matter",e.$protocol!=="matter")),s(2),w(" ",e.displayName," "),s(4),f(e.UUID||e.uuid),s(),x("disabled",n.clicked)("ngClass",D(12,ae,!n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol),n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol))),k("aria-label",_(10,7,"form.button_delete")),s(2),x("ngClass",O(15,re,!n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol),n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol)&&!n.clicked,n.isInList(e.UUID||e.uuid,e.$cacheFile,e.$protocol)&&n.clicked))}}function ue(t,c){if(t&1&&(a(0,"div",12),S(1,"i",15),r(),a(2,"ul",16)(3,"li"),p(4),u(5,"translate"),r(),a(6,"li"),p(7),u(8,"translate"),r(),a(9,"li"),p(10),u(11,"translate"),r()(),a(12,"ul",17),g(13,de,11,7),g(14,pe,6,4,"li",18),T(15,me,12,19,"li",19,M),r()),t&2){let e=m();s(4),f(_(5,5,"reset.accessory_ind.list_1")),s(3),f(_(8,7,"reset.accessory_ind.list_2")),s(3),f(_(11,9,"reset.accessory_ind.list_3")),s(3),v(e.pairings.length>1?13:-1),s(),v(e.pairings.length===1?14:-1),s(),R(e.selectedBridgeAccessories)}}function _e(t,c){if(t&1){let e=E();a(0,"button",33),B("click",function(){$(e);let i=m();return y(i.dismissModal())}),p(1),u(2,"translate"),r()}if(t&2){let e=m();x("disabled",e.clicked),s(),w(" ",_(2,2,"form.button_close")," ")}}function ge(t,c){if(t&1){let e=E();a(0,"button",34),B("click",function(){$(e);let i=m();return y(i.dismissModal())}),p(1),u(2,"translate"),r()}t&2&&(s(),w(" ",_(2,1,"form.button_close")," "))}function ve(t,c){if(t&1&&p(0),t&2){let e=m(3);w(" (",e.toDelete.length,") ")}}function he(t,c){if(t&1&&(p(0),u(1,"translate"),g(2,ve,1,1)),t&2){let e=m(2);w(" ",_(1,2,"form.button_remove")," "),s(2),v(e.toDelete.length>0?2:-1)}}function fe(t,c){t&1&&S(0,"i",36)}function xe(t,c){if(t&1){let e=E();a(0,"button",35),B("click",function(){$(e);let i=m();return y(i.removeAccessories())}),g(1,he,3,4),g(2,fe,1,0,"i",36),r()}if(t&2){let e=m();x("disabled",!e.toDelete.length||e.clicked),s(),v(e.clicked?-1:1),s(),v(e.clicked?2:-1)}}var De=(()=>{class t{$activeModal=I(X);$api=I(ie);$router=I(te);$settings=I(ne);$toastr=I(ee);$translate=I(Y);isMatterSupported=this.$settings.isFeatureEnabled("matterSupport");selectedBridge="";pairings=[];clicked=!1;selectedBridgeAccessories=[];accessoriesExist=!1;toDelete=[];ngOnInit(){this.loadCachedAccessories()}onBridgeChange(e){this.selectedBridge=e,this.selectedBridgeAccessories=this.pairings.find(n=>n._id===this.selectedBridge)?.accessories}getCurrentlySelectedBridge(){let e=this.pairings.find(n=>n._id===this.selectedBridge);return`${e.name} - ${e._username}`}toggleList(e,n,i,o){this.toDelete.some(h=>h.uuid===e&&h.cacheFile===n&&h.protocol===i)?this.toDelete=this.toDelete.filter(h=>h.uuid!==e||h.cacheFile!==n||h.protocol!==i):this.toDelete.push({cacheFile:n,uuid:e,protocol:i,deviceId:o})}isInList(e,n,i){return this.toDelete.some(o=>o.uuid===e&&o.cacheFile===n&&o.protocol===i)}removeAccessories(){this.clicked=!0;let e=this.toDelete.filter(o=>o.protocol==="hap").map(o=>({uuid:o.uuid,cacheFile:o.cacheFile})),n=this.toDelete.filter(o=>o.protocol==="matter").map(o=>({uuid:o.uuid,deviceId:o.deviceId})),i=[];if(e.length>0&&i.push(this.$api.delete("/server/cached-accessories",{body:e})),this.isMatterSupported&&n.length>0&&i.push(this.$api.delete("/server/matter-accessories",{body:n})),i.length===0){this.clicked=!1;return}Promise.all(i.map(o=>b(o))).then(()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})}).catch(o=>{this.clicked=!1,console.error(o),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))})}dismissModal(){this.$activeModal.dismiss("Dismiss")}loadCachedAccessories(){return U(this,null,function*(){try{let e=this.isMatterSupported?[b(this.$api.get("/server/cached-accessories")),b(this.$api.get("/server/matter-accessories")),b(this.$api.get("/server/pairings"))]:[b(this.$api.get("/server/cached-accessories")),b(this.$api.get("/server/pairings"))],n=yield Promise.all(e),i=n[0],o=this.isMatterSupported?n[1]:[],h=this.isMatterSupported?n[2]:n[1],C=new Map(h.map(l=>[l._id,V(F({},l),{accessories:[]})]));i.sort((l,d)=>l.displayName.localeCompare(d.displayName)).forEach(l=>{let d=h.find(se=>se._main),A=l.$cacheFile?.split(".")?.[1]||d._id;(!this.selectedBridge||this.selectedBridge===A)&&(C.has(A)||C.set(A,{_id:A,_username:A.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),l.$protocol="hap",C.get(A).accessories.push(l))}),this.isMatterSupported&&o.sort((l,d)=>l.displayName.localeCompare(d.displayName)).forEach(l=>{let d=l.$deviceId;(!this.selectedBridge||this.selectedBridge===d)&&(C.has(d)||C.set(d,{_id:d,_username:d.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),l.$protocol="matter",l.$cacheFile=d,C.get(d).accessories.push(l))}),this.pairings=Array.from(C.values()).filter(l=>l.accessories.length>0).sort((l,d)=>l._main&&!d._main?-1:!l._main&&d._main?1:l.name.localeCompare(d.name)),this.selectedBridge=this.selectedBridge||this.pairings[0]?._id,this.selectedBridge&&(this.accessoriesExist=!0,this.selectedBridgeAccessories=this.pairings[0].accessories)}catch(e){console.error(e),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=N({type:t,selectors:[["ng-component"]],inputs:{selectedBridge:"selectedBridge"},decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text","font-monospace"],[1,"me-3"],[1,"fas","fa-lg",3,"ngClass"],[1,"flex-grow-1"],[1,"font-monospace","grey-text"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-spinner","fa-pulse"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),p(3),u(4,"translate"),r(),a(5,"button",3),u(6,"translate"),B("click",function(){return i.dismissModal()}),r()(),a(7,"div",4),g(8,le,5,3),g(9,ue,17,11),r(),a(10,"div",5)(11,"div",6),g(12,_e,3,4,"button",7),r(),a(13,"div",8),g(14,ge,3,3,"button",9),r(),a(15,"div",10),g(16,xe,3,3,"button",11),r()()()),n&2&&(s(3),f(_(4,8,"reset.accessory_ind.title")),s(2),x("disabled",i.clicked),k("aria-label",_(6,10,"form.button_close")),s(3),v(i.accessoriesExist?-1:8),s(),v(i.accessoriesExist?9:-1),s(3),v(i.accessoriesExist?12:-1),s(2),v(i.accessoriesExist?-1:14),s(2),v(i.accessoriesExist?16:-1))},dependencies:[W,Q,J,K,H,z,G,Z],encapsulation:2})}return t})();export{De as a};
@@ -1 +0,0 @@
1
- import{$a as Br,$c as hn,A as I,Aa as xr,Ac as sn,B as De,Ba as Ne,C as Er,Ca as qt,D as Xe,Da as Lr,Ea as Bt,Ec as it,Fc as ot,Ia as jr,Ic as an,J as H,Kb as Xr,Kc as un,Lc as Pe,Mc as cn,N as ne,Na as kr,Nc as pe,O as ie,Oc as ln,Pb as en,Q as kt,Qa as $r,R as fe,Ra as se,Rb as tn,Sa as zr,Sb as rn,Ua as Fr,V as et,W as Q,X as $t,Y as Or,Ya as Ht,Z as Mr,Za as x,_a as qr,a as l,aa as Dr,ab as Hr,b as _,ba as A,bb as nt,ca as zt,cb as Vr,da as S,db as Gr,eb as Ue,fa as C,h as Cr,ha as R,i as wr,ia as Nr,j as br,ja as Ur,jb as Wr,k as Ir,ka as T,kb as Qr,l as Lt,la as K,lb as Vt,m as jt,ma as d,mb as Kr,md as dn,n as q,nb as Yr,o as N,ob as Zr,pa as oe,q as B,qa as U,r as w,s as h,t as Me,u as Ar,uc as nn,v as Tr,va as Ft,wa as Pr,wc as Y,xa as _r,y as v,ya as tt,yb as Jr,yc as on,z as Je,za as rt}from"./chunk-A47OHR4B.js";var f="primary",Ge=Symbol("RouteTitle"),Yt=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 ce(t){return new Yt(t)}function Sn(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 fi(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?Zt(t):void 0,r=n?Zt(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],!Cn(t[i],n[i]))return!1;return!0}function Zt(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}function Cn(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 wn(t){return t.length>0?t[t.length-1]:null}function G(t){return Ar(t)?t:Qr(t)?w(Promise.resolve(t)):h(t)}var pi={exact:In,subset:An},bn={exact:gi,subset:vi,ignored:()=>!0};function fn(t,n,e){return pi[e.paths](t.root,n.root,e.matrixParams)&&bn[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function gi(t,n){return j(t,n)}function In(t,n,e){if(!ae(t.segments,n.segments)||!ut(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!t.children[r]||!In(t.children[r],n.children[r],e))return!1;return!0}function vi(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>Cn(t[e],n[e]))}function An(t,n,e){return Tn(t,n,n.segments,e)}function Tn(t,n,e,r){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!ae(i,e)||n.hasChildren()||!ut(i,e,r))}else if(t.segments.length===e.length){if(!ae(t.segments,e)||!ut(t.segments,e,r))return!1;for(let i in n.children)if(!t.children[i]||!An(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!ae(t.segments,i)||!ut(t.segments,i,r)||!t.children[f]?!1:Tn(t.children[f],n,o,r)}}function ut(t,n,e){return n.every((r,i)=>bn[e](t[i].parameters,r.parameters))}var $=class{root;queryParams;fragment;_queryParamMap;constructor(n=new g([],{}),e={},r=null){this.root=n,this.queryParams=e,this.fragment=r}get queryParamMap(){return this._queryParamMap??=ce(this.queryParams),this._queryParamMap}toString(){return yi.serialize(this)}},g=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 ct(this)}},Z=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=ce(this.parameters),this._parameterMap}toString(){return On(this)}};function mi(t,n){return ae(t,n)&&t.every((e,r)=>j(e.parameters,n[r].parameters))}function ae(t,n){return t.length!==n.length?!1:t.every((e,r)=>e.path===n[r].path)}function Ri(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 le=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>new J,providedIn:"root"})}return t})(),J=class{parse(n){let e=new Xt(n);return new $(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${_e(n.root,!0)}`,r=wi(n.queryParams),i=typeof n.fragment=="string"?`#${Si(n.fragment)}`:"";return`${e}${r}${i}`}},yi=new J;function ct(t){return t.segments.map(n=>On(n)).join("/")}function _e(t,n){if(!t.hasChildren())return ct(t);if(n){let e=t.children[f]?_e(t.children[f],!1):"",r=[];return Object.entries(t.children).forEach(([i,o])=>{i!==f&&r.push(`${i}:${_e(o,!1)}`)}),r.length>0?`${e}(${r.join("//")})`:e}else{let e=Ri(t,(r,i)=>i===f?[_e(t.children[f],!1)]:[`${i}:${_e(r,!1)}`]);return Object.keys(t.children).length===1&&t.children[f]!=null?`${ct(t)}/${e[0]}`:`${ct(t)}/(${e.join("//")})`}}function En(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function st(t){return En(t).replace(/%3B/gi,";")}function Si(t){return encodeURI(t)}function Jt(t){return En(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function lt(t){return decodeURIComponent(t)}function pn(t){return lt(t.replace(/\+/g,"%20"))}function On(t){return`${Jt(t.path)}${Ci(t.parameters)}`}function Ci(t){return Object.entries(t).map(([n,e])=>`;${Jt(n)}=${Jt(e)}`).join("")}function wi(t){let n=Object.entries(t).map(([e,r])=>Array.isArray(r)?r.map(i=>`${st(e)}=${st(i)}`).join("&"):`${st(e)}=${st(r)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var bi=/^[^\/()?;#]+/;function Gt(t){let n=t.match(bi);return n?n[0]:""}var Ii=/^[^\/()?;=#]+/;function Ai(t){let n=t.match(Ii);return n?n[0]:""}var Ti=/^[^=?&#]+/;function Ei(t){let n=t.match(Ti);return n?n[0]:""}var Oi=/^[^&#]+/;function Mi(t){let n=t.match(Oi);return n?n[0]:""}var Xt=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new g([],{}):new g([],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 g(n,e)),r}parseSegment(){let n=Gt(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new C(4009,!1);return this.capture(n),new Z(lt(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=Ai(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let i=Gt(this.remaining);i&&(r=i,this.capture(r))}n[lt(e)]=lt(r)}parseQueryParam(n){let e=Ei(this.remaining);if(!e)return;this.capture(e);let r="";if(this.consumeOptional("=")){let s=Mi(this.remaining);s&&(r=s,this.capture(r))}let i=pn(e),o=pn(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=Gt(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 g([],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 Mn(t){return t.segments.length>0?new g([],{[f]:t}):t}function Dn(t){let n={};for(let[r,i]of Object.entries(t.children)){let o=Dn(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 g(t.segments,n);return Di(e)}function Di(t){if(t.numberOfChildren===1&&t.children[f]){let n=t.children[f];return new g(t.segments.concat(n.segments),n.children)}return t}function X(t){return t instanceof $}function Nn(t,n,e=null,r=null){let i=Un(t);return Pn(i,n,e,r)}function Un(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 g(o.url,s);return o===t&&(n=a),a}let r=e(t.root),i=Mn(r);return n??i}function Pn(t,n,e,r){let i=t;for(;i.parent;)i=i.parent;if(n.length===0)return Wt(i,i,i,e,r);let o=Ni(n);if(o.toRoot())return Wt(i,i,new g([],{}),e,r);let s=Ui(o,i,t),a=s.processChildren?Le(s.segmentGroup,s.index,o.commands):xn(s.segmentGroup,s.index,o.commands);return Wt(i,s.segmentGroup,a,e,r)}function ht(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function ke(t){return typeof t=="object"&&t!=null&&t.outlets}function Wt(t,n,e,r,i){let o={};r&&Object.entries(r).forEach(([u,c])=>{o[u]=Array.isArray(c)?c.map(p=>`${p}`):`${c}`});let s;t===n?s=e:s=_n(t,n,e);let a=Mn(Dn(s));return new $(a,o,i)}function _n(t,n,e){let r={};return Object.entries(t.children).forEach(([i,o])=>{o===n?r[i]=e:r[i]=_n(o,n,e)}),new g(t.segments,r)}var dt=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,r){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=r,n&&r.length>0&&ht(r[0]))throw new C(4003,!1);let i=r.find(ke);if(i&&i!==wn(r))throw new C(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function Ni(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new dt(!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 dt(e,n,r)}var me=class{segmentGroup;processChildren;index;constructor(n,e,r){this.segmentGroup=n,this.processChildren=e,this.index=r}};function Ui(t,n,e){if(t.isAbsolute)return new me(n,!0,0);if(!e)return new me(n,!1,NaN);if(e.parent===null)return new me(e,!0,0);let r=ht(t.commands[0])?0:1,i=e.segments.length-1+r;return Pi(e,i,t.numberOfDoubleDots)}function Pi(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 me(r,!1,i-o)}function _i(t){return ke(t[0])?t[0].outlets:{[f]:t}}function xn(t,n,e){if(t??=new g([],{}),t.segments.length===0&&t.hasChildren())return Le(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 g(t.segments.slice(0,r.pathIndex),{});return o.children[f]=new g(t.segments.slice(r.pathIndex),t.children),Le(o,0,i)}else return r.match&&i.length===0?new g(t.segments,{}):r.match&&!t.hasChildren()?er(t,n,e):r.match?Le(t,0,i):er(t,n,e)}function Le(t,n,e){if(e.length===0)return new g(t.segments,{});{let r=_i(e),i={};if(Object.keys(r).some(o=>o!==f)&&t.children[f]&&t.numberOfChildren===1&&t.children[f].segments.length===0){let o=Le(t.children[f],n,e);return new g(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 g(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(ke(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(!vn(u,c,s))return o;r+=2}else{if(!vn(u,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function er(t,n,e){let r=t.segments.slice(0,n),i=0;for(;i<e.length;){let o=e[i];if(ke(o)){let u=Li(o.outlets);return new g(r,u)}if(i===0&&ht(e[0])){let u=t.segments[n];r.push(new Z(u.path,gn(e[0]))),i++;continue}let s=ke(o)?o.outlets[f]:`${o}`,a=i<e.length-1?e[i+1]:null;s&&a&&ht(a)?(r.push(new Z(s,gn(a))),i+=2):(r.push(new Z(s,{})),i++)}return new g(r,{})}function Li(t){let n={};return Object.entries(t).forEach(([e,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[e]=er(new g([],{}),0,r))}),n}function gn(t){let n={};return Object.entries(t).forEach(([e,r])=>n[e]=`${r}`),n}function vn(t,n,e){return t==e.path&&j(n,e.parameters)}var Re="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}},ee=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||{}),Se=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(Se||{}),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}},Ce=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})`}},$e=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})`}},ft=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})`}},pt=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})`}},gt=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})`}},vt=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})`}},mt=class{route;type=m.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Rt=class{route;type=m.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},yt=class{snapshot;type=m.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},St=class{snapshot;type=m.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Ct=class{snapshot;type=m.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},wt=class{snapshot;type=m.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},we=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}')`}},ze=class{},be=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function ji(t){return!(t instanceof ze)&&!(t instanceof be)}function ki(t,n){return t.providers&&!t._injector&&(t._injector=nt(t.providers,n,`Route: ${t.path}`)),t._injector??n}function L(t){return t.outlet||f}function $i(t,n){let e=t.filter(r=>L(r)===n);return e.push(...t.filter(r=>L(r)!==n)),e}function Te(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 bt=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return Te(this.route?.snapshot)??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new he(this.rootInjector)}},he=(()=>{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 bt(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(oe))};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),It=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=tr(n,this._root);return e?e.children.map(r=>r.value):[]}firstChild(n){let e=tr(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=rr(n,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return rr(n,this._root).map(e=>e.value)}};function tr(t,n){if(t===n.value)return n;for(let e of n.children){let r=tr(t,e);if(r)return r}return null}function rr(t,n){if(t===n.value)return[n];for(let e of n.children){let r=rr(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 ve(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var Fe=class extends It{snapshot;constructor(n,e){super(n),this.snapshot=e,lr(this,n)}toString(){return this.snapshot.toString()}};function Ln(t){let n=zi(t),e=new N([new Z("",{})]),r=new N({}),i=new N({}),o=new N({}),s=new N(""),a=new V(e,r,o,s,i,f,t,n.root);return a.snapshot=n.root,new Fe(new O(a,[]),n)}function zi(t){let n={},e={},r={},o=new ue([],n,r,"",e,f,t,null,{});return new qe("",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[Ge]))??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=>ce(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(v(n=>ce(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function At(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&&kn(i)&&(r.resolve[Ge]=i.title),r}var ue=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[Ge]}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??=ce(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=ce(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}')`}},qe=class extends It{url;constructor(n,e){super(e),this.url=n,lr(this,e)}toString(){return jn(this._root)}};function lr(t,n){n.value._routerState=t,n.children.forEach(e=>lr(t,e))}function jn(t){let n=t.children.length>0?` { ${t.children.map(jn).join(", ")} } `:"";return`${t.value}${n}`}function Qt(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),fi(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 nr(t,n){let e=j(t.params,n.params)&&mi(t.url,n.url),r=!t.parent!=!n.parent;return e&&!r&&(!t.parent||nr(t.parent,n.parent))}function kn(t){return typeof t.title=="string"||t.title===null}var $n=new T(""),hr=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=f;activateEvents=new se;deactivateEvents=new se;attachEvents=new se;detachEvents=new se;routerOutletData=sn(void 0);parentContexts=d(he);location=d(Br);changeDetector=d(it);inputBinder=d(We,{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 ir(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=Ue({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Ne]})}return t})(),ir=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===he?this.childContexts:n===$n?this.outletData:this.parent.get(n,e)}},We=new T(""),dr=(()=>{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=Je([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=an(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})(),fr=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Vr({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&Jr(0,"router-outlet")},dependencies:[hr],encapsulation:2})}return t})();function pr(t){let n=t.children&&t.children.map(pr),e=n?_(l({},t),{children:n}):l({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==f&&(e.component=fr),e}function Fi(t,n,e){let r=Be(t,n._root,e?e._root:void 0);return new Fe(r,n)}function Be(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let r=e.value;r._futureSnapshot=n.value;let i=qi(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=>Be(t,a)),s}}let r=Bi(n.value),i=n.children.map(o=>Be(t,o));return new O(r,i)}}function qi(t,n,e){return n.children.map(r=>{for(let i of e.children)if(t.shouldReuseRoute(r.value,i.value.snapshot))return Be(t,r,i);return Be(t,r)})}function Bi(t){return new V(new N(t.url),new N(t.params),new N(t.queryParams),new N(t.fragment),new N(t.data),t.outlet,t.component,t)}var Ie=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},zn="ngNavigationCancelingError";function Tt(t,n){let{redirectTo:e,navigationBehaviorOptions:r}=X(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=Fn(!1,b.Redirect);return i.url=e,i.navigationBehaviorOptions=r,i}function Fn(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[zn]=!0,e.cancellationCode=n,e}function Hi(t){return qn(t)&&X(t.url)}function qn(t){return!!t&&t[zn]}var Vi=(t,n,e,r)=>v(i=>(new or(n,i.targetRouterState,i.currentRouterState,e,r).activate(t),i)),or=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),Qt(this.futureState.root),this.activateChildRoutes(e,r,n)}deactivateChildRoutes(n,e,r){let i=ve(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=ve(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=ve(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=ve(e);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new wt(o.value.snapshot))}),n.children.length&&this.forwardEvent(new St(n.value.snapshot))}activateRoutes(n,e,r){let i=n.value,o=e?e.value:null;if(Qt(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),Qt(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)}},Et=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},ye=class{component;route;constructor(n,e){this.component=n,this.route=e}};function Gi(t,n,e){let r=t._root,i=n?n._root:null;return xe(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 Ee(t,n){let e=Symbol(),r=n.get(t,e);return r===e?typeof t=="function"&&!Ur(t)?t:n.get(t):r}function xe(t,n,e,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=ve(n);return t.children.forEach(s=>{Qi(s,o[s.value.outlet],e,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>je(a,e.getContext(s),i)),i}function Qi(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=Ki(s,o,o.routeConfig.runGuardsAndResolvers);u?i.canActivateChecks.push(new Et(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?xe(t,n,a?a.children:null,r,i):xe(t,n,e,r,i),u&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new ye(a.outlet.component,s))}else s&&je(n,a,i),i.canActivateChecks.push(new Et(r)),o.component?xe(t,null,a?a.children:null,r,i):xe(t,null,e,r,i);return i}function Ki(t,n,e){if(typeof e=="function")return e(t,n);switch(e){case"pathParamsChange":return!ae(t.url,n.url);case"pathParamsOrQueryParamsChange":return!ae(t.url,n.url)||!j(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!nr(t,n)||!j(t.queryParams,n.queryParams);case"paramsChange":default:return!nr(t,n)}}function je(t,n,e){let r=ve(t),i=t.value;Object.entries(r).forEach(([o,s])=>{i.component?n?je(s,n.children.getContext(o),e):je(s,null,e):je(s,n,e)}),i.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new ye(n.outlet.component,i)):e.canDeactivateChecks.push(new ye(null,i)):e.canDeactivateChecks.push(new ye(null,i))}function Qe(t){return typeof t=="function"}function Yi(t){return typeof t=="boolean"}function Zi(t){return t&&Qe(t.canLoad)}function Ji(t){return t&&Qe(t.canActivate)}function Xi(t){return t&&Qe(t.canActivateChild)}function eo(t){return t&&Qe(t.canDeactivate)}function to(t){return t&&Qe(t.canMatch)}function Bn(t){return t instanceof Tr||t?.name==="EmptyError"}var at=Symbol("INITIAL_VALUE");function Ae(){return A(t=>Je(t.map(n=>n.pipe(fe(1),Dr(at)))).pipe(v(n=>{for(let e of n)if(e!==!0){if(e===at)return at;if(e===!1||ro(e))return e}return!0}),H(n=>n!==at),fe(1)))}function ro(t){return X(t)||t instanceof Ie}function no(t,n){return I(e=>{let{targetSnapshot:r,currentSnapshot:i,guards:{canActivateChecks:o,canDeactivateChecks:s}}=e;return s.length===0&&o.length===0?h(_(l({},e),{guardsResult:!0})):io(s,r,i,t).pipe(I(a=>a&&Yi(a)?oo(r,o,t,n):h(a)),v(a=>_(l({},e),{guardsResult:a})))})}function io(t,n,e,r){return w(t).pipe(I(i=>lo(i.component,i.route,e,n,r)),Q(i=>i!==!0,!0))}function oo(t,n,e,r){return w(n).pipe(ie(i=>Er(ao(i.route.parent,r),so(i.route,r),co(t,i.path,e),uo(t,i.route,e))),Q(i=>i!==!0,!0))}function so(t,n){return t!==null&&n&&n(new Ct(t)),h(!0)}function ao(t,n){return t!==null&&n&&n(new yt(t)),h(!0)}function uo(t,n,e){let r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||r.length===0)return h(!0);let i=r.map(o=>Xe(()=>{let s=Te(n)??e,a=Ee(o,s),u=Ji(a)?a.canActivate(n,t):U(s,()=>a(n,t));return G(u).pipe(Q())}));return h(i).pipe(Ae())}function co(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=>Xe(()=>{let a=s.guards.map(u=>{let c=Te(s.node)??e,p=Ee(u,c),y=Xi(p)?p.canActivateChild(r,t):U(c,()=>p(r,t));return G(y).pipe(Q())});return h(a).pipe(Ae())}));return h(o).pipe(Ae())}function lo(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=Te(n)??i,c=Ee(a,u),p=eo(c)?c.canDeactivate(t,n,e,r):U(u,()=>c(t,n,e,r));return G(p).pipe(Q())});return h(s).pipe(Ae())}function ho(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=Ee(s,t),u=Zi(a)?a.canLoad(n,e):U(t,()=>a(n,e));return G(u)});return h(o).pipe(Ae(),Hn(r))}function Hn(t){return br(S(n=>{if(typeof n!="boolean")throw Tt(t,n)}),v(n=>n===!0))}function fo(t,n,e,r){let i=n.canMatch;if(!i||i.length===0)return h(!0);let o=i.map(s=>{let a=Ee(s,t),u=to(a)?a.canMatch(n,e):U(t,()=>a(n,e));return G(u)});return h(o).pipe(Ae(),Hn(r))}var He=class{segmentGroup;constructor(n){this.segmentGroup=n||null}},Ve=class extends Error{urlTree;constructor(n){super(),this.urlTree=n}};function ge(t){return Me(new He(t))}function po(t){return Me(new C(4e3,!1))}function go(t){return Me(Fn(!1,b.GuardRejected))}var sr=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 po(`${n.redirectTo}`);i=i.children[f]}}applyRedirectCommands(n,e,r,i,o){return vo(e,i,o).pipe(v(s=>{if(s instanceof $)throw new Ve(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new Ve(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 g(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 vo(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:p,title:y}=n;return G(U(e,()=>r({params:c,data:p,queryParams:i,fragment:o,routeConfig:s,url:a,outlet:u,title:y})))}var ar={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function mo(t,n,e,r,i){let o=Vn(t,n,e);return o.matched?(r=ki(n,r),fo(r,n,e,i).pipe(v(s=>s===!0?o:l({},ar)))):h(o)}function Vn(t,n,e){if(n.path==="**")return Ro(e);if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?l({},ar):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(n.matcher||Sn)(e,t,n);if(!i)return l({},ar);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 Ro(t){return{matched:!0,parameters:t.length>0?wn(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function mn(t,n,e,r){return e.length>0&&Co(t,e,r)?{segmentGroup:new g(n,So(r,new g(e,t.children))),slicedSegments:[]}:e.length===0&&wo(t,e,r)?{segmentGroup:new g(t.segments,yo(t,e,r,t.children)),slicedSegments:e}:{segmentGroup:new g(t.segments,t.children),slicedSegments:e}}function yo(t,n,e,r){let i={};for(let o of e)if(Mt(t,n,o)&&!r[L(o)]){let s=new g([],{});i[L(o)]=s}return l(l({},r),i)}function So(t,n){let e={};e[f]=n;for(let r of t)if(r.path===""&&L(r)!==f){let i=new g([],{});e[L(r)]=i}return e}function Co(t,n,e){return e.some(r=>Mt(t,n,r)&&L(r)!==f)}function wo(t,n,e){return e.some(r=>Mt(t,n,r))}function Mt(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function bo(t,n,e){return n.length===0&&!t.children[e]}var ur=class{};function Io(t,n,e,r,i,o,s="emptyOnly"){return new cr(t,n,e,r,i,s,o).recognize()}var Ao=31,cr=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 sr(this.urlSerializer,this.urlTree)}noMatchError(n){return new C(4002,`'${n.segmentGroup}'`)}recognize(){let n=mn(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(v(({children:e,rootSnapshot:r})=>{let i=new O(r,e),o=new qe("",i),s=Nn(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 ue([],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})),ne(r=>{if(r instanceof Ve)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof He?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(ie(s=>{let a=r.children[s],u=$i(e,s);return this.processSegmentGroup(n,u,a,s,i)}),Mr((s,a)=>(s.push(...a),s)),kt(null),Or(),I(s=>{if(s===null)return ge(r);let a=Gn(s);return To(a),h(a)}))}processSegment(n,e,r,i,o,s,a){return w(e).pipe(ie(u=>this.processSegmentAgainstRoute(u._injector??n,e,u,r,i,o,s,a).pipe(ne(c=>{if(c instanceof He)return h(null);throw c}))),Q(u=>!!u),ne(u=>{if(Bn(u))return bo(r,i,o)?h(new ur):ge(r);throw u}))}processSegmentAgainstRoute(n,e,r,i,o,s,a,u){return L(r)!==s&&(s===f||!Mt(i,o,r))?ge(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):ge(i)}expandSegmentAgainstRouteUsingRedirect(n,e,r,i,o,s,a){let{matched:u,parameters:c,consumedSegments:p,positionalParamSegments:y,remainingSegments:P}=Vn(e,i,o);if(!u)return ge(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Ao&&(this.allowRedirects=!1));let W=new ue(o,c,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Rn(i),L(i),i.component??i._loadedComponent??null,i,yn(i)),E=At(W,a,this.paramsInheritanceStrategy);return W.params=Object.freeze(E.params),W.data=Object.freeze(E.data),this.applyRedirects.applyRedirectCommands(p,i.redirectTo,y,W,n).pipe(A(re=>this.applyRedirects.lineralizeSegments(i,re)),I(re=>this.processSegment(n,r,e,re.concat(P),s,!1,a)))}matchSegmentAgainstRoute(n,e,r,i,o,s){let a=mo(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 p=r._loadedInjector??n,{parameters:y,consumedSegments:P,remainingSegments:W}=u,E=new ue(P,y,Object.freeze(l({},this.urlTree.queryParams)),this.urlTree.fragment,Rn(r),L(r),r.component??r._loadedComponent??null,r,yn(r)),de=At(E,s,this.paramsInheritanceStrategy);E.params=Object.freeze(de.params),E.data=Object.freeze(de.data);let{segmentGroup:re,slicedSegments:xt}=mn(e,P,W,c);if(xt.length===0&&re.hasChildren())return this.processChildren(p,c,re,E).pipe(v(Ze=>new O(E,Ze)));if(c.length===0&&xt.length===0)return h(new O(E,[]));let hi=L(r)===o;return this.processSegment(p,c,re,xt,hi?f:o,!0,E).pipe(v(Ze=>new O(E,Ze instanceof O?[Ze]:[])))}))):ge(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}):ho(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})):go(e))):h({routes:[],injector:n})}};function To(t){t.sort((n,e)=>n.value.outlet===f?-1:e.value.outlet===f?1:n.value.outlet.localeCompare(e.value.outlet))}function Eo(t){let n=t.value.routeConfig;return n&&n.path===""}function Gn(t){let n=[],e=new Set;for(let r of t){if(!Eo(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=Gn(r.children);n.push(new O(r.value,i))}return n.filter(r=>!e.has(r))}function Rn(t){return t.data||{}}function yn(t){return t.resolve||{}}function Oo(t,n,e,r,i,o){return I(s=>Io(t,n,e,r,s.extractedUrl,i,o).pipe(v(({state:a,tree:u})=>_(l({},s),{targetSnapshot:a,urlAfterRedirects:u}))))}function Mo(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(ie(u=>o.has(u)?Do(u,r,t,n):(u.data=At(u,u.parent,t).resolve,h(void 0))),S(()=>a++),$t(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 Do(t,n,e,r){let i=t.routeConfig,o=t._resolve;return i?.title!==void 0&&!kn(i)&&(o[Ge]=i.title),Xe(()=>(t.data=At(t,t.parent,e).resolve,No(o,t,n,r).pipe(v(s=>(t._resolvedData=s,t.data=l(l({},t.data),s),null)))))}function No(t,n,e,r){let i=Zt(t);if(i.length===0)return h({});let o={};return w(i).pipe(I(s=>Uo(t[s],n,e,r).pipe(Q(),S(a=>{if(a instanceof Ie)throw Tt(new J,a);o[s]=a}))),$t(1),v(()=>o),ne(s=>Bn(s)?B:Me(s)))}function Uo(t,n,e,r){let i=Te(n)??r,o=Ee(t,i),s=o.resolve?o.resolve(n,e):U(i,()=>o(n,e));return G(s)}function Kt(t){return A(n=>{let e=t(n);return e?w(e).pipe(v(()=>n)):h(n)})}var gr=(()=>{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[Ge]}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>d(Qn),providedIn:"root"})}return t})(),Qn=(()=>{class t extends gr{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(dn))};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),te=new T("",{providedIn:"root",factory:()=>({})}),Oe=new T(""),Dt=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=d(nn);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=G(U(e,()=>r.loadComponent())).pipe(v(Yn),A(Zn),S(s=>{this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s}),et(()=>{this.componentLoaders.delete(r)})),o=new jt(i,()=>new q).pipe(Lt());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=Kn(r,this.compiler,e,this.onLoadEndListener).pipe(et(()=>{this.childrenLoaders.delete(r)})),s=new jt(o,()=>new q).pipe(Lt());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 Kn(t,n,e,r){return G(U(e,()=>t.loadChildren())).pipe(v(Yn),A(Zn),I(i=>i instanceof Hr||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(Oe,[],{optional:!0,self:!0}).flat()),{routes:s.map(pr),injector:o}}))}function Po(t){return t&&typeof t=="object"&&"default"in t}function Yn(t){return Po(t)?t.default:t}function Zn(t){return h(t)}var Nt=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>d(_o),providedIn:"root"})}return t})(),_o=(()=>{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})(),vr=new T(""),mr=new T("");function Jn(t,n,e){let r=t.get(mr),i=t.get(Pr);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&&U(t,()=>u({transition:a,from:n,to:e})),s}function xo(t){return new Promise(n=>{Fr({read:()=>setTimeout(n)},{injector:t})})}var Rr=new T(""),Ut=(()=>{class t{currentNavigation=rt(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=null;events=new q;transitionAbortWithErrorSubject=new q;configLoader=d(Dt);environmentInjector=d(oe);destroyRef=d(_r);urlSerializer=d(le);rootContexts=d(he);location=d(pe);inputBindingEnabled=d(We,{optional:!0})!==null;titleStrategy=d(gr);options=d(te,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=d(Nt);createViewTransition=d(vr,{optional:!0});navigationErrorHandler=d(Rr,{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 mt(i)),r=i=>this.events.next(new Rt(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;Y(()=>{this.transitions?.next(_(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 N(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.set({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?_(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")return this.events.next(new z(o.id,this.urlSerializer.serialize(o.rawUrl),"",Se.IgnoredSameUrlNavigation)),o.resolve(!1),B;if(this.urlHandlingStrategy.shouldProcessUrl(o.rawUrl))return h(o).pipe(A(u=>(this.events.next(new ee(u.id,this.urlSerializer.serialize(u.extractedUrl),u.source,u.restoredState)),u.id!==this.navigationId?B:Promise.resolve(u))),Oo(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),S(u=>{r.targetSnapshot=u.targetSnapshot,r.urlAfterRedirects=u.urlAfterRedirects,this.currentNavigation.update(p=>(p.finalUrl=u.urlAfterRedirects,p));let c=new $e(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:p,restoredState:y,extras:P}=o,W=new ee(u,this.urlSerializer.serialize(c),p,y);this.events.next(W);let E=Ln(this.rootComponentType).snapshot;return this.currentTransition=r=_(l({},o),{targetSnapshot:E,urlAfterRedirects:c,extras:_(l({},P),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(de=>(de.finalUrl=c,de)),h(r)}else return this.events.next(new z(o.id,this.urlSerializer.serialize(o.extractedUrl),"",Se.IgnoredByUrlHandlingStrategy)),o.resolve(!1),B}),S(o=>{let s=new ft(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects),o.targetSnapshot);this.events.next(s)}),v(o=>(this.currentTransition=r=_(l({},o),{guards:Gi(o.targetSnapshot,o.currentSnapshot,this.rootContexts)}),r)),no(this.environmentInjector,o=>this.events.next(o)),S(o=>{if(r.guardsResult=o.guardsResult,o.guardsResult&&typeof o.guardsResult!="boolean")throw Tt(this.urlSerializer,o.guardsResult);let s=new pt(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)),Kt(o=>{if(o.guards.canActivateChecks.length!==0)return h(o).pipe(S(s=>{let a=new gt(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(Mo(this.paramsInheritanceStrategy,this.environmentInjector),S({next:()=>a=!0,complete:()=>{a||this.cancelNavigationTransition(s,"",b.NoDataFromResolver)}}))}),S(s=>{let a=new vt(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}))}),Kt(o=>{let s=a=>{let u=[];if(a.routeConfig?.loadComponent){let c=Te(a)??this.environmentInjector;u.push(this.configLoader.loadComponent(c,a.routeConfig).pipe(S(p=>{a.component=p}),v(()=>{})))}for(let c of a.children)u.push(...s(c));return u};return Je(s(o.targetSnapshot.root)).pipe(kt(null),fe(1))}),Kt(()=>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=Fi(e.routeReuseStrategy,o.targetSnapshot,o.currentRouterState);return this.currentTransition=r=_(l({},o),{targetRouterState:s}),this.currentNavigation.update(a=>(a.targetRouterState=s,a)),r}),S(()=>{this.events.next(new ze)}),Vi(this.rootContexts,e.routeReuseStrategy,o=>this.events.next(o),this.inputBindingEnabled),fe(1),zt(new Ir(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=Y(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}}),zt(this.transitionAbortWithErrorSubject.pipe(S(o=>{throw o}))),et(()=>{i||this.cancelNavigationTransition(r,"",b.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),ne(o=>{if(this.destroyed)return r.resolve(!1),B;if(i=!0,qn(o))this.events.next(new k(r.id,this.urlSerializer.serialize(r.extractedUrl),o.message,o.cancellationCode)),Hi(o)?this.events.next(new be(o.url,o.navigationBehaviorOptions)):r.resolve(!1);else{let s=new Ce(r.id,this.urlSerializer.serialize(r.extractedUrl),o,r.targetSnapshot??void 0);try{let a=U(this.environmentInjector,()=>this.navigationErrorHandler?.(s));if(a instanceof Ie){let{message:u,cancellationCode:c}=Tt(this.urlSerializer,a);this.events.next(new k(r.id,this.urlSerializer.serialize(r.extractedUrl),u,c)),this.events.next(new be(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=Y(this.currentNavigation),i=r?.targetBrowserUrl??r?.extractedUrl;return e.toString()!==i?.toString()&&!r?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Lo(t){return t!==Re}var Xn=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275prov=R({token:t,factory:()=>d(jo),providedIn:"root"})}return t})(),Ot=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}},jo=(()=>{class t extends Ot{static \u0275fac=(()=>{let e;return function(i){return(e||(e=qt(t)))(i||t)}})();static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ei=(()=>{class t{urlSerializer=d(le);options=d(te,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=d(pe);urlHandlingStrategy=d(Nt);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=Ln(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(ko),providedIn:"root"})}return t})(),ko=(()=>{class t extends ei{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 ee?this.updateStateMemento():e instanceof z?this.commitTransition(r):e instanceof $e?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):e instanceof ze?(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 Ce?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=qt(t)))(i||t)}})();static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Pt(t,n){t.events.pipe(H(e=>e instanceof D||e instanceof k||e instanceof Ce||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),fe(1)).subscribe(()=>{n()})}var $o={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},zo={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(Wr);stateManager=d(ei);options=d(te,{optional:!0})||{};pendingTasks=d(xr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=d(Ut);urlSerializer=d(le);location=d(pe);urlHandlingStrategy=d(Nt);injector=d(oe);_events=new q;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=d(Xn);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=d(Oe,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!d(We,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}eventsSubscription=new wr;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=Y(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 be){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"||Lo(i.source)},s);this.scheduleNavigation(a,Re,null,u,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}ji(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),Re,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(tt)(u)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return Y(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(pr),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,p=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":p=l(l({},this.currentUrlTree.queryParams),o);break;case"preserve":p=this.currentUrlTree.queryParams;break;default:p=o||null}p!==null&&(p=this.removeEmptyProps(p));let y;try{let P=i?i.snapshot:this.routerState.snapshot.root;y=Un(P)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),y=this.currentUrlTree.root}return Pn(y,e,p,c??null)}navigateByUrl(e,r={skipLocationChange:!1}){let i=X(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,Re,null,r)}navigate(e,r={skipLocationChange:!1}){return Fo(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({},$o):r===!1?i=l({},zo):i=r,X(e))return fn(this.currentUrlTree,e,i);let o=this.parseUrl(e);return fn(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,P)=>{a=y,u=P});let p=this.pendingTasks.add();return Pt(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(p))}),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 Fo(t){for(let n=0;n<t.length;n++)if(t[n]==null)throw new C(4008,!1)}var _t=(()=>{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;reactiveHref=rt(null);get href(){return Y(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new q;applicationErrorHandler=d(tt);options=d(te,{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 on("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)):(X(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:X(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)(x(F),x(V),Lr("tabindex"),x(Ht),x(Bt),x(Pe))};static \u0275dir=Ue({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&Xr("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&Zr("href",i.reactiveHref(),kr)("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",ot],skipLocationChange:[2,"skipLocationChange","skipLocationChange",ot],replaceUrl:[2,"replaceUrl","replaceUrl",ot],routerLink:"routerLink"},features:[Ne]})}return t})(),qo=(()=>{class t{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new se;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(De()).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(De()).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=Bo(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)(x(F),x(Bt),x(Ht),x(it),x(_t,8))};static \u0275dir=Ue({type:t,selectors:[["","routerLinkActive",""]],contentQueries:function(r,i,o){if(r&1&&en(o,_t,5),r&2){let s;tn(s=rn())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[Ne]})}return t})();function Bo(t){return!!t.paths}var Ke=class{};var ti=(()=>{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),ie(()=>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=nt(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(De())}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(De())}else return o})}static \u0275fac=function(r){return new(r||t)(K(F),K(oe),K(Ke),K(Dt))};static \u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ri=new T(""),Ho=(()=>{class t{urlSerializer;transitions;viewportScroller;zone;options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource=Re;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 ee?(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===Se.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{if(!(e instanceof we))return;let r={behavior:"instant"};e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0],r):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position,r):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(()=>Cr(this,null,function*(){yield new Promise(i=>{setTimeout(i),typeof requestAnimationFrame<"u"&&requestAnimationFrame(i)}),this.zone.run(()=>{this.transitions.events.next(new we(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,r))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(r){qr()};static \u0275prov=R({token:t,factory:t.\u0275fac})}return t})();function Vo(t){return t.routerState.root}function Ye(t,n){return{\u0275kind:t,\u0275providers:n}}function Go(){let t=d(Ft);return n=>{let e=t.get(Yr);if(n!==e.components[0])return;let r=t.get(F),i=t.get(ni);t.get(Sr)===1&&r.initialNavigation(),t.get(si,null,{optional:!0})?.setUpPreloading(),t.get(ri,null,{optional:!0})?.init(),r.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var ni=new T("",{factory:()=>new q}),Sr=new T("",{providedIn:"root",factory:()=>1});function ii(){let t=[{provide:jr,useValue:!0},{provide:Sr,useValue:0},Vt(()=>{let n=d(Ft);return n.get(un,Promise.resolve()).then(()=>new Promise(r=>{let i=n.get(F),o=n.get(ni);Pt(i,()=>{r(!0)}),n.get(Ut).afterPreactivation=()=>(r(!0),o.closed?h(void 0):o),i.initialNavigation()}))})];return Ye(2,t)}function oi(){let t=[Vt(()=>{d(F).setUpLocationChangeListener()}),{provide:Sr,useValue:2}];return Ye(3,t)}var si=new T("");function ai(t){return Ye(0,[{provide:si,useExisting:ti},{provide:Ke,useExisting:t}])}function ui(){return Ye(8,[dr,{provide:We,useExisting:dr}])}function ci(t){$r("NgRouterViewTransitions");let n=[{provide:vr,useValue:Jn},{provide:mr,useValue:l({skipNextTransition:!!t?.skipInitialTransition},t)}];return Ye(9,n)}var li=[pe,{provide:le,useClass:J},F,he,{provide:V,useFactory:Vo,deps:[F]},Dt,[]],Wo=(()=>{class t{constructor(){}static forRoot(e,r){return{ngModule:t,providers:[li,[],{provide:Oe,multi:!0,useValue:e},[],r?.errorHandler?{provide:Rr,useValue:r.errorHandler}:[],{provide:te,useValue:r||{}},r?.useHash?Ko():Yo(),Qo(),r?.preloadingStrategy?ai(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?Zo(r):[],r?.bindToComponentInputs?ui().\u0275providers:[],r?.enableViewTransitions?ci().\u0275providers:[],Jo()]}}static forChild(e){return{ngModule:t,providers:[{provide:Oe,multi:!0,useValue:e}]}}static \u0275fac=function(r){return new(r||t)};static \u0275mod=Gr({type:t});static \u0275inj=Nr({})}return t})();function Qo(){return{provide:ri,useFactory:()=>{let t=d(hn),n=d(zr),e=d(te),r=d(Ut),i=d(le);return e.scrollOffset&&t.setOffset(e.scrollOffset),new Ho(i,r,t,n,e)}}}function Ko(){return{provide:Pe,useClass:ln}}function Yo(){return{provide:Pe,useClass:cn}}function Zo(t){return[t.initialNavigation==="disabled"?oi().\u0275providers:[],t.initialNavigation==="enabledBlocking"?ii().\u0275providers:[]]}var yr=new T("");function Jo(){return[{provide:yr,useFactory:Go},{provide:Kr,multi:!0,useExisting:yr}]}export{ee as a,D as b,V as c,hr as d,F as e,_t as f,qo as g,Wo as h};
@@ -1 +0,0 @@
1
- import{k as tt,n as et,q as it}from"./chunk-CIUT5ZJW.js";import{W as G,e as ut,g as ct,h as P,ha as R,ma as W,md as X,n as Q,x as B}from"./chunk-A47OHR4B.js";var st=ut((U,E)=>{(function(w,T){typeof U=="object"&&typeof E<"u"?E.exports=T():typeof define=="function"&&define.amd?define(T):(w=typeof globalThis<"u"?globalThis:w||self).dayjs=T()})(U,function(){"use strict";var w=1e3,T=6e4,s=36e5,h="millisecond",d="second",m="minute",M="hour",y="day",f="week",L="month",K="quarter",S="year",_="date",q="Invalid Date",nt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,rt=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,ot={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(r){var i=["th","st","nd","rd"],t=r%100;return"["+r+(i[(t-20)%10]||i[t]||i[0])+"]"}},F=function(r,i,t){var n=String(r);return!n||n.length>=i?r:""+Array(i+1-n.length).join(t)+r},at={s:F,z:function(r){var i=-r.utcOffset(),t=Math.abs(i),n=Math.floor(t/60),e=t%60;return(i<=0?"+":"-")+F(n,2,"0")+":"+F(e,2,"0")},m:function r(i,t){if(i.date()<t.date())return-r(t,i);var n=12*(t.year()-i.year())+(t.month()-i.month()),e=i.clone().add(n,L),o=t-e<0,a=i.clone().add(n+(o?-1:1),L);return+(-(n+(t-e)/(o?e-a:a-e))||0)},a:function(r){return r<0?Math.ceil(r)||0:Math.floor(r)},p:function(r){return{M:L,y:S,w:f,d:y,D:_,h:M,m,s:d,ms:h,Q:K}[r]||String(r||"").toLowerCase().replace(/s$/,"")},u:function(r){return r===void 0}},I="en",D={};D[I]=ot;var Z="$isDayjsObject",N=function(r){return r instanceof C||!(!r||!r[Z])},Y=function r(i,t,n){var e;if(!i)return I;if(typeof i=="string"){var o=i.toLowerCase();D[o]&&(e=o),t&&(D[o]=t,e=o);var a=i.split("-");if(!e&&a.length>1)return r(a[0])}else{var c=i.name;D[c]=i,e=c}return!n&&e&&(I=e),e||!n&&I},g=function(r,i){if(N(r))return r.clone();var t=typeof i=="object"?i:{};return t.date=r,t.args=arguments,new C(t)},u=at;u.l=Y,u.i=N,u.w=function(r,i){return g(r,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var C=(function(){function r(t){this.$L=Y(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[Z]=!0}var i=r.prototype;return i.parse=function(t){this.$d=(function(n){var e=n.date,o=n.utc;if(e===null)return new Date(NaN);if(u.u(e))return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){var a=e.match(nt);if(a){var c=a[2]-1||0,l=(a[7]||"0").substring(0,3);return o?new Date(Date.UTC(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,l)):new Date(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,l)}}return new Date(e)})(t),this.init()},i.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},i.$utils=function(){return u},i.isValid=function(){return this.$d.toString()!==q},i.isSame=function(t,n){var e=g(t);return this.startOf(n)<=e&&e<=this.endOf(n)},i.isAfter=function(t,n){return g(t)<this.startOf(n)},i.isBefore=function(t,n){return this.endOf(n)<g(t)},i.$g=function(t,n,e){return u.u(t)?this[n]:this.set(e,t)},i.unix=function(){return Math.floor(this.valueOf()/1e3)},i.valueOf=function(){return this.$d.getTime()},i.startOf=function(t,n){var e=this,o=!!u.u(n)||n,a=u.p(t),c=function(x,v){var k=u.w(e.$u?Date.UTC(e.$y,v,x):new Date(e.$y,v,x),e);return o?k:k.endOf(y)},l=function(x,v){return u.w(e.toDate()[x].apply(e.toDate("s"),(o?[0,0,0,0]:[23,59,59,999]).slice(v)),e)},$=this.$W,p=this.$M,b=this.$D,H="set"+(this.$u?"UTC":"");switch(a){case S:return o?c(1,0):c(31,11);case L:return o?c(1,p):c(0,p+1);case f:var O=this.$locale().weekStart||0,j=($<O?$+7:$)-O;return c(o?b-j:b+(6-j),p);case y:case _:return l(H+"Hours",0);case M:return l(H+"Minutes",1);case m:return l(H+"Seconds",2);case d:return l(H+"Milliseconds",3);default:return this.clone()}},i.endOf=function(t){return this.startOf(t,!1)},i.$set=function(t,n){var e,o=u.p(t),a="set"+(this.$u?"UTC":""),c=(e={},e[y]=a+"Date",e[_]=a+"Date",e[L]=a+"Month",e[S]=a+"FullYear",e[M]=a+"Hours",e[m]=a+"Minutes",e[d]=a+"Seconds",e[h]=a+"Milliseconds",e)[o],l=o===y?this.$D+(n-this.$W):n;if(o===L||o===S){var $=this.clone().set(_,1);$.$d[c](l),$.init(),this.$d=$.set(_,Math.min(this.$D,$.daysInMonth())).$d}else c&&this.$d[c](l);return this.init(),this},i.set=function(t,n){return this.clone().$set(t,n)},i.get=function(t){return this[u.p(t)]()},i.add=function(t,n){var e,o=this;t=Number(t);var a=u.p(n),c=function(p){var b=g(o);return u.w(b.date(b.date()+Math.round(p*t)),o)};if(a===L)return this.set(L,this.$M+t);if(a===S)return this.set(S,this.$y+t);if(a===y)return c(1);if(a===f)return c(7);var l=(e={},e[m]=T,e[M]=s,e[d]=w,e)[a]||1,$=this.$d.getTime()+t*l;return u.w($,this)},i.subtract=function(t,n){return this.add(-1*t,n)},i.format=function(t){var n=this,e=this.$locale();if(!this.isValid())return e.invalidDate||q;var o=t||"YYYY-MM-DDTHH:mm:ssZ",a=u.z(this),c=this.$H,l=this.$m,$=this.$M,p=e.weekdays,b=e.months,H=e.meridiem,O=function(v,k,A,V){return v&&(v[k]||v(n,o))||A[k].slice(0,V)},j=function(v){return u.s(c%12||12,v,"0")},x=H||function(v,k,A){var V=v<12?"AM":"PM";return A?V.toLowerCase():V};return o.replace(rt,function(v,k){return k||(function(A){switch(A){case"YY":return String(n.$y).slice(-2);case"YYYY":return u.s(n.$y,4,"0");case"M":return $+1;case"MM":return u.s($+1,2,"0");case"MMM":return O(e.monthsShort,$,b,3);case"MMMM":return O(b,$);case"D":return n.$D;case"DD":return u.s(n.$D,2,"0");case"d":return String(n.$W);case"dd":return O(e.weekdaysMin,n.$W,p,2);case"ddd":return O(e.weekdaysShort,n.$W,p,3);case"dddd":return p[n.$W];case"H":return String(c);case"HH":return u.s(c,2,"0");case"h":return j(1);case"hh":return j(2);case"a":return x(c,l,!0);case"A":return x(c,l,!1);case"m":return String(l);case"mm":return u.s(l,2,"0");case"s":return String(n.$s);case"ss":return u.s(n.$s,2,"0");case"SSS":return u.s(n.$ms,3,"0");case"Z":return a}return null})(v)||a.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(t,n,e){var o,a=this,c=u.p(n),l=g(t),$=(l.utcOffset()-this.utcOffset())*T,p=this-l,b=function(){return u.m(a,l)};switch(c){case S:o=b()/12;break;case L:o=b();break;case K:o=b()/3;break;case f:o=(p-$)/6048e5;break;case y:o=(p-$)/864e5;break;case M:o=p/s;break;case m:o=p/T;break;case d:o=p/w;break;default:o=p}return e?o:u.a(o)},i.daysInMonth=function(){return this.endOf(L).$D},i.$locale=function(){return D[this.$L]},i.locale=function(t,n){if(!t)return this.$L;var e=this.clone(),o=Y(t,n,!0);return o&&(e.$L=o),e},i.clone=function(){return u.w(this.$d,this)},i.toDate=function(){return new Date(this.valueOf())},i.toJSON=function(){return this.isValid()?this.toISOString():null},i.toISOString=function(){return this.$d.toISOString()},i.toString=function(){return this.$d.toUTCString()},r})(),z=C.prototype;return g.prototype=z,[["$ms",h],["$s",d],["$m",m],["$H",M],["$W",y],["$M",L],["$y",S],["$D",_]].forEach(function(r){z[r[1]]=function(i){return this.$g(i,r[0],r[1])}}),g.extend=function(r,i){return r.$i||(r(i,C,g),r.$i=!0),g},g.locale=Y,g.isDayjs=N,g.unix=function(r){return g(1e3*r)},g.en=D[I],g.Ls=D,g.p={},g})});var J=ct(st(),1);var vt=(()=>{class w{$api=W(it);$title=W(X);$toastr=W(et);$translate=W(tt);settingsLoadedSubject=new Q;defaultTheme="deep-purple";forbiddenKeys=["__proto__","constructor","prototype"];env={};host;proxyHost;webroot;originalWebroot;formAuth=!0;sessionTimeout=28800;sessionTimeoutInactivityBased=!1;uiVersion;theme;lightingMode;currentLightingMode;actualLightingMode;browserLightingMode;menuMode;keepOrphans;wallpaper;serverTimeOffset=0;rtl=!1;browserLang;onSettingsLoaded=this.settingsLoadedSubject.pipe(G());settingsLoaded=!1;themeList=["orange","red","pink","purple","deep-purple","indigo","blue","blue-grey","cyan","green","teal","grey","brown"];constructor(){this.getAppSettings()}getAppSettings(){return P(this,null,function*(){let s=yield B(this.$api.get("/auth/settings"));this.formAuth=s.formAuth,this.sessionTimeout=s.sessionTimeout,this.sessionTimeoutInactivityBased=s.sessionTimeoutInactivityBased,this.env=s.env,this.host=s.host,this.webroot=s.webroot,this.originalWebroot=s.originalWebroot,this.proxyHost=s.proxyHost,this.lightingMode=s.lightingMode,this.wallpaper=s.wallpaper,this.setLightingMode(this.lightingMode,"user"),this.setTheme(s.theme),this.setMenuMode(s.menuMode),this.setKeepOrphans(s.keepOrphans),this.setTitle(this.env.homebridgeInstanceName),this.checkServerTime(s.serverTimestamp),this.setUiVersion(s.env.packageVersion),this.setLang(this.env.lang),this.settingsLoaded=!0,this.settingsLoadedSubject.next(void 0),this.browserLang=this.$translate.getBrowserCultureLang()})}setBrowserLightingMode(s){this.browserLightingMode=s,this.lightingMode==="auto"&&this.setLightingMode(s,"browser")}setLightingMode(s,h){h==="user"&&(this.lightingMode=s),this.currentLightingMode=s,this.actualLightingMode=this.currentLightingMode==="auto"?this.browserLightingMode:this.currentLightingMode,this.theme&&this.setTheme(this.theme)}setTheme(s){(!s||!this.themeList.includes(s))&&(s=this.defaultTheme,B(this.$api.put("/config-editor/ui",{key:"theme",value:s})).catch(m=>console.error("Error saving setTheme:",m)));let h=window.document.querySelector("body");h.classList.remove(`config-ui-x-${this.theme}`),h.classList.remove(`config-ui-x-dark-mode-${this.theme}`),this.theme=s,this.actualLightingMode==="dark"?(h.classList.add(`config-ui-x-dark-mode-${this.theme}`),h.classList.contains("dark-mode")||h.classList.add("dark-mode")):(h.classList.add(`config-ui-x-${this.theme}`),h.classList.contains("dark-mode")&&h.classList.remove("dark-mode")),window.document.querySelectorAll("iframe").forEach((m,M)=>{try{let y=m.contentDocument;if(y){let f=y.body;this.actualLightingMode==="dark"?(f.classList.contains(`config-ui-x-${this.theme}`)&&f.classList.remove(`config-ui-x-${this.theme}`),f.classList.contains(`config-ui-x-dark-mode-${this.theme}`)||f.classList.add(`config-ui-x-dark-mode-${this.theme}`),f.classList.contains("dark-mode")||f.classList.add("dark-mode"),f.style.backgroundColor="#242424 !important",f.style.color="#ffffff !important"):(f.classList.contains(`config-ui-x-${this.theme}`)||f.classList.add(`config-ui-x-${this.theme}`),f.classList.contains(`config-ui-x-dark-mode-${this.theme}`)&&f.classList.remove(`config-ui-x-dark-mode-${this.theme}`),f.classList.contains("dark-mode")&&f.classList.remove("dark-mode"),f.style.backgroundColor="#ffffff !important",f.style.color="#000000 !important"),m.contentWindow.postMessage({type:"theme-update",isDark:this.actualLightingMode==="dark",theme:s},window.location.origin)}}catch(y){console.warn(`Iframe ${M}: Access denied (cross-origin?)`,{error:y,src:m.src})}})}setMenuMode(s){this.menuMode=s}setKeepOrphans(s){this.keepOrphans=s}setLang(s){s?this.$translate.use(s):s="auto",this.env.lang=s}setItem(s,h){this[s]=h}setEnvItem(s,h){if(s.includes(".")){let d=s.split("."),m=this.env;for(let M=0;M<d.length-1;M+=1){if(this.forbiddenKeys.includes(d[M]))return;m[d[M]]||(m[d[M]]={}),m=m[d[M]]}this.forbiddenKeys.includes(d[d.length-1])||(m[d[d.length-1]]=h)}else this.env[s]=h}checkServerTime(s){let d=(0,J.default)(s).diff((0,J.default)(),"hour");this.serverTimeOffset=d*60*60,(d>=8||d<=-8)&&this.$toastr.warning(this.$translate.instant("settings.datetime.incorrect"),this.$translate.instant("toast.title_warning"),{timeOut:2e4,tapToDismiss:!1}).onTap.subscribe(()=>{window.open("https://homebridge.io/w/JqTFs","_blank")})}setUiVersion(s){this.uiVersion||(this.uiVersion=s)}setTitle(s){this.$title.setTitle(s||"Homebridge")}setPageTitle(s){let h=this.env.homebridgeInstanceName||"Homebridge";s?this.$title.setTitle(`${h} \u2014 ${s}`):this.$title.setTitle(h)}isFeatureEnabled(s){return this.env.featureFlags?.[s]??!1}static \u0275fac=function(h){return new(h||w)};static \u0275prov=R({token:w,factory:w.\u0275fac,providedIn:"root"})}return w})();export{st as a,vt as b};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-3E567MLS.js";import"./chunk-GNVXYEPV.js";import"./chunk-N2Q4P2LI.js";import"./chunk-4G6KMX23.js";import"./chunk-VADYL2Y7.js";import"./chunk-CGRJDJGB.js";import"./chunk-ZBHHT23D.js";import"./chunk-3UFBAGVX.js";import"./chunk-DSXSAP3T.js";import"./chunk-K2SXAJBI.js";import"./chunk-IUMRLBNA.js";import"./chunk-JSZUK6ZC.js";import"./chunk-OSJXXALI.js";import"./chunk-3KTHIJ5Z.js";import"./chunk-P6F4VLQU.js";import"./chunk-DVW3AYMZ.js";import"./chunk-4AP7EVCQ.js";import{h as r}from"./chunk-IGGPDWHS.js";import"./chunk-IHRQI6V3.js";import"./chunk-CIUT5ZJW.js";import{db as i,ia as t}from"./chunk-A47OHR4B.js";var l=[{path:"",loadComponent:()=>import("./chunk-PE32X7RA.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{a as P}from"./chunk-DVW3AYMZ.js";import"./chunk-4AP7EVCQ.js";import{e as D}from"./chunk-IGGPDWHS.js";import{b as F}from"./chunk-IHRQI6V3.js";import{k as E,l as R,n as B,q as U}from"./chunk-CIUT5ZJW.js";import{$b as x,Dc as I,Hb as S,Kb as k,Mb as u,Pa as r,Pc as O,Zb as a,_b as p,cb as y,h as b,kc as T,lc as g,ma as d,pb as h,qb as _,qc as l,ra as $,rc as c,sa as w,vb as f,wb as s,x as C,xb as n,yb as v}from"./chunk-A47OHR4B.js";var W=(e,m)=>({"fas fa-spinner fa-spin":e,"far fa-check-circle":m}),M=e=>({"grey-text":e}),V=(e,m)=>({"far fa-circle":e,"fas fa-spinner fa-spin":m});function j(e,m){if(e&1&&(s(0,"div",7),a(1),n()),e&2){let t=u();r(),p(t.error)}}function q(e,m){if(e&1&&(s(0,"p",9),a(1),l(2,"translate"),n(),s(3,"div",10)(4,"div",11)(5,"span"),v(6,"i",12),a(7),l(8,"translate"),n()(),s(9,"div",11)(10,"span",12),v(11,"i",12),a(12),l(13,"translate"),n()()()),e&2){let t=u();r(),p(c(2,6,"restart.please_wait_while_server_restarts")),r(5),f("ngClass",g(12,W,!t.uiOnline,t.uiOnline)),r(),x(" ",c(8,8,"restart.ui_online")," "),r(3),f("ngClass",T(15,M,!t.uiOnline)),r(),f("ngClass",g(17,V,!t.uiOnline,t.uiOnline)),r(),x(" ",c(13,10,"restart.service_ready")," ")}}function z(e,m){if(e&1){let t=S();s(0,"p",15)(1,"button",16),k("click",function(){$(t);let o=u(2);return w(o.viewLogs())}),a(2),l(3,"translate"),n()()}e&2&&(r(2),p(c(3,1,"menu.tooltip_view_logs")))}function A(e,m){if(e&1&&(s(0,"div",8)(1,"p"),a(2),l(3,"translate"),n(),s(4,"p",13),a(5),l(6,"translate"),s(7,"span",14),a(8),n()(),h(9,z,4,3,"p",15),n()),e&2){let t=u();r(2),p(c(3,4,"restart.server_is_taking_long_time_to_restart")),r(3),x(" ",c(6,6,"restart.label_restart_command_executed"),": "),r(3),p(t.resp.command||"End Process"),r(),_(t.uiOnline?9:-1)}}var et=(()=>{class e{$api=d(U);$router=d(D);$settings=d(F);$toastr=d(B);$translate=d(E);$ws=d(P);checkTimeout;checkDelay;io;webrootChanged=!1;uiOnline=!1;error=!1;resp={};timeout=!1;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch(()=>{})}),this.$router.parseUrl(this.$router.url).queryParams.restarting==="true"?(this.uiOnline=!0,this.checkIfServerUp()):this.performRestart()}viewLogs(){this.$router.navigate(["/logs"])}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}performRestart(){return b(this,null,function*(){try{let t=this.$settings.originalWebroot||"",i=this.$settings.webroot||"";this.webrootChanged=t!==i&&t!==globalThis.webroot.errorCode,this.webrootChanged&&(yield C(this.$api.put("/server/webroot",{webroot:i}))),this.$api.put("/server/restart",{}).subscribe({next:o=>{this.resp=o,this.checkIfServerUp(),o.restartingUI||(this.uiOnline=!0)},error:o=>{console.error(o),this.error=this.$translate.instant("restart.toast_server_restart_error"),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}catch(t){console.error("Failed to update webroot:",t),this.$api.put("/server/restart",{}).subscribe({next:i=>{this.resp=i,this.checkIfServerUp(),i.restartingUI||(this.uiOnline=!0)},error:i=>{console.error(i),this.error=this.$translate.instant("restart.toast_server_restart_error"),this.$toastr.error(this.$translate.instant("restart.toast_server_restart_error"),this.$translate.instant("toast.title_error"))}})}})}checkIfServerUp(){this.checkDelay=setTimeout(()=>{this.io.socket.on("homebridge-status",t=>{if(this.uiOnline=!0,t.status==="ok"||t.status==="pending")if(this.$toastr.success(this.$translate.instant("restart.toast_server_restarted"),this.$translate.instant("toast.title_success")),this.webrootChanged&&!I()){let i=this.$settings.webroot?.replace(/^\/+|\/+$/g,"")||"";window.location.href=i?`/${i}/`:"/"}else this.$router.navigate(["/"])})},7e3),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},4e4)}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=y({type:e,selectors:[["ng-component"]],decls:14,vars:8,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-power-off",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"alert","alert-error","my-4"],[1,"alert","alert-warning","my-4"],[1,"grey-text"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[3,"ngClass"],[1,"grey-text","mb-0"],[1,"font-monospace"],[1,"mt-2","mb-0"],[1,"btn","btn-primary","mb-0",3,"click"]],template:function(i,o){i&1&&(s(0,"div",0)(1,"h3",1),a(2),l(3,"translate"),n()(),s(4,"div",2)(5,"div",3),v(6,"i",4),n(),s(7,"div",5)(8,"h4",6),a(9),l(10,"translate"),n(),h(11,j,2,1,"div",7)(12,q,14,20),h(13,A,10,8,"div",8),n()()),i&2&&(r(2),p(c(3,4,"menu.restart.title")),r(7),p(c(10,6,"restart.title_restart")),r(2),_(o.error?11:12),r(2),_(o.timeout?13:-1))},dependencies:[O,R],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;font-weight:300;margin-top:15px}"]})}return e})();export{et as RestartComponent};
@@ -1 +0,0 @@
1
- import{a as Ei}from"./chunk-TGIITTHR.js";import{a as Ti}from"./chunk-WY2VANHO.js";import{N as Vi,P as X}from"./chunk-GNVXYEPV.js";import"./chunk-N2Q4P2LI.js";import{f as j}from"./chunk-4G6KMX23.js";import"./chunk-VADYL2Y7.js";import{a as Ii}from"./chunk-CGRJDJGB.js";import"./chunk-ZBHHT23D.js";import"./chunk-3UFBAGVX.js";import"./chunk-DSXSAP3T.js";import"./chunk-K2SXAJBI.js";import"./chunk-IUMRLBNA.js";import"./chunk-JSZUK6ZC.js";import{a as Bi}from"./chunk-OSJXXALI.js";import{g as bi,h as xi,i as vi,j as Pi,k as yi,l as wi,m as A,n as R,t as L}from"./chunk-3KTHIJ5Z.js";import{B as Ci,C as hi,c as di,e as pi,f as ci,g as ui,j as mi,m as gi,q as _i,r as fi}from"./chunk-P6F4VLQU.js";import{a as K}from"./chunk-DVW3AYMZ.js";import{b as J}from"./chunk-4AP7EVCQ.js";import{b as Si,e as ki}from"./chunk-IGGPDWHS.js";import{b as W}from"./chunk-IHRQI6V3.js";import{k as O,l as B,n as G,q as Q}from"./chunk-CIUT5ZJW.js";import{$b as b,Hb as P,Ka as V,Kb as _,La as $,Ma as ti,Mb as u,Pa as n,Pc as D,Qb as ni,Rb as oi,Sb as ai,Sc as ri,Wc as si,Yb as Z,Zb as c,_b as h,cb as k,h as I,hc as ii,kc as M,lc as T,ma as y,mc as li,ob as w,pb as m,qb as g,qc as r,ra as x,rc as s,sa as v,sb as z,sc as E,tb as U,ub as q,vb as C,wb as a,x as H,xb as l,yb as p}from"./chunk-A47OHR4B.js";var Hi=e=>({pluginName:e}),Oi=(e,d)=>({setting:e,value:d});function ji(e,d){e&1&&(a(0,"li"),c(1),r(2,"translate"),l(),a(3,"li"),c(4),r(5,"translate"),l()),e&2&&(n(),h(s(2,2,"plugins.manage.confirm_disable_platform_1")),n(3),h(s(5,4,"plugins.manage.confirm_disable_platform_2")))}function Fi(e,d){e&1&&(a(0,"li"),c(1),r(2,"translate"),l(),a(3,"li"),c(4),r(5,"translate"),l()),e&2&&(n(),h(s(2,2,"plugins.manage.confirm_disable_accessory_1")),n(3),h(s(5,4,"plugins.manage.confirm_disable_accessory_2")))}function zi(e,d){if(e&1&&(a(0,"ul",15),p(1,"li",16),r(2,"translate"),a(3,"ul",17),m(4,ji,6,6)(5,Fi,6,6),l()()),e&2){let i=u(2);n(),C("innerHtml",E(2,2,"plugins.manage.confirm_disable_setting",T(5,Oi,i.keepOrphansName,i.keepOrphansValue)),V),n(3),g(i.keepOrphans?4:5)}}function Ui(e,d){e&1&&(a(0,"ul",15)(1,"li"),c(2),r(3,"translate"),l(),a(4,"li"),c(5),r(6,"translate"),l()()),e&2&&(n(2),h(s(3,2,"plugins.manage.confirm_disable_accessory_1")),n(3),h(s(6,4,"plugins.manage.confirm_disable_accessory_2")))}function qi(e,d){if(e&1&&m(0,zi,6,8,"ul",15)(1,Ui,7,6,"ul",15),e&2){let i=u();g(i.isConfiguredDynamicPlatform?0:1)}}var $i=(()=>{class e{$activeModal=y(A);$translate=y(O);pluginName;isConfigured=!1;isConfiguredDynamicPlatform=!1;keepOrphans=!1;keepOrphansName=`<code>${this.$translate.instant("settings.startup.keep_accessories")}</code>`;keepOrphansValue=`<code>${this.keepOrphans}</code>`;dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(){this.$activeModal.close()}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],inputs:{pluginName:"pluginName",isConfigured:"isConfigured",isConfiguredDynamicPlatform:"isConfiguredDynamicPlatform",keepOrphans:"keepOrphans"},decls:25,vars:21,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,"mb-3","text-center"],[1,"fas","fa-circle-pause","primary-text",2,"font-size","75px"],["type","warning",1,"mb-0",3,"dismissible"],[1,"w-100","text-center","mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click"],[1,"mb-3"],[3,"innerHtml"],[1,"mb-1"]],template:function(o,t){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),c(3),l(),a(4,"button",3),r(5,"translate"),_("click",function(){return t.dismissModal()}),l()(),a(6,"div",4)(7,"div",5),p(8,"i",6),l(),m(9,qi,2,1),a(10,"ngb-alert",7)(11,"p",8),c(12),r(13,"translate"),l()()(),a(14,"div",9)(15,"div",10)(16,"button",11),r(17,"translate"),_("click",function(){return t.dismissModal()}),c(18),r(19,"translate"),l()(),p(20,"div",12),a(21,"div",13)(22,"button",14),_("click",function(){return t.closeModal()}),c(23),r(24,"translate"),l()()()()),o&2&&(n(3),h(t.pluginName),n(),w("aria-label",s(5,8,"form.button_close")),n(5),g(t.isConfigured?9:-1),n(),C("dismissible",!1),n(2),h(E(13,10,"plugins.manage.confirm_disable",M(19,Hi,t.pluginName))),n(4),w("aria-label",s(17,13,"form.button_close")),n(2),b(" ",s(19,15,"form.button_close")," "),n(5),b(" ",s(24,17,"plugins.manage.disable")," "))},dependencies:[bi,B],encapsulation:2})}return e})();var Ri=e=>({author:e});function Li(e,d){if(e&1&&(a(0,"li",9),p(1,"i",15),a(2,"a",16),c(3),l()()),e&2){let i=d.$implicit,o=u();n(),C("ngClass",o.getIconClass(i.type)),n(),C("href",i.url,$),n(),h(i.url)}}var Mi=(()=>{class e{$activeModal=y(A);plugin;fundingOptions;ngOnInit(){this.plugin.funding||this.$activeModal.close(),this.plugin.name==="homebridge-config-ui-x"&&(this.plugin.author="oznu"),Array.isArray(this.plugin.funding)?this.fundingOptions=this.plugin.funding.map(i=>{if(typeof i=="string")return{type:"other",url:i};if(typeof i=="object")return{type:i.type||"other",url:i.url}}):typeof this.plugin.funding=="string"?this.fundingOptions=[{type:"other",url:this.plugin.funding}]:typeof this.plugin.funding=="object"&&(this.fundingOptions=[{type:this.plugin.funding.type||"other",url:this.plugin.funding.url}])}getIconClass(i){switch(i.toLowerCase()){case"paypal":return"fab fa-paypal";case"github":return"fab fa-github";case"patreon":return"fab fa-patreon";case"kofi":case"ko-fi":return"fas fa-coffee";default:return"fas fa-link"}}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:28,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","pink-text","mb-3"],[1,"fas","fa-heart",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box"],[1,"list-group-item"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"me-2","primary-text","fa-xl",3,"ngClass"],["target","_blank","rel","noopener noreferrer",1,"text-break-all",3,"href"]],template:function(o,t){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),c(3),r(4,"translate"),l(),a(5,"button",3),r(6,"translate"),_("click",function(){return t.dismissModal()}),l()(),a(7,"div",4)(8,"div",5),p(9,"i",6),l(),a(10,"ul",7)(11,"li"),c(12),r(13,"translate"),l(),a(14,"li"),c(15),r(16,"translate"),l()(),a(17,"ul",8),U(18,Li,4,3,"li",9,z),l()(),a(20,"div",10),p(21,"div",11),a(22,"div",12)(23,"button",13),r(24,"translate"),_("click",function(){return t.dismissModal()}),c(25),r(26,"translate"),l()(),p(27,"div",14),l()()),o&2&&(n(3),h(E(4,6,"plugins.donate.tile_donate_to",M(19,Ri,"@"+t.plugin.author))),n(2),w("aria-label",s(6,9,"form.button_close")),n(7),h(s(13,11,"plugins.donate.message_1")),n(3),h(s(16,13,"plugins.donate.message_2")),n(3),q(t.fundingOptions),n(5),w("aria-label",s(24,15,"form.button_close")),n(2),b(" ",s(26,17,"form.button_close")," "))},dependencies:[D,B],styles:[".text-break-all[_ngcontent-%COMP%]{word-break:break-all}"]})}return e})();var Gi=(e,d)=>({"orange-text":e,"grey-text":d}),ei=e=>({opacity:e}),Qi=(e,d)=>({"green-text":e,"grey-text":d}),Wi=(e,d)=>({"purple-text":e,"grey-text":d}),Ji=(e,d)=>({scopedLink:e,verifiedLink:d});function Ki(e,d){e&1&&(a(0,"h6",18),c(1),r(2,"translate"),l(),a(3,"p",19),c(4),r(5,"translate"),l(),a(6,"p",19),c(7),r(8,"translate"),l()),e&2&&(n(),h(s(2,3,"plugins.manage.scoped_subtitle")),n(3),h(s(5,5,"plugins.manage.scoped_message")),n(3),h(s(8,7,"plugins.manage.verified_message")))}function Xi(e,d){e&1&&(a(0,"h6",18),c(1),r(2,"translate"),l(),a(3,"p",19),c(4),r(5,"translate"),l()),e&2&&(n(),h(s(2,2,"plugins.manage.verified_subtitle")),n(3),h(s(5,4,"plugins.manage.verified_message")))}function Yi(e,d){e&1&&(a(0,"h6",18),c(1),r(2,"translate"),l(),a(3,"p",19),c(4),r(5,"translate"),l()),e&2&&(n(),h(s(2,2,"plugins.manage.unverified_subtitle")),n(3),h(s(5,4,"plugins.manage.unverified_message")))}function Zi(e,d){if(e&1){let i=P();a(0,"button",20),_("click",function(){x(i);let t=u();return v(t.dismissModal())}),c(1),r(2,"translate"),l()}e&2&&(n(),b(" ",s(2,1,"form.button_close")," "))}function ie(e,d){if(e&1){let i=P();a(0,"button",20),_("click",function(){x(i);let t=u();return v(t.dismissModal())}),c(1),r(2,"translate"),l()}e&2&&(n(),b(" ",s(2,1,"form.button_close")," "))}function ee(e,d){if(e&1&&(a(0,"a",17),c(1),r(2,"translate"),p(3,"i",21),l()),e&2){let i=u();C("href",i.plugin.links.homepage||i.plugin.links.npm,$),n(),b(" ",s(2,2,"plugins.button_homepage")," ")}}var Di=(()=>{class e{$activeModal=y(A);plugin;defaultIcon="assets/hb-icon.png";linkScoped='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';linkVerified='<a href="https://github.com/homebridge/plugins/wiki/Verified-Plugins" target="_blank"><i class="fas fa-external-link-alt primary-text"></i></a>';ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:32,vars:45,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon-card",3,"error","src"],[1,"mb-1"],[1,"grey-text","mb-0","font-monospace"],[1,"grey-text","mb-1","font-monospace"],[1,"mb-3"],[1,"fas","fa-shield-alt","mb-3",2,"font-size","48px",3,"ngClass","ngStyle"],[1,"mb-0","grey-text",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"mb-2"],[1,"mb-1","grey-text"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-external-link-alt"]],template:function(o,t){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),c(3),r(4,"translate"),l(),a(5,"button",3),r(6,"translate"),_("click",function(){return t.dismissModal()}),l()(),a(7,"div",4)(8,"img",5),_("error",function(){return t.handleIconError()}),l(),a(9,"h4",6),c(10),l(),a(11,"p",7),c(12),l(),a(13,"p",8),c(14),l(),a(15,"p",9),c(16),l(),p(17,"i",10)(18,"i",10)(19,"i",10),m(20,Ki,9,9),m(21,Xi,6,6),m(22,Yi,6,6),p(23,"p",11),r(24,"translate"),l(),a(25,"div",12)(26,"div",13),m(27,Zi,3,3,"button",14),l(),a(28,"div",15),m(29,ie,3,3,"button",14),l(),a(30,"div",16),m(31,ee,4,4,"a",17),l()()()),o&2&&(n(3),h(s(4,20,"plugins.manage.information")),n(2),w("aria-label",s(6,22,"form.button_close")),n(3),C("src",t.plugin.icon,$),n(2),h(t.plugin.displayName),n(2),h(t.plugin.name),n(2),b("@",t.plugin.author),n(2),h(t.plugin.description),n(),C("ngClass",T(27,Gi,!t.plugin.verifiedPlugin&&!t.plugin.verifiedPlusPlugin,t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin))("ngStyle",M(30,ei,!t.plugin.verifiedPlugin&&!t.plugin.verifiedPlusPlugin?1:.25)),n(),C("ngClass",T(32,Qi,!t.plugin.isHbScoped&&(t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin),t.plugin.isHbScoped||!t.plugin.verifiedPlugin&&!t.plugin.verifiedPlusPlugin))("ngStyle",M(35,ei,!t.plugin.isHbScoped&&(t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin)?1:.25)),n(),C("ngClass",T(37,Wi,t.plugin.isHbScoped,!t.plugin.isHbScoped))("ngStyle",M(40,ei,t.plugin.isHbScoped?1:.25)),n(),g(t.plugin.isHbScoped?20:-1),n(),g(!t.plugin.isHbScoped&&(t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin)?21:-1),n(),g(!t.plugin.verifiedPlugin&&!t.plugin.verifiedPlusPlugin?22:-1),n(),C("innerHTML",E(24,24,"plugins.manage.more_info",T(42,Ji,t.linkScoped,t.linkVerified)),V),n(4),g(t.plugin.links.homepage||t.plugin.links.npm?27:-1),n(2),g(!t.plugin.links.homepage&&!t.plugin.links.npm?29:-1),n(2),g(t.plugin.links.homepage||t.plugin.links.npm?31:-1))},dependencies:[D,ri,B],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]})}return e})();var te=(e,d,i)=>({"purple-text":e,"green-text":d,"orange-text":i}),ne=(e,d)=>({"fa-bridge-circle-exclamation orange-text":e,"fa-bridge-circle-xmark red-text":d});function oe(e,d){if(e&1){let i=P();a(0,"a",21),r(1,"translate"),r(2,"translate"),_("click",function(){x(i);let t=u(2);return v(t.checkAndUpdatePlugin())}),p(3,"i",22),l()}e&2&&(C("openDelay",150)("ngbTooltip",s(1,3,"plugins.button_update")),w("aria-label",s(2,5,"plugins.button_update")))}function ae(e,d){if(e&1){let i=P();a(0,"a",21),r(1,"translate"),r(2,"translate"),_("click",function(){x(i);let t=u(2);return v(t.switchToScoped())}),p(3,"i",23),l()}e&2&&(C("openDelay",150)("ngbTooltip",s(1,3,"plugins.manage.scoped.switch")),w("aria-label",s(2,5,"plugins.manage.scoped.switch")))}function le(e,d){if(e&1){let i=P();a(0,"a",24),r(1,"translate"),r(2,"translate"),_("click",function(){x(i);let t=u(2);return v(t.openSettings())}),p(3,"i",25),l()}e&2&&(C("ngbTooltip",s(1,3,"plugins.button_set_up"))("openDelay",150),w("aria-label",s(2,5,"plugins.button_set_up")))}function re(e,d){if(e&1){let i=P();a(0,"a",24),r(1,"translate"),r(2,"translate"),_("click",function(){x(i);let t=u(2);return v(t.openBridgeSettings())}),p(3,"i",26),l()}e&2&&(C("ngbTooltip",s(1,3,"child_bridge.setup"))("openDelay",150),w("aria-label",s(2,5,"child_bridge.setup")))}function se(e,d){if(e&1){let i=P();a(0,"a",24),r(1,"translate"),r(2,"translate"),_("click",function(){x(i);let t=u(2);return v(t.openBridgeSettings())}),p(3,"i",27),l()}e&2&&(C("ngbTooltip",s(1,3,"child_bridge.bridge_connect"))("openDelay",150),w("aria-label",s(2,5,"child_bridge.bridge_connect")))}function de(e,d){if(e&1&&p(0,"i",20),e&2){let i=u(2);C("ngClass",T(1,ne,i.childBridgeStatus==="pending",i.childBridgeStatus==="down"))}}function pe(e,d){if(e&1&&(a(0,"div",9),m(1,oe,4,7,"a",17),m(2,ae,4,7,"a",17),m(3,le,4,7,"a",18),m(4,re,4,7,"a",18),m(5,se,4,7,"a",18),p(6,"i",19),m(7,de,1,4,"i",20),l()),e&2){let i=u();n(),g(i.plugin.installedVersion&&i.plugin.updateAvailable&&!i.childBridgeRestartInProgress?1:-1),n(),g(i.plugin.installedVersion&&(i.plugin.newHbScope==null?null:i.plugin.newHbScope.switch)===i.plugin.installedVersion&&!i.childBridgeRestartInProgress?2:-1),n(),g(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&!i.plugin.isConfigured&&!i.childBridgeRestartInProgress&&!i.plugin.disabled?3:-1),n(),g(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&i.plugin.recommendChildBridge&&!i.childBridgeRestartInProgress?4:-1),n(),g(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&i.hasUnpairedChildBridges&&i.childBridgeStatus==="ok"&&!i.plugin.disabled?5:-1),n(),C("hidden",!i.childBridgeRestartInProgress),n(),g(i.plugin.installedVersion&&(!i.plugin.newHbScope||i.plugin.newHbScope.switch!==i.plugin.installedVersion)&&!i.plugin.updateAvailable&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&!i.childBridgeRestartInProgress&&!i.hasUnpairedChildBridges&&i.childBridgeStatus!=="ok"&&!i.plugin.disabled?7:-1)}}function ce(e,d){if(e&1){let i=P();a(0,"a",11),_("click",function(){x(i);let t=u();return v(t.openFundingModal(t.plugin))}),p(1,"i",28),a(2,"span",13),c(3),l()()}if(e&2){let i=u();n(3),b("@",i.plugin.author)}}function ue(e,d){if(e&1&&(a(0,"span",13),p(1,"i",29),c(2),l()),e&2){let i=u();n(2),b("@",i.plugin.author," ")}}function me(e,d){if(e&1&&(a(0,"span"),c(1),r(2,"date"),l()),e&2){let i=u(2);n(),b("(",E(2,1,i.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function ge(e,d){if(e&1&&(a(0,"span"),p(1,"i",30),a(2,"span",13),c(3),m(4,me,3,4,"span"),l()()),e&2){let i=u();n(3),b("v",i.plugin.latestVersion," "),n(),g(i.plugin.lastUpdated?4:-1)}}function _e(e,d){if(e&1&&(p(0,"i",31),c(1)),e&2){let i=u();n(),b("v",i.plugin.installedVersion," ")}}function fe(e,d){if(e&1){let i=P();a(0,"a",21),r(1,"translate"),_("click",function(){x(i);let t=u(2);return v(t.doChildBridgeAction("restart"))}),p(2,"i",35),l()}if(e&2){let i=u(2);C("openDelay",150)("ngbTooltip",s(1,2,i.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function Ce(e,d){if(e&1){let i=P();a(0,"a",36),_("click",function(){x(i);let t=u(2);return v(t.enablePlugin(t.plugin))}),p(1,"i",37),r(2,"translate"),l()}e&2&&(n(),C("ngbTooltip",s(2,2,"plugins.status_disabled"))("openDelay",150))}function he(e,d){if(e&1){let i=P();a(0,"a",38),_("click",function(){x(i);let t=u(2);return v(t.installAlternateVersion())}),p(1,"i",39),l()}}function be(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(3);return v(t.viewPluginLog())}),p(1,"i",48),c(2),r(3,"translate"),l()}e&2&&(n(2),b(" ",s(3,1,"plugins.manage.plugin_logs")," "))}function xe(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(3);return v(t.installAlternateVersion())}),p(1,"i",49),c(2),r(3,"translate"),l()}e&2&&(n(2),b(" ",s(3,1,"plugins.manage.manage_version")," "))}function ve(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(3);return v(t.openJsonEditor())}),p(1,"i",50),c(2),r(3,"translate"),l()}e&2&&(n(2),b(" ",s(3,1,"plugins.manage.json_config")," "))}function Pe(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(3);return v(t.disablePlugin(t.plugin))}),p(1,"i",51),c(2),r(3,"translate"),l()}e&2&&(n(2),b(" ",s(3,1,"plugins.manage.disable")," "))}function ye(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(3);return v(t.enablePlugin(t.plugin))}),p(1,"i",52),c(2),r(3,"translate"),l()}e&2&&(n(2),b(" ",s(3,1,"plugins.manage.enable")," "))}function we(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(3);return v(t.uninstallPlugin())}),p(1,"i",53),c(2),r(3,"translate"),l()}e&2&&(n(2),b(" ",s(3,1,"plugins.button_uninstall")," "))}function Se(e,d){e&1&&p(0,"div",46)}function ke(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(4);return v(t.doChildBridgeAction("restart"))}),p(1,"i",56),c(2),r(3,"translate"),l()}if(e&2){let i=u(4);n(2),b(" ",s(3,1,i.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function Be(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(4);return v(t.doChildBridgeAction("stop"))}),p(1,"i",57),c(2),r(3,"translate"),l()}if(e&2){let i=u(4);n(2),b(" ",s(3,1,i.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function Te(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(4);return v(t.doChildBridgeAction("start"))}),p(1,"i",58),c(2),r(3,"translate"),l()}if(e&2){let i=u(4);n(2),b(" ",s(3,1,i.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function Ie(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(3);return v(t.openBridgeSettings())}),p(1,"i",54),c(2),r(3,"translate"),l(),m(4,ke,4,3,"button",45),m(5,Be,4,3,"button",45),m(6,Te,4,3,"button",45),a(7,"button",43),_("click",function(){x(i);let t=u(3);return v(t.resetChildBridges())}),p(8,"i",55),c(9),r(10,"translate"),l()}if(e&2){let i=u(3);n(2),b(" ",s(3,5,"child_bridge.bridge_settings")," "),n(2),g(i.childBridgeRestartInProgress?-1:4),n(),g(i.allChildBridgesStopped?-1:5),n(),g(i.allChildBridgesStopped?6:-1),n(3),b(" ",s(10,7,"child_bridge.reset_accessories")," ")}}function Ve(e,d){e&1&&p(0,"div",46)}function Ee(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(3);return v(t.openBridgeSettings())}),p(1,"i",59),c(2),r(3,"translate"),l()}e&2&&(n(2),b(" ",s(3,1,"child_bridge.setup")," "))}function $e(e,d){e&1&&p(0,"div",46)}function Me(e,d){if(e&1){let i=P();a(0,"button",43),_("click",function(){x(i);let t=u(3);return v(t.openBridgeSettings())}),p(1,"i",59),c(2),r(3,"translate"),l()}e&2&&(n(2),b(" ",s(3,1,"child_bridge.setup")," "))}function De(e,d){e&1&&p(0,"div",46)}function Ae(e,d){if(e&1&&(a(0,"a",47),p(1,"i",60),c(2),r(3,"translate"),l()),e&2){let i=u(3);C("href",i.plugin.links.bugs,$),n(2),b(" ",s(3,2,"support.links.issue")," ")}}function Ne(e,d){if(e&1){let i=P();a(0,"span",34)(1,"a",40),p(2,"i",41),l(),a(3,"div",42)(4,"button",43),_("click",function(){x(i);let t=u(2);return v(t.openSettings())}),p(5,"i",44),c(6),r(7,"translate"),l(),m(8,be,4,3,"button",45),m(9,xe,4,3,"button",45),m(10,ve,4,3,"button",45),m(11,Pe,4,3,"button",45),m(12,ye,4,3,"button",45),m(13,we,4,3,"button",45),m(14,Se,1,0,"div",46),m(15,Ie,11,9),m(16,Ve,1,0,"div",46),m(17,Ee,4,3,"button",45),m(18,$e,1,0,"div",46),m(19,Me,4,3,"button",45),m(20,De,1,0,"div",46),m(21,Ae,4,4,"a",47),l()()}if(e&2){let i=u(2);n(),w("aria-label","Plugin Actions Dropdown"),n(5),b(" ",s(7,16,"plugins.button_settings")," "),n(2),g(i.plugin.isConfigured&&!i.plugin.disabled?8:-1),n(),g(i.plugin.publicPackage?9:-1),n(),g(!i.isMobile&&i.plugin.name!=="homebridge-config-ui-x"?10:-1),n(),g(i.plugin.name!=="homebridge-config-ui-x"&&!i.plugin.disabled?11:-1),n(),g(i.plugin.name!=="homebridge-config-ui-x"&&i.plugin.disabled?12:-1),n(),g(i.plugin.name!=="homebridge-config-ui-x"?13:-1),n(),g(!i.plugin.disabled&&i.plugin.isConfigured&&i.plugin.hasChildBridges&&i.plugin.installedVersion&&i.plugin.name!=="homebridge-config-ui-x"?14:-1),n(),g(i.plugin.hasChildBridges&&!i.plugin.disabled?15:-1),n(),g(i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&!i.plugin.recommendChildBridge?16:-1),n(),g(i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&!i.plugin.recommendChildBridge?17:-1),n(),g(i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&i.plugin.recommendChildBridge&&i.plugin.updateAvailable?18:-1),n(),g(i.plugin.isConfigured&&!i.plugin.hasChildBridges&&!i.plugin.disabled&&i.plugin.recommendChildBridge&&i.plugin.updateAvailable?19:-1),n(),g(i.plugin.links!=null&&i.plugin.links.bugs?20:-1),n(),g(i.plugin.links!=null&&i.plugin.links.bugs?21:-1)}}function He(e,d){if(e&1&&(a(0,"div",9),m(1,fe,3,4,"a",17),m(2,Ce,3,4,"a",32),m(3,he,2,0,"a",33),m(4,Ne,22,18,"span",34),l()),e&2){let i=u();n(),g(!i.plugin.disabled&&i.plugin.hasChildBridges&&i.childBridgeStatus==="ok"?1:-1),n(),g(i.plugin.installedVersion&&i.plugin.disabled?2:-1),n(),g(i.plugin.publicPackage&&!i.plugin.installedVersion?3:-1),n(),g(i.plugin.installedVersion?4:-1)}}var Ai=(()=>{class e{$api=y(Q);$auth=y(J);$md=y(Ii);$modal=y(R);$plugin=y(X);$settings=y(W);$toastr=y(G);$translate=y(O);$ws=y(K);io;plugin;hasChildBridges=!1;hasUnpairedChildBridges=!1;allChildBridgesStopped=!1;childBridgeStatus="pending";childBridgeRestartInProgress=!1;defaultIcon="assets/hb-icon.png";isMobile;setChildBridges=[];isAdmin=this.$auth.user.admin;set childBridges(i){this.hasChildBridges=i.length>0;let o=new Set(this.$settings.env.plugins?.hidePairingAlerts||[]);this.hasUnpairedChildBridges=i.some(t=>{let f=`${t.username}-hap`,S=`${t.username}-matter`,N=t.paired===!1&&!o.has(f.toUpperCase()),Y=t.matterConfig&&t.matterCommissioned===!1&&!o.has(S.toUpperCase());return N||Y}),this.allChildBridgesStopped=i.every(t=>t.manuallyStopped===!0),this.hasChildBridges&&(i.some(t=>t.status==="down")?this.childBridgeStatus="down":i.some(t=>t.status==="pending")?this.childBridgeStatus="pending":i.some(t=>t.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=i}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.isMobile&&this.plugin.displayName.toLowerCase().startsWith("homebridge ")&&(this.plugin.displayName=this.plugin.displayName.replace(/^homebridge /i,"")),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(i){let o=this.$modal.open(Mi,{size:"lg",backdrop:"static"});o.componentInstance.plugin=i}pluginInfoModal(i){let o=this.$modal.open(Di,{size:"lg",backdrop:"static"});o.componentInstance.plugin=i}disablePlugin(i){let o=this.$modal.open($i,{size:"lg",backdrop:"static"});o.componentInstance.pluginName=i.displayName,o.componentInstance.isConfigured=i.isConfigured,o.componentInstance.isConfiguredDynamicPlatform=i.isConfiguredDynamicPlatform,o.componentInstance.keepOrphans=this.$settings.keepOrphans,o.result.then(()=>I(this,null,function*(){try{yield H(this.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/disable`,{})),i.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open(j,{size:"lg",backdrop:"static"})}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}))}enablePlugin(i){let o=this.$modal.open(Bi,{size:"lg",backdrop:"static"});o.componentInstance.title=i.name,o.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:i.displayName}),o.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),o.componentInstance.faIconClass="fa-circle-play primary-text",o.result.then(()=>I(this,null,function*(){try{yield H(this.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/enable`,{})),i.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open(j,{size:"lg",backdrop:"static"})}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}))}viewPluginLog(){let i=this.$modal.open(Vi,{size:"xl",backdrop:"static"});i.componentInstance.plugin=this.plugin,i.componentInstance.childBridges=this.setChildBridges}doChildBridgeAction(i){return I(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let o of this.setChildBridges)yield H(this.io.request(`${i}-child-bridge`,o.username))}catch(o){console.error(o),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:i}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{this.childBridgeRestartInProgress=!1},i==="restart"?12e3:i==="stop"?6e3:1e3)}})}handleIconError(){this.plugin.icon=this.defaultIcon}checkAndUpdatePlugin(){this.$plugin.checkAndUpdatePlugin(this.plugin,this.plugin.latestVersion)}openSettings(){this.$plugin.settings(this.plugin)}openBridgeSettings(){this.$plugin.bridgeSettings(this.plugin)}switchToScoped(){this.$plugin.switchToScoped(this.plugin)}installAlternateVersion(){this.$plugin.installAlternateVersion(this.plugin)}openJsonEditor(){this.$plugin.jsonEditor(this.plugin)}uninstallPlugin(){this.$plugin.uninstallPlugin(this.plugin,this.setChildBridges)}resetChildBridges(){this.$plugin.resetChildBridges(this.setChildBridges)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:24,vars:14,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","me-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ms-auto"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-shield-alt","fa-lg","me-1",3,"ngClass"],[1,"grey-text"],[1,"card-text","mb-2"],["href","javascript:void(0)",1,"card-link"],[1,"card-text","mb-0","grey-text"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"openDelay","ngbTooltip"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"ngbTooltip","openDelay"],[1,"fas","fa-spinner","fa-pulse","fa-lg","grey-text","ms-3",3,"hidden"],[1,"fas","fa-lg","ms-3",3,"ngClass"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","openDelay","ngbTooltip"],[1,"far","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],["href","javascript:void(0)","container","body","triggers","hover",1,"card-link",3,"click","ngbTooltip","openDelay"],[1,"fas","fa-sliders","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-bridge","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-qrcode","primary-text","fa-lg","fa-fade","ms-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-heart","fa-lg","me-1","pink-text"],[1,"fas","fa-heart","fa-lg","me-1",2,"opacity","0.5"],[1,"far","fa-circle-dot","fa-lg","me-1"],[1,"far","fa-circle-check","fa-lg","me-1"],["href","javascript:void(0)",1,"card-link","red-text"],["href","javascript:void(0)"],["ngbDropdown","","placement","left",1,"d-inline-block","ms-3","mt-auto"],[1,"fas","fa-lg","fa-power-off","ms-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","triggers","hover",1,"far","fa-pause-circle","fa-lg",3,"ngbTooltip","openDelay"],["href","javascript:void(0)",3,"click"],[1,"far","fa-arrow-alt-circle-down","fa-lg"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-sliders"],["ngbDropdownItem",""],[1,"dropdown-divider"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"fas","fa-wave-square"],[1,"fas","fa-code-compare"],[1,"fas","fa-code"],[1,"far","fa-circle-pause"],[1,"far","fa-circle-play"],[1,"fas","fa-trash"],[1,"fas","fa-bridge"],[1,"fas","fa-broom"],[1,"icon-button","fas","fa-power-off"],[1,"fas","fa-stop"],[1,"fas","fa-play"],[1,"icon-button","fas","fa-bridge"],[1,"icon-button","fa","fa-question-circle-o"]],template:function(o,t){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),_("error",function(){return t.handleIconError()}),l()(),a(4,"div",4)(5,"div",5)(6,"div",6)(7,"div",7)(8,"h5",8),c(9),l(),m(10,pe,8,7,"div",9),l(),a(11,"p",10)(12,"a",11),_("click",function(){return t.pluginInfoModal(t.plugin)}),p(13,"i",12),a(14,"span",13),c(15),l()()(),a(16,"p",14),m(17,ce,4,1,"a",15),m(18,ue,3,1,"span",13),l(),a(19,"div",7)(20,"p",16),m(21,ge,5,2,"span"),m(22,_e,2,1),l(),m(23,He,5,4,"div",9),l()()()()()()),o&2&&(n(3),C("src",t.plugin.icon,$),n(6),h(t.plugin.displayName),n(),g(t.isAdmin?10:-1),n(3),C("ngClass",li(10,te,t.plugin.isHbScoped,!t.plugin.isHbScoped&&(t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin),!t.plugin.isHbScoped&&!t.plugin.verifiedPlugin&&!t.plugin.verifiedPlusPlugin)),n(2),h(t.plugin.name),n(2),g((t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin)&&t.plugin.funding?17:-1),n(),g((t.plugin.verifiedPlugin||t.plugin.verifiedPlusPlugin)&&t.plugin.funding?-1:18),n(3),g(t.plugin.publicPackage&&!t.plugin.installedVersion?21:-1),n(),g(t.plugin.installedVersion?22:-1),n(),g(t.isAdmin?23:-1))},dependencies:[L,D,wi,yi,Pi,vi,xi,si,B],encapsulation:2})}return e})();var Ni=(()=>{class e{$activeModal=y(A);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],decls:28,vars:21,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"mb-0"],[3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"]],template:function(o,t){o&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),c(4),r(5,"translate"),l(),a(6,"button",3),r(7,"translate"),_("click",function(){return t.dismissModal()}),l()(),a(8,"div",4)(9,"div",5),p(10,"i",6),l(),a(11,"ul",7),p(12,"li",8),r(13,"translate"),p(14,"li",8),r(15,"translate"),p(16,"li",8),r(17,"translate"),p(18,"li",8),r(19,"translate"),l(),p(20,"app-support-banner"),l(),a(21,"div",9),p(22,"div",10),a(23,"div",11)(24,"button",12),_("click",function(){return t.dismissModal()}),c(25),r(26,"translate"),l()(),p(27,"div",13),l()()()),o&2&&(n(4),h(s(5,7,"support.title")),n(2),w("aria-label",s(7,9,"form.button_close")),n(6),C("innerHTML",s(13,11,"plugins.support.list_1"),V),n(2),C("innerHTML",s(15,13,"plugins.support.list_2"),V),n(2),C("innerHTML",s(17,15,"plugins.support.list_3"),V),n(2),C("innerHTML",s(19,17,"plugins.support.list_4"),V),n(7),b(" ",s(26,19,"form.button_close")," "))},dependencies:[Ei,B],encapsulation:2})}return e})();var Oe=["searchInput"],je=(e,d)=>({"fa-magnifying-glass":e,"fa-exclamation-circle":d});function Fe(e,d){e&1&&p(0,"app-spinner")}function ze(e,d){if(e&1){let i=P();a(0,"button",7),r(1,"translate"),r(2,"translate"),_("click",function(){x(i);let t=u();return v(t.showSearch())}),p(3,"i"),l(),a(4,"button",8),r(5,"translate"),r(6,"translate"),_("click",function(){x(i);let t=u();return v(t.showStats())}),p(7,"i"),l()}if(e&2){let i=u();C("openDelay",150)("ngbTooltip",s(1,13,"form.search"))("hidden",!i.installedPlugins.length&&!i.showSearchBar),w("aria-label",s(2,15,"form.search")),n(3),Z(ii("fas",i.showSearchBar?" primary-text":""," fa-search")),n(),C("openDelay",150)("ngbTooltip",s(5,17,"plugins.stats")),w("aria-label",s(6,19,"plugins.stats")),n(3),Z(ii("fas",i.tab==="stats"?" primary-text":""," fa-sliders"))}}function Ue(e,d){if(e&1){let i=P();a(0,"a",15),_("click",function(){x(i);let t=u(3);return v(t.onClearSearch())}),p(1,"i",16),l()}}function qe(e,d){if(e&1){let i=P();a(0,"div",9)(1,"div",11)(2,"form",12),_("ngSubmit",function(){x(i);let t=u(2);return v(t.onSubmit(t.form))}),p(3,"input",13,0),r(5,"translate"),m(6,Ue,2,0,"a",14),l()()()}if(e&2){let i=u(2);n(2),C("formGroup",i.form),n(),C("placeholder",s(5,3,"plugins.placeholder_search_plugin")),n(3),g(i.showExitButton?6:-1)}}function Re(e,d){if(e&1&&(a(0,"div",17),p(1,"app-plugin-card",19),l()),e&2){let i=d.$implicit,o=u(3);n(),C("plugin",i)("childBridges",o.getPluginChildBridges(i))}}function Le(e,d){if(e&1&&(a(0,"div",18),p(1,"i",20),a(2,"p"),c(3),r(4,"translate"),l()()),e&2){let i=u(3);n(),C("ngClass",T(4,je,!i.showExitButton,i.showExitButton)),n(2),h(s(4,2,i.showExitButton?"plugins.placeholder_search_none":"plugins.placeholder_search_first"))}}function Ge(e,d){if(e&1&&(a(0,"div",10),U(1,Re,2,2,"div",17,z),m(3,Le,5,7,"div",18),l()),e&2){let i=u(2);n(),q(i.installedPlugins),n(2),g(i.installedPlugins.length===0&&!i.loading&&!i.mainError?3:-1)}}function Qe(e,d){if(e&1&&(m(0,qe,7,5,"div",9),m(1,Ge,4,1,"div",10)),e&2){let i=u();g(i.showSearchBar?0:-1),n(),g(i.loading?-1:1)}}function We(e,d){e&1&&(a(0,"div",21)(1,"div",22)(2,"code"),c(3,"https://developers.homebridge.io/analytics "),a(4,"a",23),p(5,"i",24),l()()(),a(6,"div",25),c(7),r(8,"translate"),l()(),p(9,"iframe",26)),e&2&&(n(7),h(s(8,1,"plugins.stats_note")))}var pn=(()=>{class e{searchInput;$api=y(Q);$auth=y(J);$modal=y(R);$plugin=y(X);$router=y(ki);$settings=y(W);$toastr=y(G);$translate=y(O);$ws=y(K);isSearchMode=!1;io;navigationSubscription;mainError=!1;loading=!0;tab="main";installedPlugins=[];childBridges=[];showSearchBar=!1;showExitButton=!1;isAdmin=this.$auth.user.admin;form=new ui({query:new mi("")});ngOnInit(){return I(this,null,function*(){let i=this.$translate.instant("menu.label_plugins");this.$settings.setPageTitle(i),this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>I(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),yield this.loadInstalledPlugins(),this.installedPlugins.length||this.showSearch();let{action:o,plugin:t}=this.$router.parseUrl(this.$router.url).queryParams;if(o){let f=this.installedPlugins.find(S=>S.name===t);switch(o){case"just-installed":{f&&(f.isConfigured?this.$modal.open(j,{size:"lg",backdrop:"static"}):this.$plugin.settings(f));break}case"open-manage-version":{f&&this.$plugin.installAlternateVersion(f);break}}this.$router.navigate([],{queryParams:{},replaceUrl:!0,queryParamsHandling:""})}})),this.io.socket.on("child-bridge-status-update",o=>{let t=this.childBridges.find(f=>f.username===o.username);t?Object.assign(t,o):this.childBridges.push(o)}),this.navigationSubscription=this.$router.events.subscribe(o=>{o instanceof Si&&this.loadInstalledPlugins()})})}search(){this.installedPlugins=[],this.loading=!0,this.showExitButton=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:i=>{let o=new Set,t=new Map(i.map(f=>[f.name,f]));this.installedPlugins=i.reduce((f,S)=>{if(S.name==="homebridge-config-ui-x"||o.has(S.name))return f;if(S.newHbScope){let N=S.newHbScope.to,Y=t.has(N);(S.installedVersion||!Y)&&(o.add(N),f.push(S))}else f.push(S);return f},[]),this.appendMetaInfo(),this.loading=!1},error:i=>{this.loading=!1,this.isSearchMode=!1,console.error(i),this.$toastr.error(i.error?.message||i.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.loadInstalledPlugins()}onSubmit({value:i}){i.query.length?(this.isSearchMode=!0,this.search()):this.isSearchMode&&(this.isSearchMode=!1,this.loadInstalledPlugins())}showSearch(){this.showSearchBar?(this.showSearchBar=!1,this.isSearchMode&&(this.isSearchMode=!1,this.form.setValue({query:""}),this.loadInstalledPlugins())):(window.document.querySelector("body").classList.remove("bg-black"),this.tab="main",this.showSearchBar=!0,setTimeout(()=>this.searchInput.nativeElement.focus(),0))}showStats(){this.tab==="stats"?(window.document.querySelector("body").classList.remove("bg-black"),this.tab="main"):(window.document.querySelector("body").classList.add("bg-black"),this.tab="stats",this.showSearchBar=!1)}openSupport(){this.$modal.open(Ni,{size:"lg",backdrop:"static"})}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}getPluginChildBridges(i){return this.childBridges.filter(o=>o.plugin===i.name)}loadInstalledPlugins(){return I(this,null,function*(){this.form.setValue({query:""}),this.showExitButton=!1,this.installedPlugins=[],this.loading=!0,this.mainError=!1;try{let i=yield H(this.$api.get("/plugins"));this.installedPlugins=i.filter(t=>t.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let o=this.installedPlugins.sort((t,f)=>{let S=(t.updateAvailable?1e3:0)+(t.newHbScope?100:0)+(t.disabled?-10:0)+(t.isConfigured?-20:0)+(t.hasChildBridgesUnpaired?5:0)+(t.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0),N=(f.updateAvailable?1e3:0)+(f.newHbScope?100:0)+(f.disabled?-10:0)+(f.isConfigured?-20:0)+(f.hasChildBridgesUnpaired?5:0)+(f.hasChildBridges&&this.$settings.env.recommendChildBridges?-1:0);return S!==N?N-S:t.name.localeCompare(f.name)});return this.loading=!1,o}catch(i){console.error(i),this.loading=!1,this.mainError=!0,this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}appendMetaInfo(){return I(this,null,function*(){this.isAdmin&&(yield Promise.all(this.installedPlugins.filter(i=>i.installedVersion).map(i=>I(this,null,function*(){try{let o=yield H(this.$api.get(`/config-editor/plugin/${encodeURIComponent(i.name)}`));i.isConfigured=o.length>0,i.isConfiguredDynamicPlatform=i.isConfigured&&Object.prototype.hasOwnProperty.call(o[0],"platform"),i.recommendChildBridge=i.isConfigured&&this.$settings.env.recommendChildBridges&&!["homebridge","homebridge-config-ui-x"].includes(i.name),i.hasChildBridges=i.isConfigured&&o.some(f=>f._bridge&&f._bridge.username);let t=this.getPluginChildBridges(i);i.hasChildBridgesUnpaired=t.some(f=>!f.paired),this.$settings.env.plugins?.hideUpdatesFor?.includes(i.name)&&(i.updateAvailable=!1)}catch{i.isConfigured=!0,i.hasChildBridges=!0}}))))})}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(i=>{this.childBridges=i})}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],viewQuery:function(o,t){if(o&1&&ni(Oe,5),o&2){let f;oi(f=ai())&&(t.searchInput=f.first)}},decls:13,vars:9,consts:[["searchInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip","hidden"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2","d-none","d-md-inline-block",3,"click","openDelay","ngbTooltip"],[1,"row"],[1,"d-flex","flex-wrap","justify-content-between"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"search-bar",3,"placeholder"],["href","javascript:void(0)",1,"search-bar-clear"],["href","javascript:void(0)",1,"search-bar-clear",3,"click"],[1,"fas","fa-square-xmark"],[1,"hb-plugin-space-between"],[1,"alert","alert-info","mt-4","text-center","w-100"],[3,"plugin","childBridges"],[1,"fas","primary-text","my-3",2,"font-size","75px",3,"ngClass"],[1,"w-100","py-3","hb-stats-header","text-white","text-center"],[1,"mb-2"],["href","https://developers.homebridge.io/analytics","target","_blank"],[1,"fa","fa-external-link"],[1,"small","grey-text"],["src",ti`https://developers.homebridge.io/analytics/`,"sandbox","allow-scripts allow-same-origin allow-popups","referrerpolicy","no-referrer",1,"hb-stats"]],template:function(o,t){o&1&&(m(0,Fe,1,0,"app-spinner"),a(1,"div",1)(2,"div",2)(3,"h3",3),c(4),r(5,"translate"),l()(),a(6,"div",4),m(7,ze,8,21),a(8,"button",5),r(9,"translate"),_("click",function(){return t.openSupport()}),p(10,"i",6),l()()(),m(11,Qe,2,2)(12,We,10,3)),o&2&&(g(t.loading?0:-1),n(4),h(s(5,5,"menu.label_plugins")),n(3),g(t.isAdmin?7:-1),n(),w("aria-label",s(9,7,"support.title")),n(3),g(t.tab==="main"?11:t.tab==="stats"?12:-1))},dependencies:[Ti,Ci,gi,di,pi,ci,hi,_i,fi,Ai,D,L,B],styles:[".search-bar[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media (hover: hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.search-bar-clear[_ngcontent-%COMP%]{position:absolute;right:30px;font-size:25px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width: 991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}.hb-stats-header[_ngcontent-%COMP%]{background:#242424;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.hb-stats-header[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{border:1px solid grey;border-radius:5px;padding:5px;font-size:.8rem;color:#d3d3d3}.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 121px);width:100%;overflow:hidden;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}@media (max-width: 767px){.hb-stats[_ngcontent-%COMP%]{height:calc(100% - 60px)}}"]})}return e})();export{pn as PluginsComponent};
@@ -1 +0,0 @@
1
- import{a as B}from"./chunk-OSJXXALI.js";import{n as $,t as k}from"./chunk-3KTHIJ5Z.js";import"./chunk-P6F4VLQU.js";import{e as P}from"./chunk-IGGPDWHS.js";import{b as V}from"./chunk-IHRQI6V3.js";import{k as y,l as T,n as I,q as O}from"./chunk-CIUT5ZJW.js";import{$b as d,Hb as b,Kb as m,Mb as h,Pa as i,Zb as c,_b as S,cb as x,ma as p,pb as f,qb as v,qc as a,ra as u,rc as s,sa as _,vb as g,wb as o,xb as r,yb as C}from"./chunk-A47OHR4B.js";function H(e,w){if(e&1){let t=b();o(0,"p",5)(1,"button",6),m("click",function(){u(t);let n=h();return _(n.restartServer())}),c(2),a(3,"translate"),r()()}e&2&&(i(2),d(" ",s(3,1,"menu.linux.label_restart_server")," "))}function D(e,w){if(e&1){let t=b();o(0,"p",5)(1,"button",6),m("click",function(){u(t);let n=h();return _(n.shutdownServer())}),c(2),a(3,"translate"),r()()}e&2&&(i(2),d(" ",s(3,1,"menu.linux.label_shutdown_server")," "))}function R(e,w){if(e&1){let t=b();o(0,"p",5)(1,"button",6),m("click",function(){u(t);let n=h();return _(n.dockerRestartContainer())}),c(2),a(3,"translate"),r()()}e&2&&(i(2),d(" ",s(3,1,"menu.docker.restart_container")," "))}var K=(()=>{class e{$api=p(O);$modal=p($);$router=p(P);$settings=p(V);$toastr=p(I);$translate=p(y);canShutdownRestartHost=this.$settings.env.canShutdownRestartHost;runningInDocker=this.$settings.env.runningInDocker;ngOnInit(){let t=this.$translate.instant("menu.restart.title");this.$settings.setPageTitle(t)}restartHomebridge(){this.$router.navigate(["/restart"])}restartHomebridgeService(){this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{this.$router.navigate(["/restart"])},error:t=>{console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}restartServer(){this.$router.navigate(["/platform-tools/linux/restart-server"])}shutdownServer(){let t=this.$modal.open(B,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("menu.linux.label_shutdown_server"),t.componentInstance.message=this.$translate.instant("menu.linux.label_shutdown_modal"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_continue"),t.componentInstance.faIconClass="fa fa-power-off primary-text",t.result.then(()=>{this.$router.navigate(["/platform-tools/linux/shutdown-server"])}).catch(()=>{})}dockerRestartContainer(){this.$router.navigate(["/platform-tools/docker/restart-container"])}static \u0275fac=function(l){return new(l||e)};static \u0275cmp=x({type:e,selectors:[["ng-component"]],decls:19,vars:16,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fas","fa-power-off",2,"font-size","75px"],[1,"w-100","text-center","my-5"],["type","button",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click"],["type","button","container","body","triggers","hover",1,"btn","btn-primary","p-3","my-0",2,"width","85%",3,"click","openDelay","ngbTooltip"]],template:function(l,n){l&1&&(o(0,"div",0)(1,"h3",1),c(2),a(3,"translate"),r()(),o(4,"div",2)(5,"div",3),C(6,"i",4),r(),o(7,"p",5)(8,"button",6),m("click",function(){return n.restartHomebridge()}),c(9),a(10,"translate"),r()(),o(11,"p",5)(12,"button",7),a(13,"translate"),m("click",function(){return n.restartHomebridgeService()}),c(14),a(15,"translate"),r()(),f(16,H,4,3,"p",5),f(17,D,4,3,"p",5),f(18,R,4,3,"p",5),r()),l&2&&(i(2),S(s(3,8,"menu.restart.title")),i(7),d(" ",s(10,10,"menu.hbrestart.confirm_hb")," "),i(3),g("openDelay",150)("ngbTooltip",s(13,12,"reset.force_restart_hb_help_text")),i(2),d(" ",s(15,14,"menu.hbrestart.confirm_ui")," "),i(2),v(n.canShutdownRestartHost?16:-1),i(),v(n.canShutdownRestartHost?17:-1),i(),v(n.runningInDocker?18:-1))},dependencies:[k,T],encapsulation:2})}return e})();export{K as PowerOptionsComponent};
@@ -1 +0,0 @@
1
- import{a as s}from"./chunk-XZPAZCNK.js";import"./chunk-KWY6IF3R.js";import"./chunk-HUBB6BG5.js";import"./chunk-JSZUK6ZC.js";import"./chunk-3KTHIJ5Z.js";import"./chunk-P6F4VLQU.js";import"./chunk-DVW3AYMZ.js";import"./chunk-4AP7EVCQ.js";import{h as i}from"./chunk-IGGPDWHS.js";import"./chunk-IHRQI6V3.js";import"./chunk-CIUT5ZJW.js";import{db as t,ia as e}from"./chunk-A47OHR4B.js";var u=[{path:"",loadComponent:()=>import("./chunk-XDPLQ2FO.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};