homebridge-config-ui-x 5.0.0-beta.7 → 5.0.0-beta.71

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 (317) hide show
  1. package/CHANGELOG.md +407 -31
  2. package/CONTRIBUTING.md +5 -4
  3. package/LICENSE +1 -1
  4. package/config.schema.json +34 -144
  5. package/dist/bin/hb-service.d.ts +2 -2
  6. package/dist/bin/hb-service.js +51 -50
  7. package/dist/bin/hb-service.js.map +1 -1
  8. package/dist/bin/platforms/darwin.js +2 -2
  9. package/dist/bin/platforms/darwin.js.map +1 -1
  10. package/dist/bin/platforms/win32.js +4 -2
  11. package/dist/bin/platforms/win32.js.map +1 -1
  12. package/dist/bin/standalone.js +1 -0
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +2 -2
  15. package/dist/core/auth/auth.controller.js.map +1 -1
  16. package/dist/core/auth/auth.module.js +1 -1
  17. package/dist/core/auth/auth.module.js.map +1 -1
  18. package/dist/core/auth/auth.service.js +10 -10
  19. package/dist/core/auth/auth.service.js.map +1 -1
  20. package/dist/core/auth/jwt.strategy.d.ts +3 -1
  21. package/dist/core/config/config.service.d.ts +4 -6
  22. package/dist/core/config/config.service.js +9 -9
  23. package/dist/core/config/config.service.js.map +1 -1
  24. package/dist/core/config/config.startup.js +2 -2
  25. package/dist/core/config/config.startup.js.map +1 -1
  26. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  27. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  28. package/dist/index.js +6 -77
  29. package/dist/index.js.map +1 -1
  30. package/dist/main.js +1 -1
  31. package/dist/main.js.map +1 -1
  32. package/dist/modules/accessories/accessories.controller.js +5 -5
  33. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  34. package/dist/modules/accessories/accessories.service.js +8 -7
  35. package/dist/modules/accessories/accessories.service.js.map +1 -1
  36. package/dist/modules/backup/backup.controller.js +7 -7
  37. package/dist/modules/backup/backup.controller.js.map +1 -1
  38. package/dist/modules/backup/backup.service.js +19 -79
  39. package/dist/modules/backup/backup.service.js.map +1 -1
  40. package/dist/modules/child-bridges/child-bridges.service.js +0 -7
  41. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  42. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  43. package/dist/modules/config-editor/config-editor.controller.js +8 -8
  44. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  45. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  46. package/dist/modules/config-editor/config-editor.service.js +62 -64
  47. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  48. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
  49. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +13 -11
  50. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  51. package/dist/modules/log/log.gateway.d.ts +2 -1
  52. package/dist/modules/log/log.gateway.js.map +1 -1
  53. package/dist/modules/log/log.service.js +3 -3
  54. package/dist/modules/log/log.service.js.map +1 -1
  55. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  56. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  57. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  58. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  59. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +3 -3
  60. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  61. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  62. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  63. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  64. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  65. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  66. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  67. package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
  68. package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
  69. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  70. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  71. package/dist/modules/plugins/plugins.controller.js +4 -4
  72. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  73. package/dist/modules/plugins/plugins.service.d.ts +4 -1
  74. package/dist/modules/plugins/plugins.service.js +168 -103
  75. package/dist/modules/plugins/plugins.service.js.map +1 -1
  76. package/dist/modules/server/server.controller.d.ts +22 -2
  77. package/dist/modules/server/server.controller.js +86 -18
  78. package/dist/modules/server/server.controller.js.map +1 -1
  79. package/dist/modules/server/server.service.d.ts +24 -6
  80. package/dist/modules/server/server.service.js +165 -66
  81. package/dist/modules/server/server.service.js.map +1 -1
  82. package/dist/modules/status/status.controller.d.ts +0 -1
  83. package/dist/modules/status/status.controller.js +3 -4
  84. package/dist/modules/status/status.controller.js.map +1 -1
  85. package/dist/modules/status/status.gateway.d.ts +1 -1
  86. package/dist/modules/status/status.service.d.ts +1 -1
  87. package/dist/modules/status/status.service.js +17 -41
  88. package/dist/modules/status/status.service.js.map +1 -1
  89. package/dist/modules/users/users.controller.js +7 -7
  90. package/dist/modules/users/users.controller.js.map +1 -1
  91. package/dist/self-check.js +6 -6
  92. package/dist/self-check.js.map +1 -1
  93. package/package.json +45 -43
  94. package/public/3rdpartylicenses.txt +145 -62
  95. package/public/assets/hap-icons/airpurifier.svg +49 -16
  96. package/public/assets/hap-icons/airquality.svg +24 -13
  97. package/public/assets/hap-icons/co-sensor.svg +72 -0
  98. package/public/assets/hap-icons/co2-sensor.svg +72 -0
  99. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  100. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  101. package/public/assets/hap-icons/door-closed.svg +32 -2
  102. package/public/assets/hap-icons/door-open.svg +48 -2
  103. package/public/assets/hap-icons/fan-off.svg +24 -13
  104. package/public/assets/hap-icons/fan-on.svg +24 -13
  105. package/public/assets/hap-icons/garagedoor.svg +24 -13
  106. package/public/assets/hap-icons/humidity.svg +24 -13
  107. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  108. package/public/assets/hap-icons/leaksensor.svg +52 -2
  109. package/public/assets/hap-icons/light.svg +47 -28
  110. package/public/assets/hap-icons/lightbulb.svg +24 -13
  111. package/public/assets/hap-icons/lock-locked.svg +24 -13
  112. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  113. package/public/assets/hap-icons/motionsensor.svg +100 -2
  114. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  115. package/public/assets/hap-icons/outlet.svg +24 -13
  116. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  117. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  118. package/public/assets/hap-icons/smokesensor.svg +42 -9
  119. package/public/assets/hap-icons/speaker.svg +29 -13
  120. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  121. package/public/assets/hap-icons/switch.svg +24 -13
  122. package/public/assets/hap-icons/television.svg +15 -4
  123. package/public/assets/hap-icons/temperature.svg +24 -13
  124. package/public/assets/hap-icons/unknown.svg +24 -13
  125. package/public/assets/hap-icons/valve-generic.svg +27 -16
  126. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  127. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  128. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  129. package/public/assets/hap-icons/window-closed.svg +85 -2
  130. package/public/assets/hap-icons/window-open.svg +136 -2
  131. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  132. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  133. package/public/assets/homebridge-color-round.svg +36 -1
  134. package/public/assets/homebridge-logo.svg +11 -1
  135. package/public/assets/mask-icon.svg +5 -1
  136. package/public/{chunk-7EUQWCP5.js → chunk-2FGEOEQD.js} +2 -2
  137. package/public/chunk-2OBPFCY2.js +1 -0
  138. package/public/chunk-2SXSAYFM.js +1 -0
  139. package/public/chunk-3EHBMPWY.js +6 -0
  140. package/public/{chunk-WNWWUCCZ.js → chunk-3VIG5M5R.js} +3 -3
  141. package/public/chunk-4CHNDLJI.js +1 -0
  142. package/public/chunk-4NDOCFGG.js +1 -0
  143. package/public/chunk-4WTLH2XC.js +1 -0
  144. package/public/{chunk-6TCHCTXZ.js → chunk-4XCUHCZU.js} +1 -1
  145. package/public/chunk-5CVOEJKH.js +1 -0
  146. package/public/chunk-5K7NARQK.js +20 -0
  147. package/public/chunk-5PQJRA5G.js +1 -0
  148. package/public/chunk-5T7JAJJE.js +1 -0
  149. package/public/chunk-752FLZDX.js +1 -0
  150. package/public/chunk-A2LWX7FC.js +1 -0
  151. package/public/chunk-AK4S37TG.js +1 -0
  152. package/public/chunk-ASBFWS7L.js +2 -0
  153. package/public/chunk-AWX3JVVV.js +1 -0
  154. package/public/chunk-AXOQXZMS.js +1 -0
  155. package/public/chunk-B4ZMGETB.js +1 -0
  156. package/public/chunk-C53ZM5K2.js +1 -0
  157. package/public/chunk-CAAUHMGY.js +1 -0
  158. package/public/chunk-CWBE5JGC.js +1 -0
  159. package/public/chunk-DJ7A6WCT.js +1 -0
  160. package/public/chunk-DJKI5XBW.js +1 -0
  161. package/public/chunk-ECZONFVO.js +1 -0
  162. package/public/chunk-EO357XL5.js +1 -0
  163. package/public/chunk-EWHDFFHL.js +1 -0
  164. package/public/chunk-F2OGU5FW.js +1 -0
  165. package/public/chunk-F6QHMWSD.js +1 -0
  166. package/public/{chunk-QE7DO6J3.js → chunk-FHMZVMZK.js} +2 -2
  167. package/public/chunk-FPFW7VCW.js +5 -0
  168. package/public/{chunk-SK5UJRQU.js → chunk-G6GTWDKY.js} +1 -1
  169. package/public/chunk-GJEQY7FK.js +1 -0
  170. package/public/chunk-IEOEU3PV.js +1 -0
  171. package/public/chunk-J75SJ6HL.js +1 -0
  172. package/public/chunk-JIG56QTE.js +14 -0
  173. package/public/chunk-JMCN2SQV.js +1 -0
  174. package/public/chunk-JOBKDXBH.js +1 -0
  175. package/public/chunk-JPVF3EPM.js +1 -0
  176. package/public/chunk-JX3E4VFM.js +1 -0
  177. package/public/chunk-KUE46RRU.js +1 -0
  178. package/public/chunk-LTDUXFUG.js +1 -0
  179. package/public/chunk-LXATRDDS.js +1 -0
  180. package/public/chunk-M6OQT53Y.js +1 -0
  181. package/public/chunk-N4VWPJ6S.js +1 -0
  182. package/public/chunk-NKGM5COZ.js +1 -0
  183. package/public/chunk-OCZ2H4UT.js +1 -0
  184. package/public/chunk-OGSVTVGE.js +8 -0
  185. package/public/chunk-OT3IJBCR.js +1 -0
  186. package/public/chunk-P3A42IW2.js +1 -0
  187. package/public/chunk-PKP4FSKB.js +1 -0
  188. package/public/chunk-PTJSEANH.js +1 -0
  189. package/public/chunk-Q5DVL6Z6.js +1 -0
  190. package/public/{chunk-CCUID66K.js → chunk-Q7VA22QV.js} +1 -1
  191. package/public/chunk-QELUTKQF.js +32 -0
  192. package/public/chunk-QR2DRJ5Q.js +1 -0
  193. package/public/chunk-QR7L4UUP.js +1 -0
  194. package/public/chunk-RHYCATQR.js +1 -0
  195. package/public/chunk-RSIXVZQ5.js +1 -0
  196. package/public/chunk-S4CZRO5L.js +1 -0
  197. package/public/chunk-TCKHBFBN.js +1 -0
  198. package/public/chunk-TCMMHINS.js +1 -0
  199. package/public/chunk-TJHYTY4K.js +1 -0
  200. package/public/{chunk-NDNK3KHG.js → chunk-TQNPIZF3.js} +1 -1
  201. package/public/chunk-TUHGKUZA.js +1 -0
  202. package/public/chunk-TVF7CAJN.js +1 -0
  203. package/public/chunk-U4V4ICSI.js +7 -0
  204. package/public/chunk-U6XLWNAV.js +1 -0
  205. package/public/{chunk-YP7JWH3J.js → chunk-UOC65WET.js} +1 -1
  206. package/public/{chunk-WHJSVGC7.js → chunk-UR24V3JB.js} +1 -1
  207. package/public/chunk-VISSPBAJ.js +1 -0
  208. package/public/chunk-VWAY3YX4.js +1 -0
  209. package/public/{chunk-EA5J2VEJ.js → chunk-WM3ZC7RY.js} +1 -1
  210. package/public/chunk-WNGOTZ3I.js +23 -0
  211. package/public/{chunk-JZZQRLNW.js → chunk-XZR7OZ6I.js} +1 -1
  212. package/public/chunk-YHABGXDF.js +5 -0
  213. package/public/chunk-YRCKAGKJ.js +1 -0
  214. package/public/chunk-YXEV6KOV.js +7 -0
  215. package/public/chunk-YZMZPZB3.js +1 -0
  216. package/public/{chunk-BVNJ63AC.js → chunk-Z2BKSNSC.js} +2 -2
  217. package/public/chunk-Z4W7FR2B.js +1 -0
  218. package/public/chunk-ZXXOJAVC.js +1 -0
  219. package/public/index.html +2 -2
  220. package/public/main-LJS4FW2X.js +1 -0
  221. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  222. package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  223. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  224. package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  225. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  226. package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  227. package/public/polyfills-4F4B5XMZ.js +2 -0
  228. package/public/styles-RBNVUC4M.css +1 -0
  229. package/scripts/upgrade-install-plugin.sh +1 -1
  230. package/public/chunk-26EDYJQW.js +0 -1
  231. package/public/chunk-2JDN5J3P.js +0 -1
  232. package/public/chunk-2PMXH77A.js +0 -1
  233. package/public/chunk-3C2OQ2W5.js +0 -1
  234. package/public/chunk-3IX3CLER.js +0 -1
  235. package/public/chunk-3JROOWCZ.js +0 -1
  236. package/public/chunk-4LLA7QYB.js +0 -1
  237. package/public/chunk-4N3YQA7W.js +0 -1
  238. package/public/chunk-52L2LAHB.js +0 -1
  239. package/public/chunk-5KIRKUWH.js +0 -1
  240. package/public/chunk-6HR4EKFX.js +0 -8
  241. package/public/chunk-7LUCJVXB.js +0 -1
  242. package/public/chunk-A4HS5JYI.js +0 -1
  243. package/public/chunk-A76FDQKF.js +0 -1
  244. package/public/chunk-AAVBU64J.js +0 -1
  245. package/public/chunk-AFRS7ZFI.js +0 -1
  246. package/public/chunk-BKUGARB4.js +0 -7
  247. package/public/chunk-BPMSJ2VF.js +0 -1
  248. package/public/chunk-BS2EMJX7.js +0 -1
  249. package/public/chunk-CJIFFTFC.js +0 -1
  250. package/public/chunk-CY55AES3.js +0 -1
  251. package/public/chunk-DAYZQW6Q.js +0 -1
  252. package/public/chunk-ED5XL3PD.js +0 -1
  253. package/public/chunk-EJKB2WDE.js +0 -1
  254. package/public/chunk-FA2N3XXT.js +0 -1
  255. package/public/chunk-HSJSWZHD.js +0 -1
  256. package/public/chunk-IB5GZVXD.js +0 -1
  257. package/public/chunk-IVORLBXB.js +0 -1
  258. package/public/chunk-IW3HI4LO.js +0 -1
  259. package/public/chunk-JU4PP2VY.js +0 -32
  260. package/public/chunk-KHNBODZR.js +0 -14
  261. package/public/chunk-KQJ7ONUG.js +0 -1
  262. package/public/chunk-KRNQN3FT.js +0 -1
  263. package/public/chunk-KVW76M4O.js +0 -1
  264. package/public/chunk-LMPCXQ23.js +0 -1
  265. package/public/chunk-LV2VCDOI.js +0 -1
  266. package/public/chunk-M6SHEAQY.js +0 -1
  267. package/public/chunk-MDDU475D.js +0 -1
  268. package/public/chunk-MPVSAJDU.js +0 -5
  269. package/public/chunk-NV6GUYHV.js +0 -1
  270. package/public/chunk-NW6AFAD7.js +0 -1
  271. package/public/chunk-NZNNTHFQ.js +0 -1
  272. package/public/chunk-OKKTO3UM.js +0 -1
  273. package/public/chunk-OOHFQB4Z.js +0 -1
  274. package/public/chunk-ORPWYWCL.js +0 -5
  275. package/public/chunk-QGDVQDUP.js +0 -20
  276. package/public/chunk-QHPDGSZ6.js +0 -1
  277. package/public/chunk-QKWNCNRW.js +0 -1
  278. package/public/chunk-RDAMEJPR.js +0 -1
  279. package/public/chunk-TCSXGQNF.js +0 -1
  280. package/public/chunk-TFEVMIHT.js +0 -23
  281. package/public/chunk-TXOB7R5K.js +0 -7
  282. package/public/chunk-U2KJ2IEE.js +0 -1
  283. package/public/chunk-UAQGK64S.js +0 -1
  284. package/public/chunk-UG5DK2RQ.js +0 -2
  285. package/public/chunk-UKAOVQ6N.js +0 -1
  286. package/public/chunk-UNVMI6CK.js +0 -1
  287. package/public/chunk-US5QSVJ2.js +0 -1
  288. package/public/chunk-UWLLEMGO.js +0 -1
  289. package/public/chunk-V2TYBIZV.js +0 -1
  290. package/public/chunk-V7D5U2P3.js +0 -1
  291. package/public/chunk-WHJOLAED.js +0 -1
  292. package/public/chunk-WNVJPPO7.js +0 -1
  293. package/public/chunk-WP6BKFEA.js +0 -1
  294. package/public/chunk-WSYFRV2X.js +0 -1
  295. package/public/chunk-XLY5QPTN.js +0 -6
  296. package/public/chunk-XY74TB4S.js +0 -1
  297. package/public/chunk-ZOKILXR3.js +0 -1
  298. package/public/chunk-ZT23DWNL.js +0 -1
  299. package/public/main-6PBYD25D.js +0 -1
  300. package/public/media/01-RQ3S2L53.png +0 -0
  301. package/public/media/02-VNCG2I2A.png +0 -0
  302. package/public/media/03-HI42L4ZG.png +0 -0
  303. package/public/media/04-FJLL55LZ.png +0 -0
  304. package/public/media/05-V3EO6SPT.png +0 -0
  305. package/public/media/06-EOJZCQZN.png +0 -0
  306. package/public/media/07-KMKB5PBD.png +0 -0
  307. package/public/media/08-UQJRF6B2.png +0 -0
  308. package/public/media/09-2DJQFRHH.png +0 -0
  309. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  310. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  311. package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
  312. package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
  313. package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
  314. package/public/polyfills-C6JHVXJJ.js +0 -2
  315. package/public/scripts-6GVLYD7F.js +0 -62
  316. package/public/styles-EG5MFQEM.css +0 -1
  317. /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
@@ -1,2 +0,0 @@
1
- import{$a as tt,$c as ee,Ea as ve,Ga as M,H as $e,Ha as Ee,Ic as it,Jc as at,Ka as Ye,L as Xe,La as Te,Ma as Ke,Na as N,Pa as we,Pc as H,Qc as ct,Rc as lt,Sc as R,T as me,Ua as V,Va as L,Wa as C,Xa as qe,Ya as Qe,Za as He,_a as et,a as B,aa as Ge,ab as nt,b as ze,bb as rt,cb as S,ea as b,fa as D,h as he,ha as v,hb as $,ia as ye,k as fe,ka as w,ma as d,md as dt,na as T,nd as ut,ob as st,pd as te,q as Ve,qa as ge,r as pe,rd as ne,sa as Je,sb as Re,ta as Ze,ua as We,wb as ot,x as z,xb as q,yb as Q,zb as be}from"./chunk-TXOB7R5K.js";var G=class{},se=class{},A=class r{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(t){t?typeof t=="string"?this.lazyInit=()=>{this.headers=new Map,t.split(`
2
- `).forEach(e=>{let n=e.indexOf(":");if(n>0){let s=e.slice(0,n),o=e.slice(n+1).trim();this.addHeaderEntry(s,o)}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((e,n)=>{this.addHeaderEntry(n,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([e,n])=>{this.setHeaderEntries(e,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();let e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof r?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){let e=new r;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof r?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){let e=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(t.name,e);let s=(t.op==="a"?this.headers.get(e):void 0)||[];s.push(...n),this.headers.set(e,s);break;case"d":let o=t.value;if(!o)this.headers.delete(e),this.normalizedNames.delete(e);else{let i=this.headers.get(e);if(!i)return;i=i.filter(c=>o.indexOf(c)===-1),i.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,i)}break}}addHeaderEntry(t,e){let n=t.toLowerCase();this.maybeSetNormalizedName(t,n),this.headers.has(n)?this.headers.get(n).push(e):this.headers.set(n,[e])}setHeaderEntries(t,e){let n=(Array.isArray(e)?e:[e]).map(o=>o.toString()),s=t.toLowerCase();this.headers.set(s,n),this.maybeSetNormalizedName(t,s)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}};var Ae=class{encodeKey(t){return ht(t)}encodeValue(t){return ht(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}};function Ft(r,t){let e=new Map;return r.length>0&&r.replace(/^\?/,"").split("&").forEach(s=>{let o=s.indexOf("="),[i,c]=o==-1?[t.decodeKey(s),""]:[t.decodeKey(s.slice(0,o)),t.decodeValue(s.slice(o+1))],a=e.get(i)||[];a.push(c),e.set(i,a)}),e}var Bt=/%(\d[a-f0-9])/gi,zt={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function ht(r){return encodeURIComponent(r).replace(Bt,(t,e)=>{var n;return(n=zt[e])!=null?n:t})}function re(r){return`${r}`}var P=class r{map;encoder;updates=null;cloneFrom=null;constructor(t={}){if(this.encoder=t.encoder||new Ae,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=Ft(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{let n=t.fromObject[e],s=Array.isArray(n)?n.map(re):[re(n)];this.map.set(e,s)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();let e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){let e=[];return Object.keys(t).forEach(n=>{let s=t[n];Array.isArray(s)?s.forEach(o=>{e.push({param:n,value:o,op:"a"})}):e.push({param:n,value:s,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{let e=this.encoder.encodeKey(t);return this.map.get(t).map(n=>e+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>t!=="").join("&")}clone(t){let e=new r({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":let e=(t.op==="a"?this.map.get(t.param):void 0)||[];e.push(re(t.value)),this.map.set(t.param,e);break;case"d":if(t.value!==void 0){let n=this.map.get(t.param)||[],s=n.indexOf(re(t.value));s!==-1&&n.splice(s,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}else{this.map.delete(t.param);break}}}),this.cloneFrom=this.updates=null)}};var De=class{map=new Map;set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}};function Vt(r){switch(r){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function ft(r){return typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer}function pt(r){return typeof Blob<"u"&&r instanceof Blob}function mt(r){return typeof FormData<"u"&&r instanceof FormData}function $t(r){return typeof URLSearchParams<"u"&&r instanceof URLSearchParams}var X=class r{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;responseType="json";method;params;urlWithParams;transferCache;constructor(t,e,n,s){var i,c;this.url=e,this.method=t.toUpperCase();let o;if(Vt(this.method)||s?(this.body=n!==void 0?n:null,o=s):o=n,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),(i=this.headers)!=null||(this.headers=new A),(c=this.context)!=null||(this.context=new De),!this.params)this.params=new P,this.urlWithParams=e;else{let a=this.params.toString();if(a.length===0)this.urlWithParams=e;else{let l=e.indexOf("?"),p=l===-1?"?":l<e.length-1?"&":"";this.urlWithParams=e+p+a}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||ft(this.body)||pt(this.body)||mt(this.body)||$t(this.body)?this.body:this.body instanceof P?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||mt(this.body)?null:pt(this.body)?this.body.type||null:ft(this.body)?null:typeof this.body=="string"?"text/plain":this.body instanceof P?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?"application/json":null}clone(t={}){var y,g,_,u;let e=t.method||this.method,n=t.url||this.url,s=t.responseType||this.responseType,o=(y=t.transferCache)!=null?y:this.transferCache,i=t.body!==void 0?t.body:this.body,c=(g=t.withCredentials)!=null?g:this.withCredentials,a=(_=t.reportProgress)!=null?_:this.reportProgress,l=t.headers||this.headers,p=t.params||this.params,m=(u=t.context)!=null?u:this.context;return t.setHeaders!==void 0&&(l=Object.keys(t.setHeaders).reduce((h,E)=>h.set(E,t.setHeaders[E]),l)),t.setParams&&(p=Object.keys(t.setParams).reduce((h,E)=>h.set(E,t.setParams[E]),p)),new r(e,n,i,{params:p,headers:l,context:m,reportProgress:a,responseType:s,withCredentials:c,transferCache:o})}},I=function(r){return r[r.Sent=0]="Sent",r[r.UploadProgress=1]="UploadProgress",r[r.ResponseHeader=2]="ResponseHeader",r[r.DownloadProgress=3]="DownloadProgress",r[r.Response=4]="Response",r[r.User=5]="User",r}(I||{}),J=class{headers;status;statusText;url;ok;type;constructor(t,e=200,n="OK"){this.headers=t.headers||new A,this.status=t.status!==void 0?t.status:e,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}},oe=class r extends J{constructor(t={}){super(t)}type=I.ResponseHeader;clone(t={}){return new r({headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}},Z=class r extends J{body;constructor(t={}){super(t),this.body=t.body!==void 0?t.body:null}type=I.Response;clone(t={}){return new r({body:t.body!==void 0?t.body:this.body,headers:t.headers||this.headers,status:t.status!==void 0?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}},O=class extends J{name="HttpErrorResponse";message;error;ok=!1;constructor(t){super(t,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${t.url||"(unknown url)"}`:this.message=`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}},Tt=200,Xt=204;function Me(r,t){return{body:t,headers:r.headers,context:r.context,observe:r.observe,params:r.params,reportProgress:r.reportProgress,responseType:r.responseType,withCredentials:r.withCredentials,transferCache:r.transferCache}}var Gt=(()=>{class r{handler;constructor(e){this.handler=e}request(e,n,s={}){let o;if(e instanceof X)o=e;else{let a;s.headers instanceof A?a=s.headers:a=new A(s.headers);let l;s.params&&(s.params instanceof P?l=s.params:l=new P({fromObject:s.params})),o=new X(e,n,s.body!==void 0?s.body:null,{headers:a,context:s.context,params:l,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials,transferCache:s.transferCache})}let i=pe(o).pipe(Xe(a=>this.handler.handle(a)));if(e instanceof X||s.observe==="events")return i;let c=i.pipe($e(a=>a instanceof Z));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return c.pipe(z(a=>{if(a.body!==null&&!(a.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return a.body}));case"blob":return c.pipe(z(a=>{if(a.body!==null&&!(a.body instanceof Blob))throw new Error("Response is not a Blob.");return a.body}));case"text":return c.pipe(z(a=>{if(a.body!==null&&typeof a.body!="string")throw new Error("Response is not a string.");return a.body}));case"json":default:return c.pipe(z(a=>a.body))}case"response":return c;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(e,n={}){return this.request("DELETE",e,n)}get(e,n={}){return this.request("GET",e,n)}head(e,n={}){return this.request("HEAD",e,n)}jsonp(e,n){return this.request("JSONP",e,{params:new P().append(n,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,n={}){return this.request("OPTIONS",e,n)}patch(e,n,s={}){return this.request("PATCH",e,Me(s,n))}post(e,n,s={}){return this.request("POST",e,Me(s,n))}put(e,n,s={}){return this.request("PUT",e,Me(s,n))}static \u0275fac=function(n){return new(n||r)(d(G))};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})(),Jt=/^\)\]\}',?\n/,Zt="X-Request-URL";function yt(r){if(r.url)return r.url;let t=Zt.toLocaleLowerCase();return r.headers.get(t)}var Wt=(()=>{var t,e;class r{fetchImpl=(e=(t=T(Oe,{optional:!0}))==null?void 0:t.fetch)!=null?e:(...s)=>globalThis.fetch(...s);ngZone=T(M);handle(s){return new fe(o=>{let i=new AbortController;return this.doRequest(s,i.signal,o).then(Pe,c=>o.error(new O({error:c}))),()=>i.abort()})}doRequest(s,o,i){return he(this,null,function*(){var u,h,E,x;let c=this.createRequestInit(s),a;try{let f=this.ngZone.runOutsideAngular(()=>this.fetchImpl(s.urlWithParams,B({signal:o},c)));Yt(f),i.next({type:I.Sent}),a=yield f}catch(f){i.error(new O({error:f,status:(u=f.status)!=null?u:0,statusText:f.statusText,url:s.urlWithParams,headers:f.headers}));return}let l=new A(a.headers),p=a.statusText,m=(h=yt(a))!=null?h:s.urlWithParams,y=a.status,g=null;if(s.reportProgress&&i.next(new oe({headers:l,status:y,statusText:p,url:m})),a.body){let f=a.headers.get("content-length"),k=[],le=a.body.getReader(),j=0,de,U,Fe=typeof Zone<"u"&&Zone.current;yield this.ngZone.runOutsideAngular(()=>he(this,null,function*(){for(;;){let{done:F,value:ue}=yield le.read();if(F)break;if(k.push(ue),j+=ue.length,s.reportProgress){U=s.responseType==="text"?(U!=null?U:"")+(de!=null?de:de=new TextDecoder).decode(ue,{stream:!0}):void 0;let Be=()=>i.next({type:I.DownloadProgress,total:f?+f:void 0,loaded:j,partialText:U});Fe?Fe.run(Be):Be()}}}));let Ct=this.concatChunks(k,j);try{let F=(E=a.headers.get("Content-Type"))!=null?E:"";g=this.parseBody(s,Ct,F)}catch(F){i.error(new O({error:F,headers:new A(a.headers),status:a.status,statusText:a.statusText,url:(x=yt(a))!=null?x:s.urlWithParams}));return}}y===0&&(y=g?Tt:0),y>=200&&y<300?(i.next(new Z({body:g,headers:l,status:y,statusText:p,url:m})),i.complete()):i.error(new O({error:g,headers:l,status:y,statusText:p,url:m}))})}parseBody(s,o,i){switch(s.responseType){case"json":let c=new TextDecoder().decode(o).replace(Jt,"");return c===""?null:JSON.parse(c);case"text":return new TextDecoder().decode(o);case"blob":return new Blob([o],{type:i});case"arraybuffer":return o.buffer}}createRequestInit(s){let o={},i=s.withCredentials?"include":void 0;if(s.headers.forEach((c,a)=>o[c]=a.join(",")),s.headers.has("Accept")||(o.Accept="application/json, text/plain, */*"),!s.headers.has("Content-Type")){let c=s.detectContentTypeHeader();c!==null&&(o["Content-Type"]=c)}return{body:s.serializeBody(),method:s.method,headers:o,credentials:i}}concatChunks(s,o){let i=new Uint8Array(o),c=0;for(let a of s)i.set(a,c),c+=a.length;return i}static \u0275fac=function(o){return new(o||r)};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})(),Oe=class{};function Pe(){}function Yt(r){r.then(Pe,Pe)}function wt(r,t){return t(r)}function Kt(r,t){return(e,n)=>t.intercept(e,{handle:s=>r(s,n)})}function qt(r,t,e){return(n,s)=>We(e,()=>t(n,o=>r(o,s)))}var Qt=new w(""),Ie=new w(""),Ht=new w(""),Rt=new w("",{providedIn:"root",factory:()=>!0});function en(){let r=null;return(t,e)=>{var o;r===null&&(r=((o=T(Qt,{optional:!0}))!=null?o:[]).reduceRight(Kt,wt));let n=T(ve);if(T(Rt)){let i=n.add();return r(t,e).pipe(me(()=>n.remove(i)))}else return r(t,e)}}var gt=(()=>{class r extends G{backend;injector;chain=null;pendingTasks=T(ve);contributeToStability=T(Rt);constructor(e,n){super(),this.backend=e,this.injector=n}handle(e){if(this.chain===null){let n=Array.from(new Set([...this.injector.get(Ie),...this.injector.get(Ht,[])]));this.chain=n.reduceRight((s,o)=>qt(s,o,this.injector),wt)}if(this.contributeToStability){let n=this.pendingTasks.add();return this.chain(e,s=>this.backend.handle(s)).pipe(me(()=>this.pendingTasks.remove(n)))}else return this.chain(e,n=>this.backend.handle(n))}static \u0275fac=function(n){return new(n||r)(d(se),d(Ze))};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})();var tn=/^\)\]\}',?\n/;function nn(r){return"responseURL"in r&&r.responseURL?r.responseURL:/^X-Request-URL:/m.test(r.getAllResponseHeaders())?r.getResponseHeader("X-Request-URL"):null}var vt=(()=>{class r{xhrFactory;constructor(e){this.xhrFactory=e}handle(e){if(e.method==="JSONP")throw new b(-2800,!1);let n=this.xhrFactory;return(n.\u0275loadImpl?Ve(n.\u0275loadImpl()):pe(null)).pipe(Ge(()=>new fe(o=>{let i=n.build();if(i.open(e.method,e.urlWithParams),e.withCredentials&&(i.withCredentials=!0),e.headers.forEach((u,h)=>i.setRequestHeader(u,h.join(","))),e.headers.has("Accept")||i.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){let u=e.detectContentTypeHeader();u!==null&&i.setRequestHeader("Content-Type",u)}if(e.responseType){let u=e.responseType.toLowerCase();i.responseType=u!=="json"?u:"text"}let c=e.serializeBody(),a=null,l=()=>{if(a!==null)return a;let u=i.statusText||"OK",h=new A(i.getAllResponseHeaders()),E=nn(i)||e.url;return a=new oe({headers:h,status:i.status,statusText:u,url:E}),a},p=()=>{let{headers:u,status:h,statusText:E,url:x}=l(),f=null;h!==Xt&&(f=typeof i.response>"u"?i.responseText:i.response),h===0&&(h=f?Tt:0);let k=h>=200&&h<300;if(e.responseType==="json"&&typeof f=="string"){let le=f;f=f.replace(tn,"");try{f=f!==""?JSON.parse(f):null}catch(j){f=le,k&&(k=!1,f={error:j,text:f})}}k?(o.next(new Z({body:f,headers:u,status:h,statusText:E,url:x||void 0})),o.complete()):o.error(new O({error:f,headers:u,status:h,statusText:E,url:x||void 0}))},m=u=>{let{url:h}=l(),E=new O({error:u,status:i.status||0,statusText:i.statusText||"Unknown Error",url:h||void 0});o.error(E)},y=!1,g=u=>{y||(o.next(l()),y=!0);let h={type:I.DownloadProgress,loaded:u.loaded};u.lengthComputable&&(h.total=u.total),e.responseType==="text"&&i.responseText&&(h.partialText=i.responseText),o.next(h)},_=u=>{let h={type:I.UploadProgress,loaded:u.loaded};u.lengthComputable&&(h.total=u.total),o.next(h)};return i.addEventListener("load",p),i.addEventListener("error",m),i.addEventListener("timeout",m),i.addEventListener("abort",m),e.reportProgress&&(i.addEventListener("progress",g),c!==null&&i.upload&&i.upload.addEventListener("progress",_)),i.send(c),o.next({type:I.Sent}),()=>{i.removeEventListener("error",m),i.removeEventListener("abort",m),i.removeEventListener("load",p),i.removeEventListener("timeout",m),e.reportProgress&&(i.removeEventListener("progress",g),c!==null&&i.upload&&i.upload.removeEventListener("progress",_)),i.readyState!==i.DONE&&i.abort()}})))}static \u0275fac=function(n){return new(n||r)(d(ne))};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})(),bt=new w(""),rn="XSRF-TOKEN",sn=new w("",{providedIn:"root",factory:()=>rn}),on="X-XSRF-TOKEN",an=new w("",{providedIn:"root",factory:()=>on}),ie=class{},cn=(()=>{class r{doc;platform;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(e,n,s){this.doc=e,this.platform=n,this.cookieName=s}getToken(){if(this.platform==="server")return null;let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=ee(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(n){return new(n||r)(d(R),d(N),d(sn))};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})();function ln(r,t){let e=r.url.toLowerCase();if(!T(bt)||r.method==="GET"||r.method==="HEAD"||e.startsWith("http://")||e.startsWith("https://"))return t(r);let n=T(ie).getToken(),s=T(an);return n!=null&&!r.headers.has(s)&&(r=r.clone({headers:r.headers.set(s,n)})),t(r)}var Mt=function(r){return r[r.Interceptors=0]="Interceptors",r[r.LegacyInterceptors=1]="LegacyInterceptors",r[r.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",r[r.NoXsrfProtection=3]="NoXsrfProtection",r[r.JsonpSupport=4]="JsonpSupport",r[r.RequestsMadeViaParent=5]="RequestsMadeViaParent",r[r.Fetch=6]="Fetch",r}(Mt||{});function dn(r,t){return{\u0275kind:r,\u0275providers:t}}function Qn(...r){let t=[Gt,vt,gt,{provide:G,useExisting:gt},{provide:se,useFactory:()=>{var e;return(e=T(Wt,{optional:!0}))!=null?e:T(vt)}},{provide:Ie,useValue:ln,multi:!0},{provide:bt,useValue:!0},{provide:ie,useClass:cn}];for(let e of r)t.push(...e.\u0275providers);return ge(t)}var Et=new w("");function Hn(){return dn(Mt.LegacyInterceptors,[{provide:Et,useFactory:en},{provide:Ie,useExisting:Et,multi:!0}])}var Se=class extends lt{supportsDOMEvents=!0},_e=class r extends Se{static makeCurrent(){ct(new r)}onAndCancel(t,e,n){return t.addEventListener(e,n),()=>{t.removeEventListener(e,n)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.remove()}createElement(t,e){return e=e||this.getDefaultDocument(),e.createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return e==="window"?window:e==="document"?t:e==="body"?t.body:null}getBaseHref(t){let e=hn();return e==null?null:fn(e)}resetBaseElement(){W=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return ee(document.cookie,t)}},W=null;function hn(){return W=W||document.querySelector("base"),W?W.getAttribute("href"):null}function fn(r){return new URL(r,document.baseURI).pathname}var ke=class{addToWindow(t){D.getAngularTestability=(n,s=!0)=>{let o=t.findTestabilityInTree(n,s);if(o==null)throw new b(5103,!1);return o},D.getAllAngularTestabilities=()=>t.getAllTestabilities(),D.getAllAngularRootElements=()=>t.getAllRootElements();let e=n=>{let s=D.getAllAngularTestabilities(),o=s.length,i=function(){o--,o==0&&n()};s.forEach(c=>{c.whenStable(i)})};D.frameworkStabilizers||(D.frameworkStabilizers=[]),D.frameworkStabilizers.push(e)}findTestabilityInTree(t,e,n){if(e==null)return null;let s=t.getTestability(e);return s!=null?s:n?H().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null}},pn=(()=>{class r{build(){return new XMLHttpRequest}static \u0275fac=function(n){return new(n||r)};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})(),Le=new w(""),Nt=(()=>{class r{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,n){this._zone=n,e.forEach(s=>{s.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,n,s){return this._findPluginFor(n).addEventListener(e,n,s)}getZone(){return this._zone}_findPluginFor(e){let n=this._eventNameToPlugin.get(e);if(n)return n;if(n=this._plugins.find(o=>o.supports(e)),!n)throw new b(5101,!1);return this._eventNameToPlugin.set(e,n),n}static \u0275fac=function(n){return new(n||r)(d(Le),d(M))};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})(),ae=class{_doc;constructor(t){this._doc=t}manager},Ce="ng-app-id";function At(r){for(let t of r)t.remove()}function Dt(r,t){let e=t.createElement("style");return e.textContent=r,e}function mn(r,t,e){var s;let n=(s=r.head)==null?void 0:s.querySelectorAll(`style[${Ce}="${t}"]`);if(n)for(let o of n)o.textContent&&(o.removeAttribute(Ce),e.set(o.textContent,{usage:0,elements:[o]}))}function xe(r,t){let e=t.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",r),e}var St=(()=>{class r{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;isServer;constructor(e,n,s,o={}){this.doc=e,this.appId=n,this.nonce=s,this.isServer=te(o),mn(e,n,this.inline),this.hosts.add(e.head)}addStyles(e,n){for(let s of e)this.addUsage(s,this.inline,Dt);n==null||n.forEach(s=>this.addUsage(s,this.external,xe))}removeStyles(e,n){for(let s of e)this.removeUsage(s,this.inline);n==null||n.forEach(s=>this.removeUsage(s,this.external))}addUsage(e,n,s){let o=n.get(e);o?o.usage++:n.set(e,{usage:1,elements:[...this.hosts].map(i=>this.addElement(i,s(e,this.doc)))})}removeUsage(e,n){let s=n.get(e);s&&(s.usage--,s.usage<=0&&(At(s.elements),n.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])At(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[n,{elements:s}]of this.inline)s.push(this.addElement(e,Dt(n,this.doc)));for(let[n,{elements:s}]of this.external)s.push(this.addElement(e,xe(n,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,n){return this.nonce&&n.setAttribute("nonce",this.nonce),this.isServer&&n.setAttribute(Ce,this.appId),e.appendChild(n)}static \u0275fac=function(n){return new(n||r)(d(R),d(Te),d(we,8),d(N))};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})(),Ne={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},Ue=/%COMP%/g,_t="%COMP%",yn=`_nghost-${_t}`,gn=`_ngcontent-${_t}`,vn=!0,En=new w("",{providedIn:"root",factory:()=>vn});function Tn(r){return gn.replace(Ue,r)}function wn(r){return yn.replace(Ue,r)}function kt(r,t){return t.map(e=>e.replace(Ue,r))}var Ot=(()=>{class r{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(e,n,s,o,i,c,a,l=null){this.eventManager=e,this.sharedStylesHost=n,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=i,this.platformId=c,this.ngZone=a,this.nonce=l,this.platformIsServer=te(c),this.defaultRenderer=new Y(e,i,a,this.platformIsServer)}createRenderer(e,n){if(!e||!n)return this.defaultRenderer;this.platformIsServer&&n.encapsulation===V.ShadowDom&&(n=ze(B({},n),{encapsulation:V.Emulated}));let s=this.getOrCreateRenderer(e,n);return s instanceof ce?s.applyToHost(e):s instanceof K&&s.applyStyles(),s}getOrCreateRenderer(e,n){let s=this.rendererByCompId,o=s.get(n.id);if(!o){let i=this.doc,c=this.ngZone,a=this.eventManager,l=this.sharedStylesHost,p=this.removeStylesOnCompDestroy,m=this.platformIsServer;switch(n.encapsulation){case V.Emulated:o=new ce(a,l,n,this.appId,p,i,c,m);break;case V.ShadowDom:return new je(a,l,e,n,i,c,this.nonce,m);default:o=new K(a,l,n,p,i,c,m);break}s.set(n.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static \u0275fac=function(n){return new(n||r)(d(Nt),d(St),d(Te),d(En),d(R),d(N),d(M),d(we))};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})(),Y=class{eventManager;doc;ngZone;platformIsServer;data=Object.create(null);throwOnSyntheticProps=!0;constructor(t,e,n,s){this.eventManager=t,this.doc=e,this.ngZone=n,this.platformIsServer=s}destroy(){}destroyNode=null;createElement(t,e){return e?this.doc.createElementNS(Ne[e]||e,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,e){(Pt(t)?t.content:t).appendChild(e)}insertBefore(t,e,n){t&&(Pt(t)?t.content:t).insertBefore(e,n)}removeChild(t,e){e.remove()}selectRootElement(t,e){let n=typeof t=="string"?this.doc.querySelector(t):t;if(!n)throw new b(-5104,!1);return e||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,n,s){if(s){e=s+":"+e;let o=Ne[s];o?t.setAttributeNS(o,e,n):t.setAttribute(e,n)}else t.setAttribute(e,n)}removeAttribute(t,e,n){if(n){let s=Ne[n];s?t.removeAttributeNS(s,e):t.removeAttribute(`${n}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,n,s){s&($.DashCase|$.Important)?t.style.setProperty(e,n,s&$.Important?"important":""):t.style[e]=n}removeStyle(t,e,n){n&$.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,n){t!=null&&(t[e]=n)}setValue(t,e){t.nodeValue=e}listen(t,e,n){if(typeof t=="string"&&(t=H().getGlobalEventTarget(this.doc,t),!t))throw new Error(`Unsupported event target ${t} for event ${e}`);return this.eventManager.addEventListener(t,e,this.decoratePreventDefault(n))}decoratePreventDefault(t){return e=>{if(e==="__ngUnwrap__")return t;(this.platformIsServer?this.ngZone.runGuarded(()=>t(e)):t(e))===!1&&e.preventDefault()}}};function Pt(r){return r.tagName==="TEMPLATE"&&r.content!==void 0}var je=class extends Y{sharedStylesHost;hostEl;shadowRoot;constructor(t,e,n,s,o,i,c,a){var m;super(t,o,i,a),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let l=kt(s.id,s.styles);for(let y of l){let g=document.createElement("style");c&&g.setAttribute("nonce",c),g.textContent=y,this.shadowRoot.appendChild(g)}let p=(m=s.getExternalStyles)==null?void 0:m.call(s);if(p)for(let y of p){let g=xe(y,o);c&&g.setAttribute("nonce",c),this.shadowRoot.appendChild(g)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,e){return super.appendChild(this.nodeOrShadowRoot(t),e)}insertBefore(t,e,n){return super.insertBefore(this.nodeOrShadowRoot(t),e,n)}removeChild(t,e){return super.removeChild(null,e)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},K=class extends Y{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(t,e,n,s,o,i,c,a){var l;super(t,o,i,c),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=s,this.styles=a?kt(a,n.styles):n.styles,this.styleUrls=(l=n.getExternalStyles)==null?void 0:l.call(n,a)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},ce=class extends K{contentAttr;hostAttr;constructor(t,e,n,s,o,i,c,a){let l=s+"-"+n.id;super(t,e,n,o,i,c,a,l),this.contentAttr=Tn(l),this.hostAttr=wn(l)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,e){let n=super.createElement(t,e);return super.setAttribute(n,this.contentAttr,""),n}},Rn=(()=>{class r extends ae{constructor(e){super(e)}supports(e){return!0}addEventListener(e,n,s){return e.addEventListener(n,s,!1),()=>this.removeEventListener(e,n,s)}removeEventListener(e,n,s){return e.removeEventListener(n,s)}static \u0275fac=function(n){return new(n||r)(d(R))};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})(),It=["alt","control","meta","shift"],bn={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Mn={alt:r=>r.altKey,control:r=>r.ctrlKey,meta:r=>r.metaKey,shift:r=>r.shiftKey},An=(()=>{class r extends ae{constructor(e){super(e)}supports(e){return r.parseEventName(e)!=null}addEventListener(e,n,s){let o=r.parseEventName(n),i=r.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>H().onAndCancel(e,o.domEventName,i))}static parseEventName(e){let n=e.toLowerCase().split("."),s=n.shift();if(n.length===0||!(s==="keydown"||s==="keyup"))return null;let o=r._normalizeKey(n.pop()),i="",c=n.indexOf("code");if(c>-1&&(n.splice(c,1),i="code."),It.forEach(l=>{let p=n.indexOf(l);p>-1&&(n.splice(p,1),i+=l+".")}),i+=o,n.length!=0||o.length===0)return null;let a={};return a.domEventName=s,a.fullKey=i,a}static matchEventFullKeyCode(e,n){let s=bn[e.key]||e.key,o="";return n.indexOf("code.")>-1&&(s=e.code,o="code."),s==null||!s?!1:(s=s.toLowerCase(),s===" "?s="space":s==="."&&(s="dot"),It.forEach(i=>{if(i!==s){let c=Mn[i];c(e)&&(o+=i+".")}}),o+=s,o===n)}static eventCallback(e,n,s){return o=>{r.matchEventFullKeyCode(o,e)&&s.runGuarded(()=>n(o))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(n){return new(n||r)(d(R))};static \u0275prov=v({token:r,factory:r.\u0275fac})}return r})();function Tr(r,t){return at(B({rootComponent:r},Dn(t)))}function Dn(r){var t;return{appProviders:[...Lt,...(t=r==null?void 0:r.providers)!=null?t:[]],platformProviders:Nn}}function On(){_e.makeCurrent()}function Pn(){return new Ee}function In(){return Ye(document),document}var Nn=[{provide:N,useValue:ut},{provide:Ke,useValue:On,multi:!0},{provide:R,useFactory:In,deps:[]}];var Sn=new w(""),_n=[{provide:q,useClass:ke,deps:[]},{provide:ot,useClass:Q,deps:[M,be,q]},{provide:Q,useClass:Q,deps:[M,be,q]}],Lt=[{provide:Je,useValue:"root"},{provide:Ee,useFactory:Pn,deps:[]},{provide:Le,useClass:Rn,multi:!0,deps:[R,M,N]},{provide:Le,useClass:An,multi:!0,deps:[R]},Ot,St,Nt,{provide:st,useExisting:Ot},{provide:ne,useClass:pn,deps:[]},[]],wr=(()=>{class r{constructor(e){}static \u0275fac=function(n){return new(n||r)(d(Sn,12))};static \u0275mod=Re({type:r});static \u0275inj=ye({providers:[...Lt,..._n],imports:[dt,it]})}return r})();var Rr=(()=>{class r{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(n){return new(n||r)(d(R))};static \u0275prov=v({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var kn=(()=>{class r{static \u0275fac=function(n){return new(n||r)};static \u0275prov=v({token:r,factory:function(n){let s=null;return n?s=new(n||r):s=d(Ln),s},providedIn:"root"})}return r})(),Ln=(()=>{class r extends kn{_doc;constructor(e){super(),this._doc=e}sanitize(e,n){if(n==null)return null;switch(e){case S.NONE:return n;case S.HTML:return C(n,"HTML")?L(n):rt(this._doc,String(n)).toString();case S.STYLE:return C(n,"Style")?L(n):n;case S.SCRIPT:if(C(n,"Script"))return L(n);throw new b(5200,!1);case S.URL:return C(n,"URL")?L(n):nt(String(n));case S.RESOURCE_URL:if(C(n,"ResourceURL"))return L(n);throw new b(5201,!1);default:throw new b(5202,!1)}}bypassSecurityTrustHtml(e){return qe(e)}bypassSecurityTrustStyle(e){return Qe(e)}bypassSecurityTrustScript(e){return He(e)}bypassSecurityTrustUrl(e){return et(e)}bypassSecurityTrustResourceUrl(e){return tt(e)}static \u0275fac=function(n){return new(n||r)(d(R))};static \u0275prov=v({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{se as a,P as b,I as c,Z as d,Gt as e,Qt as f,Qn as g,Hn as h,Ot as i,Tr as j,wr as k,Rr as l,kn as m};
@@ -1 +0,0 @@
1
- import{a as p}from"./chunk-UWLLEMGO.js";import{a as f}from"./chunk-EJKB2WDE.js";import"./chunk-KRNQN3FT.js";import"./chunk-BKUGARB4.js";import{q as a}from"./chunk-ORPWYWCL.js";import{y as u,z as d}from"./chunk-QHPDGSZ6.js";import"./chunk-SK5UJRQU.js";import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-YP7JWH3J.js";import"./chunk-V7D5U2P3.js";import"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import{c as n}from"./chunk-3IX3CLER.js";import{ia as t,md as m,sb as r}from"./chunk-TXOB7R5K.js";var M=[{path:"",loadComponent:()=>import("./chunk-MDDU475D.js").then(o=>o.SetupWizardComponent)}],l=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[i.forChild(M),i]})}return o})();var R=(()=>{class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=r({type:o});static \u0275inj=t({providers:[p],imports:[m,u,d,n,a,l,f]})}return o})();export{R as SetupWizardModule};
@@ -1 +0,0 @@
1
- import{a as V,b as q}from"./chunk-6HR4EKFX.js";import{a as _}from"./chunk-KQJ7ONUG.js";import{n as D,o as F}from"./chunk-ORPWYWCL.js";import{b as B,j as E}from"./chunk-WNVJPPO7.js";import{a as k,b as z}from"./chunk-3IX3CLER.js";import{$b as T,Bc as i,Cc as r,Gb as L,Lb as b,Mb as h,Wb as s,Xb as l,Yb as p,cc as d,g as j,gb as y,h as w,ib as m,kc as C,lc as x,n as v,na as o,nc as I,oc as S,rb as $,xa as u,ya as f}from"./chunk-TXOB7R5K.js";var H=j(q(),1);var A=["logoutput"],X=(()=>{class c{$api=o(B);$log=o(V);$modal=o(D);$toastr=o(E);$translate=o(k);termTarget=L("logoutput");resizeEvent=new v;onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{},this.resizeEvent)}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.$log.destroyTerminal()}downloadLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}).subscribe({next:e=>{(0,H.saveAs)(e.body,"homebridge.log.txt")},error:e=>w(this,null,function*(){let n;try{n=JSON.parse(yield e.error.text()).message}catch(a){console.error(a)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}truncateLogFile(){let t=this.$modal.open(_,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_truncate_log_file"),t.componentInstance.message=this.$translate.instant("logs.truncate_log_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_delete"),t.componentInstance.confirmButtonClass="btn-danger",t.componentInstance.faIconClass="fas fa-fw fa-circle-exclamation primary-text",t.result.then(()=>{this.$api.put("/platform-tools/hb-service/log/truncate",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()},error:e=>{console.error(e),this.$toastr.error(e.error.message||this.$translate.instant("logs.truncate.error"),this.$translate.instant("toast.title_error"))}})}).catch(()=>{})}static \u0275fac=function(e){return new(e||c)};static \u0275cmp=$({type:c,selectors:[["ng-component"]],viewQuery:function(e,n){e&1&&C(n.termTarget,A,5),e&2&&x()},hostBindings:function(e,n){e&1&&d("resize",function(g){return n.onWindowResize(g)},!1,y)},decls:17,vars:15,consts:[["logoutput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-right"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["container","body","placement","bottom","openDelay","150","triggers","hover",1,"btn","btn-elegant","my-0","mr-0",3,"click","ngbTooltip"],[1,"fas","fa-fw","fa-trash-alt"],[1,"flex-column","d-flex","align-items-stretch","adjust-for-mobile"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"]],template:function(e,n){if(e&1){let a=T();s(0,"div",1)(1,"div",2)(2,"h3",3),I(3),i(4,"translate"),l()(),s(5,"div",4)(6,"button",5),i(7,"translate"),i(8,"translate"),d("click",function(){return u(a),f(n.downloadLogFile())}),p(9,"i",6),l(),s(10,"button",7),i(11,"translate"),i(12,"translate"),d("click",function(){return u(a),f(n.truncateLogFile())}),p(13,"i",8),l()()(),s(14,"div",9),p(15,"div",10,0),l()}e&2&&(m(3),S(r(4,5,"menu.linux.label_logs")),m(3),h("ngbTooltip",r(7,7,"form.button_download")),b("aria-label",r(8,9,"form.button_download")),m(4),h("ngbTooltip",r(11,11,"form.button_delete")),b("aria-label",r(12,13,"form.button_delete")))},dependencies:[F,z],encapsulation:2})}return c})();export{X as a};
@@ -1 +0,0 @@
1
- import{d as s}from"./chunk-NZNNTHFQ.js";import{c as i}from"./chunk-YP7JWH3J.js";import{j as o}from"./chunk-WNVJPPO7.js";import{a}from"./chunk-3IX3CLER.js";import{ha as e,na as r}from"./chunk-TXOB7R5K.js";var v=(()=>{class t{$auth=r(i);$router=r(s);$translate=r(a);$toastr=r(o);canActivate(){return this.$auth.user&&this.$auth.user.admin?!0:(this.$toastr.error(this.$translate.instant("toast.no_auth"),this.$translate.instant("toast.title_error")),this.$router.navigate(["/"]),!1)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=e({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{v as a};
@@ -1 +0,0 @@
1
- import{d as s}from"./chunk-NZNNTHFQ.js";import{b as n}from"./chunk-V7D5U2P3.js";import{h as r,ha as o,na as e,w as i}from"./chunk-TXOB7R5K.js";var l=(()=>{class t{$router=e(s);$settings=e(n);canActivate(){return r(this,null,function*(){return this.$settings.settingsLoaded||(yield i(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}static \u0275fac=function(a){return new(a||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{l as a};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-WP6BKFEA.js";import"./chunk-SK5UJRQU.js";import"./chunk-NZNNTHFQ.js";import"./chunk-YP7JWH3J.js";import"./chunk-V7D5U2P3.js";import"./chunk-WNVJPPO7.js";import"./chunk-UG5DK2RQ.js";import"./chunk-3IX3CLER.js";import"./chunk-TXOB7R5K.js";export{a as ContainerRestartComponent};
@@ -1 +0,0 @@
1
- import{b as X,j as it}from"./chunk-WNVJPPO7.js";import{l as tt}from"./chunk-UG5DK2RQ.js";import{a as et}from"./chunk-3IX3CLER.js";import{U as K,e as ut,g as ct,h as P,ha as R,n as Q,na as Y,w as G}from"./chunk-TXOB7R5K.js";var nt=ut((N,J)=>{(function(p,b){typeof N=="object"&&typeof J<"u"?J.exports=b():typeof define=="function"&&define.amd?define(b):(p=typeof globalThis<"u"?globalThis:p||self).dayjs=b()})(N,function(){"use strict";var p=1e3,b=6e4,o=36e5,f="millisecond",v="second",L="minute",O="hour",y="day",W="week",M="month",q="quarter",S="year",_="date",z="Invalid Date",rt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,st=/\[([^\]]+)]|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,at={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},ot={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,M),s=t-e<0,a=i.clone().add(n+(s?-1:1),M);return+(-(n+(t-e)/(s?e-a:a-e))||0)},a:function(r){return r<0?Math.ceil(r)||0:Math.floor(r)},p:function(r){return{M,y:S,w:W,d:y,D:_,h:O,m:L,s:v,ms:f,Q:q}[r]||String(r||"").toLowerCase().replace(/s$/,"")},u:function(r){return r===void 0}},x="en",D={};D[x]=at;var B="$isDayjsObject",U=function(r){return r instanceof V||!(!r||!r[B])},I=function r(i,t,n){var e;if(!i)return x;if(typeof i=="string"){var s=i.toLowerCase();D[s]&&(e=s),t&&(D[s]=t,e=s);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&&(x=e),e||!n&&x},d=function(r,i){if(U(r))return r.clone();var t=typeof i=="object"?i:{};return t.date=r,t.args=arguments,new V(t)},u=ot;u.l=I,u.i=U,u.w=function(r,i){return d(r,{locale:i.$L,utc:i.$u,x:i.$x,$offset:i.$offset})};var V=function(){function r(t){this.$L=I(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[B]=!0}var i=r.prototype;return i.parse=function(t){this.$d=function(n){var e=n.date,s=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(rt);if(a){var c=a[2]-1||0,h=(a[7]||"0").substring(0,3);return s?new Date(Date.UTC(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,h)):new Date(a[1],c,a[3]||1,a[4]||0,a[5]||0,a[6]||0,h)}}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()!==z},i.isSame=function(t,n){var e=d(t);return this.startOf(n)<=e&&e<=this.endOf(n)},i.isAfter=function(t,n){return d(t)<this.startOf(n)},i.isBefore=function(t,n){return this.endOf(n)<d(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,s=!!u.u(n)||n,a=u.p(t),c=function(k,m){var w=u.w(e.$u?Date.UTC(e.$y,m,k):new Date(e.$y,m,k),e);return s?w:w.endOf(y)},h=function(k,m){return u.w(e.toDate()[k].apply(e.toDate("s"),(s?[0,0,0,0]:[23,59,59,999]).slice(m)),e)},l=this.$W,g=this.$M,$=this.$D,j="set"+(this.$u?"UTC":"");switch(a){case S:return s?c(1,0):c(31,11);case M:return s?c(1,g):c(0,g+1);case W:var T=this.$locale().weekStart||0,A=(l<T?l+7:l)-T;return c(s?$-A:$+(6-A),g);case y:case _:return h(j+"Hours",0);case O:return h(j+"Minutes",1);case L:return h(j+"Seconds",2);case v:return h(j+"Milliseconds",3);default:return this.clone()}},i.endOf=function(t){return this.startOf(t,!1)},i.$set=function(t,n){var e,s=u.p(t),a="set"+(this.$u?"UTC":""),c=(e={},e[y]=a+"Date",e[_]=a+"Date",e[M]=a+"Month",e[S]=a+"FullYear",e[O]=a+"Hours",e[L]=a+"Minutes",e[v]=a+"Seconds",e[f]=a+"Milliseconds",e)[s],h=s===y?this.$D+(n-this.$W):n;if(s===M||s===S){var l=this.clone().set(_,1);l.$d[c](h),l.init(),this.$d=l.set(_,Math.min(this.$D,l.daysInMonth())).$d}else c&&this.$d[c](h);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,s=this;t=Number(t);var a=u.p(n),c=function(g){var $=d(s);return u.w($.date($.date()+Math.round(g*t)),s)};if(a===M)return this.set(M,this.$M+t);if(a===S)return this.set(S,this.$y+t);if(a===y)return c(1);if(a===W)return c(7);var h=(e={},e[L]=b,e[O]=o,e[v]=p,e)[a]||1,l=this.$d.getTime()+t*h;return u.w(l,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||z;var s=t||"YYYY-MM-DDTHH:mm:ssZ",a=u.z(this),c=this.$H,h=this.$m,l=this.$M,g=e.weekdays,$=e.months,j=e.meridiem,T=function(m,w,H,C){return m&&(m[w]||m(n,s))||H[w].slice(0,C)},A=function(m){return u.s(c%12||12,m,"0")},k=j||function(m,w,H){var C=m<12?"AM":"PM";return H?C.toLowerCase():C};return s.replace(st,function(m,w){return w||function(H){switch(H){case"YY":return String(n.$y).slice(-2);case"YYYY":return u.s(n.$y,4,"0");case"M":return l+1;case"MM":return u.s(l+1,2,"0");case"MMM":return T(e.monthsShort,l,$,3);case"MMMM":return T($,l);case"D":return n.$D;case"DD":return u.s(n.$D,2,"0");case"d":return String(n.$W);case"dd":return T(e.weekdaysMin,n.$W,g,2);case"ddd":return T(e.weekdaysShort,n.$W,g,3);case"dddd":return g[n.$W];case"H":return String(c);case"HH":return u.s(c,2,"0");case"h":return A(1);case"hh":return A(2);case"a":return k(c,h,!0);case"A":return k(c,h,!1);case"m":return String(h);case"mm":return u.s(h,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}(m)||a.replace(":","")})},i.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},i.diff=function(t,n,e){var s,a=this,c=u.p(n),h=d(t),l=(h.utcOffset()-this.utcOffset())*b,g=this-h,$=function(){return u.m(a,h)};switch(c){case S:s=$()/12;break;case M:s=$();break;case q:s=$()/3;break;case W:s=(g-l)/6048e5;break;case y:s=(g-l)/864e5;break;case O:s=g/o;break;case L:s=g/b;break;case v:s=g/p;break;default:s=g}return e?s:u.a(s)},i.daysInMonth=function(){return this.endOf(M).$D},i.$locale=function(){return D[this.$L]},i.locale=function(t,n){if(!t)return this.$L;var e=this.clone(),s=I(t,n,!0);return s&&(e.$L=s),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}(),E=V.prototype;return d.prototype=E,[["$ms",f],["$s",v],["$m",L],["$H",O],["$W",y],["$M",M],["$y",S],["$D",_]].forEach(function(r){E[r[1]]=function(i){return this.$g(i,r[0],r[1])}}),d.extend=function(r,i){return r.$i||(r(i,V,d),r.$i=!0),d},d.locale=I,d.isDayjs=U,d.unix=function(r){return d(1e3*r)},d.en=D[x],d.Ls=D,d.p={},d})});var Z=ct(nt(),1);var vt=(()=>{class p{$api=Y(X);$title=Y(tt);$toastr=Y(it);$translate=Y(et);env={};formAuth=!0;uiVersion;theme;lightingMode;currentLightingMode;actualLightingMode;browserLightingMode;loginWallpaper;serverTimeOffset=0;themeList=["orange","red","pink","purple","deep-purple","indigo","blue","blue-grey","cyan","green","teal","grey","brown"];rtl=!1;settingsLoadedSubject=new Q;onSettingsLoaded=this.settingsLoadedSubject.pipe(K());settingsLoaded=!1;constructor(){this.getAppSettings()}getAppSettings(){return P(this,null,function*(){let o=yield G(this.$api.get("/auth/settings"));this.formAuth=o.formAuth,this.env=o.env,this.lightingMode=o.lightingMode,this.loginWallpaper=o.loginWallpaper,this.setLightingMode(this.lightingMode,"user"),this.setTheme(o.theme),this.setTitle(this.env.homebridgeInstanceName),this.checkServerTime(o.serverTimestamp),this.setUiVersion(o.env.packageVersion),this.setLang(this.env.lang),this.settingsLoaded=!0,this.settingsLoadedSubject.next(void 0)})}setBrowserLightingMode(o){this.browserLightingMode=o,this.lightingMode==="auto"&&this.setLightingMode(o,"browser")}setLightingMode(o,f){f==="user"&&(this.lightingMode=o),this.currentLightingMode=o,this.actualLightingMode=this.currentLightingMode==="auto"?this.browserLightingMode:this.currentLightingMode,this.theme&&this.setTheme(this.theme)}setTheme(o){(!o||!this.themeList.includes(o))&&(o="orange");let f=window.document.querySelector("body");f.classList.remove(`config-ui-x-${this.theme}`),f.classList.remove(`config-ui-x-dark-mode-${this.theme}`),this.theme=o,this.actualLightingMode==="dark"?(f.classList.add(`config-ui-x-dark-mode-${this.theme}`),f.classList.contains("dark-mode")||f.classList.add("dark-mode")):(f.classList.add(`config-ui-x-${this.theme}`),f.classList.contains("dark-mode")&&f.classList.remove("dark-mode"))}setTitle(o){this.$title.setTitle(o||"Homebridge")}setUiVersion(o){this.uiVersion||(this.uiVersion=o)}setLang(o){o?this.$translate.use(o):o="auto",this.env.lang=o}setEnvItem(o,f){this.env[o]=f}checkServerTime(o){let v=(0,Z.default)(o).diff((0,Z.default)(),"hour");this.serverTimeOffset=v*60*60,(v>=8||v<=-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")})}static \u0275fac=function(f){return new(f||p)};static \u0275prov=R({token:p,factory:p.\u0275fac,providedIn:"root"})}return p})();export{nt as a,vt as b};
@@ -1 +0,0 @@
1
- import{e as h}from"./chunk-TXOB7R5K.js";var P=h((Zn,ue)=>{var rt="2.0.0",tt=Number.MAX_SAFE_INTEGER||9007199254740991,st=16,nt=250,it=["major","premajor","minor","preminor","patch","prepatch","prerelease"];ue.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:st,MAX_SAFE_BUILD_LENGTH:nt,MAX_SAFE_INTEGER:tt,RELEASE_TYPES:it,SEMVER_SPEC_VERSION:rt,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var v=h((Jn,Ee)=>{var ot=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};Ee.exports=ot});var w=h((T,fe)=>{var{MAX_SAFE_COMPONENT_LENGTH:Y,MAX_SAFE_BUILD_LENGTH:lt,MAX_LENGTH:at}=P(),ct=v();T=fe.exports={};var ut=T.re=[],Et=T.safeRe=[],l=T.src=[],a=T.t={},ft=0,B="[a-zA-Z0-9-]",ht=[["\\s",1],["\\d",at],[B,lt]],pt=t=>{for(let[e,r]of ht)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},p=(t,e,r)=>{let s=pt(e),n=ft++;ct(t,n,e),a[t]=n,l[n]=e,ut[n]=new RegExp(e,r?"g":void 0),Et[n]=new RegExp(s,r?"g":void 0)};p("NUMERICIDENTIFIER","0|[1-9]\\d*");p("NUMERICIDENTIFIERLOOSE","\\d+");p("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${B}*`);p("MAINVERSION",`(${l[a.NUMERICIDENTIFIER]})\\.(${l[a.NUMERICIDENTIFIER]})\\.(${l[a.NUMERICIDENTIFIER]})`);p("MAINVERSIONLOOSE",`(${l[a.NUMERICIDENTIFIERLOOSE]})\\.(${l[a.NUMERICIDENTIFIERLOOSE]})\\.(${l[a.NUMERICIDENTIFIERLOOSE]})`);p("PRERELEASEIDENTIFIER",`(?:${l[a.NUMERICIDENTIFIER]}|${l[a.NONNUMERICIDENTIFIER]})`);p("PRERELEASEIDENTIFIERLOOSE",`(?:${l[a.NUMERICIDENTIFIERLOOSE]}|${l[a.NONNUMERICIDENTIFIER]})`);p("PRERELEASE",`(?:-(${l[a.PRERELEASEIDENTIFIER]}(?:\\.${l[a.PRERELEASEIDENTIFIER]})*))`);p("PRERELEASELOOSE",`(?:-?(${l[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[a.PRERELEASEIDENTIFIERLOOSE]})*))`);p("BUILDIDENTIFIER",`${B}+`);p("BUILD",`(?:\\+(${l[a.BUILDIDENTIFIER]}(?:\\.${l[a.BUILDIDENTIFIER]})*))`);p("FULLPLAIN",`v?${l[a.MAINVERSION]}${l[a.PRERELEASE]}?${l[a.BUILD]}?`);p("FULL",`^${l[a.FULLPLAIN]}$`);p("LOOSEPLAIN",`[v=\\s]*${l[a.MAINVERSIONLOOSE]}${l[a.PRERELEASELOOSE]}?${l[a.BUILD]}?`);p("LOOSE",`^${l[a.LOOSEPLAIN]}$`);p("GTLT","((?:<|>)?=?)");p("XRANGEIDENTIFIERLOOSE",`${l[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);p("XRANGEIDENTIFIER",`${l[a.NUMERICIDENTIFIER]}|x|X|\\*`);p("XRANGEPLAIN",`[v=\\s]*(${l[a.XRANGEIDENTIFIER]})(?:\\.(${l[a.XRANGEIDENTIFIER]})(?:\\.(${l[a.XRANGEIDENTIFIER]})(?:${l[a.PRERELEASE]})?${l[a.BUILD]}?)?)?`);p("XRANGEPLAINLOOSE",`[v=\\s]*(${l[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[a.XRANGEIDENTIFIERLOOSE]})(?:${l[a.PRERELEASELOOSE]})?${l[a.BUILD]}?)?)?`);p("XRANGE",`^${l[a.GTLT]}\\s*${l[a.XRANGEPLAIN]}$`);p("XRANGELOOSE",`^${l[a.GTLT]}\\s*${l[a.XRANGEPLAINLOOSE]}$`);p("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Y}})(?:\\.(\\d{1,${Y}}))?(?:\\.(\\d{1,${Y}}))?`);p("COERCE",`${l[a.COERCEPLAIN]}(?:$|[^\\d])`);p("COERCEFULL",l[a.COERCEPLAIN]+`(?:${l[a.PRERELEASE]})?(?:${l[a.BUILD]})?(?:$|[^\\d])`);p("COERCERTL",l[a.COERCE],!0);p("COERCERTLFULL",l[a.COERCEFULL],!0);p("LONETILDE","(?:~>?)");p("TILDETRIM",`(\\s*)${l[a.LONETILDE]}\\s+`,!0);T.tildeTrimReplace="$1~";p("TILDE",`^${l[a.LONETILDE]}${l[a.XRANGEPLAIN]}$`);p("TILDELOOSE",`^${l[a.LONETILDE]}${l[a.XRANGEPLAINLOOSE]}$`);p("LONECARET","(?:\\^)");p("CARETTRIM",`(\\s*)${l[a.LONECARET]}\\s+`,!0);T.caretTrimReplace="$1^";p("CARET",`^${l[a.LONECARET]}${l[a.XRANGEPLAIN]}$`);p("CARETLOOSE",`^${l[a.LONECARET]}${l[a.XRANGEPLAINLOOSE]}$`);p("COMPARATORLOOSE",`^${l[a.GTLT]}\\s*(${l[a.LOOSEPLAIN]})$|^$`);p("COMPARATOR",`^${l[a.GTLT]}\\s*(${l[a.FULLPLAIN]})$|^$`);p("COMPARATORTRIM",`(\\s*)${l[a.GTLT]}\\s*(${l[a.LOOSEPLAIN]}|${l[a.XRANGEPLAIN]})`,!0);T.comparatorTrimReplace="$1$2$3";p("HYPHENRANGE",`^\\s*(${l[a.XRANGEPLAIN]})\\s+-\\s+(${l[a.XRANGEPLAIN]})\\s*$`);p("HYPHENRANGELOOSE",`^\\s*(${l[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[a.XRANGEPLAINLOOSE]})\\s*$`);p("STAR","(<|>)?=?\\s*\\*");p("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");p("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var F=h((Qn,he)=>{var Rt=Object.freeze({loose:!0}),$t=Object.freeze({}),mt=t=>t?typeof t!="object"?Rt:t:$t;he.exports=mt});var W=h((ei,$e)=>{var pe=/^[0-9]+$/,Re=(t,e)=>{let r=pe.test(t),s=pe.test(e);return r&&s&&(t=+t,e=+e),t===e?0:r&&!s?-1:s&&!r?1:t<e?-1:1},It=(t,e)=>Re(e,t);$e.exports={compareIdentifiers:Re,rcompareIdentifiers:It}});var L=h((ri,Ne)=>{var j=v(),{MAX_LENGTH:me,MAX_SAFE_INTEGER:X}=P(),{safeRe:Ie,t:Le}=w(),Lt=F(),{compareIdentifiers:g}=W(),z=class t{constructor(e,r){if(r=Lt(r),e instanceof t){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>me)throw new TypeError(`version is longer than ${me} characters`);j("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let s=e.trim().match(r.loose?Ie[Le.LOOSE]:Ie[Le.FULL]);if(!s)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>X||this.major<0)throw new TypeError("Invalid major version");if(this.minor>X||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>X||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let i=+n;if(i>=0&&i<X)return i}return n}):this.prerelease=[],this.build=s[5]?s[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(j("SemVer.compare",this.version,this.options,e),!(e instanceof t)){if(typeof e=="string"&&e===this.version)return 0;e=new t(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof t||(e=new t(e,this.options)),g(this.major,e.major)||g(this.minor,e.minor)||g(this.patch,e.patch)}comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let s=this.prerelease[r],n=e.prerelease[r];if(j("prerelease compare",r,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return g(s,n)}while(++r)}compareBuild(e){e instanceof t||(e=new t(e,this.options));let r=0;do{let s=this.build[r],n=e.build[r];if(j("build compare",r,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return g(s,n)}while(++r)}inc(e,r,s){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,s);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,s);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,s),this.inc("pre",r,s);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,s),this.inc("pre",r,s);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let n=Number(s)?1:0;if(!r&&s===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[n];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(n)}}if(r){let i=[r,n];s===!1&&(i=[r]),g(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Ne.exports=z});var q=h((ti,de)=>{var Oe=L(),Nt=(t,e,r=!1)=>{if(t instanceof Oe)return t;try{return new Oe(t,e)}catch(s){if(!r)return null;throw s}};de.exports=Nt});var Se=h((si,Ae)=>{var Ot=q(),dt=(t,e)=>{let r=Ot(t,e);return r?r.version:null};Ae.exports=dt});var qe=h((ni,Te)=>{var At=q(),St=(t,e)=>{let r=At(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};Te.exports=St});var Pe=h((ii,ge)=>{var we=L(),Tt=(t,e,r,s,n)=>{typeof r=="string"&&(n=s,s=r,r=void 0);try{return new we(t instanceof we?t.version:t,r).inc(e,s,n).version}catch{return null}};ge.exports=Tt});var Ce=h((oi,xe)=>{var ve=q(),qt=(t,e)=>{let r=ve(t,null,!0),s=ve(e,null,!0),n=r.compare(s);if(n===0)return null;let i=n>0,o=i?r:s,c=i?s:r,u=!!o.prerelease.length;if(!!c.prerelease.length&&!u)return!c.patch&&!c.minor?"major":o.patch?"patch":o.minor?"minor":"major";let $=u?"pre":"";return r.major!==s.major?$+"major":r.minor!==s.minor?$+"minor":r.patch!==s.patch?$+"patch":"prerelease"};xe.exports=qt});var Ge=h((li,De)=>{var wt=L(),gt=(t,e)=>new wt(t,e).major;De.exports=gt});var Fe=h((ai,ye)=>{var Pt=L(),vt=(t,e)=>new Pt(t,e).minor;ye.exports=vt});var Xe=h((ci,je)=>{var xt=L(),Ct=(t,e)=>new xt(t,e).patch;je.exports=Ct});var Ve=h((ui,Ue)=>{var Dt=q(),Gt=(t,e)=>{let r=Dt(t,e);return r&&r.prerelease.length?r.prerelease:null};Ue.exports=Gt});var A=h((Ei,He)=>{var _e=L(),yt=(t,e,r)=>new _e(t,r).compare(new _e(e,r));He.exports=yt});var ke=h((fi,be)=>{var Ft=A(),jt=(t,e,r)=>Ft(e,t,r);be.exports=jt});var Ye=h((hi,Me)=>{var Xt=A(),Ut=(t,e)=>Xt(t,e,!0);Me.exports=Ut});var U=h((pi,We)=>{var Be=L(),Vt=(t,e,r)=>{let s=new Be(t,r),n=new Be(e,r);return s.compare(n)||s.compareBuild(n)};We.exports=Vt});var Ke=h((Ri,ze)=>{var _t=U(),Ht=(t,e)=>t.sort((r,s)=>_t(r,s,e));ze.exports=Ht});var Je=h(($i,Ze)=>{var bt=U(),kt=(t,e)=>t.sort((r,s)=>bt(s,r,e));Ze.exports=kt});var x=h((mi,Qe)=>{var Mt=A(),Yt=(t,e,r)=>Mt(t,e,r)>0;Qe.exports=Yt});var V=h((Ii,er)=>{var Bt=A(),Wt=(t,e,r)=>Bt(t,e,r)<0;er.exports=Wt});var K=h((Li,rr)=>{var zt=A(),Kt=(t,e,r)=>zt(t,e,r)===0;rr.exports=Kt});var Z=h((Ni,tr)=>{var Zt=A(),Jt=(t,e,r)=>Zt(t,e,r)!==0;tr.exports=Jt});var _=h((Oi,sr)=>{var Qt=A(),es=(t,e,r)=>Qt(t,e,r)>=0;sr.exports=es});var H=h((di,nr)=>{var rs=A(),ts=(t,e,r)=>rs(t,e,r)<=0;nr.exports=ts});var J=h((Ai,ir)=>{var ss=K(),ns=Z(),is=x(),os=_(),ls=V(),as=H(),cs=(t,e,r,s)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return ss(t,r,s);case"!=":return ns(t,r,s);case">":return is(t,r,s);case">=":return os(t,r,s);case"<":return ls(t,r,s);case"<=":return as(t,r,s);default:throw new TypeError(`Invalid operator: ${e}`)}};ir.exports=cs});var lr=h((Si,or)=>{var us=L(),Es=q(),{safeRe:b,t:k}=w(),fs=(t,e)=>{if(t instanceof us)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?b[k.COERCEFULL]:b[k.COERCE]);else{let u=e.includePrerelease?b[k.COERCERTLFULL]:b[k.COERCERTL],R;for(;(R=u.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||R.index+R[0].length!==r.index+r[0].length)&&(r=R),u.lastIndex=R.index+R[1].length+R[2].length;u.lastIndex=-1}if(r===null)return null;let s=r[2],n=r[3]||"0",i=r[4]||"0",o=e.includePrerelease&&r[5]?`-${r[5]}`:"",c=e.includePrerelease&&r[6]?`+${r[6]}`:"";return Es(`${s}.${n}.${i}${o}${c}`,e)};or.exports=fs});var cr=h((Ti,ar)=>{var Q=class{constructor(){this.max=1e3,this.map=new Map}get(e){let r=this.map.get(e);if(r!==void 0)return this.map.delete(e),this.map.set(e,r),r}delete(e){return this.map.delete(e)}set(e,r){if(!this.delete(e)&&r!==void 0){if(this.map.size>=this.max){let n=this.map.keys().next().value;this.delete(n)}this.map.set(e,r)}return this}};ar.exports=Q});var S=h((qi,hr)=>{var hs=/\s+/g,ee=class t{constructor(e,r){if(r=Rs(r),e instanceof t)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new t(e.raw,r);if(e instanceof re)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().replace(hs," "),this.set=this.raw.split("||").map(s=>this.parseRange(s.trim())).filter(s=>s.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let s=this.set[0];if(this.set=this.set.filter(n=>!Er(n[0])),this.set.length===0)this.set=[s];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&ds(n[0])){this.set=[n];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let r=this.set[e];for(let s=0;s<r.length;s++)s>0&&(this.formatted+=" "),this.formatted+=r[s].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let s=((this.options.includePrerelease&&Ns)|(this.options.loose&&Os))+":"+e,n=ur.get(s);if(n)return n;let i=this.options.loose,o=i?d[N.HYPHENRANGELOOSE]:d[N.HYPHENRANGE];e=e.replace(o,Cs(this.options.includePrerelease)),m("hyphen replace",e),e=e.replace(d[N.COMPARATORTRIM],ms),m("comparator trim",e),e=e.replace(d[N.TILDETRIM],Is),m("tilde trim",e),e=e.replace(d[N.CARETTRIM],Ls),m("caret trim",e);let c=e.split(" ").map(E=>As(E,this.options)).join(" ").split(/\s+/).map(E=>xs(E,this.options));i&&(c=c.filter(E=>(m("loose invalid filter",E,this.options),!!E.match(d[N.COMPARATORLOOSE])))),m("range list",c);let u=new Map,R=c.map(E=>new re(E,this.options));for(let E of R){if(Er(E))return[E];u.set(E.value,E)}u.size>1&&u.has("")&&u.delete("");let $=[...u.values()];return ur.set(s,$),$}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(s=>fr(s,r)&&e.set.some(n=>fr(n,r)&&s.every(i=>n.every(o=>i.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new $s(e,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(Ds(this.set[r],e,this.options))return!0;return!1}};hr.exports=ee;var ps=cr(),ur=new ps,Rs=F(),re=C(),m=v(),$s=L(),{safeRe:d,t:N,comparatorTrimReplace:ms,tildeTrimReplace:Is,caretTrimReplace:Ls}=w(),{FLAG_INCLUDE_PRERELEASE:Ns,FLAG_LOOSE:Os}=P(),Er=t=>t.value==="<0.0.0-0",ds=t=>t.value==="",fr=(t,e)=>{let r=!0,s=t.slice(),n=s.pop();for(;r&&s.length;)r=s.every(i=>n.intersects(i,e)),n=s.pop();return r},As=(t,e)=>(m("comp",t,e),t=qs(t,e),m("caret",t),t=Ss(t,e),m("tildes",t),t=gs(t,e),m("xrange",t),t=vs(t,e),m("stars",t),t),O=t=>!t||t.toLowerCase()==="x"||t==="*",Ss=(t,e)=>t.trim().split(/\s+/).map(r=>Ts(r,e)).join(" "),Ts=(t,e)=>{let r=e.loose?d[N.TILDELOOSE]:d[N.TILDE];return t.replace(r,(s,n,i,o,c)=>{m("tilde",t,s,n,i,o,c);let u;return O(n)?u="":O(i)?u=`>=${n}.0.0 <${+n+1}.0.0-0`:O(o)?u=`>=${n}.${i}.0 <${n}.${+i+1}.0-0`:c?(m("replaceTilde pr",c),u=`>=${n}.${i}.${o}-${c} <${n}.${+i+1}.0-0`):u=`>=${n}.${i}.${o} <${n}.${+i+1}.0-0`,m("tilde return",u),u})},qs=(t,e)=>t.trim().split(/\s+/).map(r=>ws(r,e)).join(" "),ws=(t,e)=>{m("caret",t,e);let r=e.loose?d[N.CARETLOOSE]:d[N.CARET],s=e.includePrerelease?"-0":"";return t.replace(r,(n,i,o,c,u)=>{m("caret",t,n,i,o,c,u);let R;return O(i)?R="":O(o)?R=`>=${i}.0.0${s} <${+i+1}.0.0-0`:O(c)?i==="0"?R=`>=${i}.${o}.0${s} <${i}.${+o+1}.0-0`:R=`>=${i}.${o}.0${s} <${+i+1}.0.0-0`:u?(m("replaceCaret pr",u),i==="0"?o==="0"?R=`>=${i}.${o}.${c}-${u} <${i}.${o}.${+c+1}-0`:R=`>=${i}.${o}.${c}-${u} <${i}.${+o+1}.0-0`:R=`>=${i}.${o}.${c}-${u} <${+i+1}.0.0-0`):(m("no pr"),i==="0"?o==="0"?R=`>=${i}.${o}.${c}${s} <${i}.${o}.${+c+1}-0`:R=`>=${i}.${o}.${c}${s} <${i}.${+o+1}.0-0`:R=`>=${i}.${o}.${c} <${+i+1}.0.0-0`),m("caret return",R),R})},gs=(t,e)=>(m("replaceXRanges",t,e),t.split(/\s+/).map(r=>Ps(r,e)).join(" ")),Ps=(t,e)=>{t=t.trim();let r=e.loose?d[N.XRANGELOOSE]:d[N.XRANGE];return t.replace(r,(s,n,i,o,c,u)=>{m("xRange",t,s,n,i,o,c,u);let R=O(i),$=R||O(o),E=$||O(c),I=E;return n==="="&&I&&(n=""),u=e.includePrerelease?"-0":"",R?n===">"||n==="<"?s="<0.0.0-0":s="*":n&&I?($&&(o=0),c=0,n===">"?(n=">=",$?(i=+i+1,o=0,c=0):(o=+o+1,c=0)):n==="<="&&(n="<",$?i=+i+1:o=+o+1),n==="<"&&(u="-0"),s=`${n+i}.${o}.${c}${u}`):$?s=`>=${i}.0.0${u} <${+i+1}.0.0-0`:E&&(s=`>=${i}.${o}.0${u} <${i}.${+o+1}.0-0`),m("xRange return",s),s})},vs=(t,e)=>(m("replaceStars",t,e),t.trim().replace(d[N.STAR],"")),xs=(t,e)=>(m("replaceGTE0",t,e),t.trim().replace(d[e.includePrerelease?N.GTE0PRE:N.GTE0],"")),Cs=t=>(e,r,s,n,i,o,c,u,R,$,E,I)=>(O(s)?r="":O(n)?r=`>=${s}.0.0${t?"-0":""}`:O(i)?r=`>=${s}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,O(R)?u="":O($)?u=`<${+R+1}.0.0-0`:O(E)?u=`<${R}.${+$+1}.0-0`:I?u=`<=${R}.${$}.${E}-${I}`:t?u=`<${R}.${$}.${+E+1}-0`:u=`<=${u}`,`${r} ${u}`.trim()),Ds=(t,e,r)=>{for(let s=0;s<t.length;s++)if(!t[s].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let s=0;s<t.length;s++)if(m(t[s].semver),t[s].semver!==re.ANY&&t[s].semver.prerelease.length>0){let n=t[s].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var C=h((wi,Lr)=>{var D=Symbol("SemVer ANY"),ne=class t{static get ANY(){return D}constructor(e,r){if(r=pr(r),e instanceof t){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),se("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===D?this.value="":this.value=this.operator+this.semver.version,se("comp",this)}parse(e){let r=this.options.loose?Rr[$r.COMPARATORLOOSE]:Rr[$r.COMPARATOR],s=e.match(r);if(!s)throw new TypeError(`Invalid comparator: ${e}`);this.operator=s[1]!==void 0?s[1]:"",this.operator==="="&&(this.operator=""),s[2]?this.semver=new mr(s[2],this.options.loose):this.semver=D}toString(){return this.value}test(e){if(se("Comparator.test",e,this.options.loose),this.semver===D||e===D)return!0;if(typeof e=="string")try{e=new mr(e,this.options)}catch{return!1}return te(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Ir(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new Ir(this.value,r).test(e.semver):(r=pr(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||te(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||te(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};Lr.exports=ne;var pr=F(),{safeRe:Rr,t:$r}=w(),te=J(),se=v(),mr=L(),Ir=S()});var G=h((gi,Nr)=>{var Gs=S(),ys=(t,e,r)=>{try{e=new Gs(e,r)}catch{return!1}return e.test(t)};Nr.exports=ys});var dr=h((Pi,Or)=>{var Fs=S(),js=(t,e)=>new Fs(t,e).set.map(r=>r.map(s=>s.value).join(" ").trim().split(" "));Or.exports=js});var Sr=h((vi,Ar)=>{var Xs=L(),Us=S(),Vs=(t,e,r)=>{let s=null,n=null,i=null;try{i=new Us(e,r)}catch{return null}return t.forEach(o=>{i.test(o)&&(!s||n.compare(o)===-1)&&(s=o,n=new Xs(s,r))}),s};Ar.exports=Vs});var qr=h((xi,Tr)=>{var _s=L(),Hs=S(),bs=(t,e,r)=>{let s=null,n=null,i=null;try{i=new Hs(e,r)}catch{return null}return t.forEach(o=>{i.test(o)&&(!s||n.compare(o)===1)&&(s=o,n=new _s(s,r))}),s};Tr.exports=bs});var Pr=h((Ci,gr)=>{var ie=L(),ks=S(),wr=x(),Ms=(t,e)=>{t=new ks(t,e);let r=new ie("0.0.0");if(t.test(r)||(r=new ie("0.0.0-0"),t.test(r)))return r;r=null;for(let s=0;s<t.set.length;++s){let n=t.set[s],i=null;n.forEach(o=>{let c=new ie(o.semver.version);switch(o.operator){case">":c.prerelease.length===0?c.patch++:c.prerelease.push(0),c.raw=c.format();case"":case">=":(!i||wr(c,i))&&(i=c);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),i&&(!r||wr(r,i))&&(r=i)}return r&&t.test(r)?r:null};gr.exports=Ms});var xr=h((Di,vr)=>{var Ys=S(),Bs=(t,e)=>{try{return new Ys(t,e).range||"*"}catch{return null}};vr.exports=Bs});var M=h((Gi,yr)=>{var Ws=L(),Gr=C(),{ANY:zs}=Gr,Ks=S(),Zs=G(),Cr=x(),Dr=V(),Js=H(),Qs=_(),en=(t,e,r,s)=>{t=new Ws(t,s),e=new Ks(e,s);let n,i,o,c,u;switch(r){case">":n=Cr,i=Js,o=Dr,c=">",u=">=";break;case"<":n=Dr,i=Qs,o=Cr,c="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Zs(t,e,s))return!1;for(let R=0;R<e.set.length;++R){let $=e.set[R],E=null,I=null;if($.forEach(f=>{f.semver===zs&&(f=new Gr(">=0.0.0")),E=E||f,I=I||f,n(f.semver,E.semver,s)?E=f:o(f.semver,I.semver,s)&&(I=f)}),E.operator===c||E.operator===u||(!I.operator||I.operator===c)&&i(t,I.semver))return!1;if(I.operator===u&&o(t,I.semver))return!1}return!0};yr.exports=en});var jr=h((yi,Fr)=>{var rn=M(),tn=(t,e,r)=>rn(t,e,">",r);Fr.exports=tn});var Ur=h((Fi,Xr)=>{var sn=M(),nn=(t,e,r)=>sn(t,e,"<",r);Xr.exports=nn});var Hr=h((ji,_r)=>{var Vr=S(),on=(t,e,r)=>(t=new Vr(t,r),e=new Vr(e,r),t.intersects(e,r));_r.exports=on});var kr=h((Xi,br)=>{var ln=G(),an=A();br.exports=(t,e,r)=>{let s=[],n=null,i=null,o=t.sort(($,E)=>an($,E,r));for(let $ of o)ln($,e,r)?(i=$,n||(n=$)):(i&&s.push([n,i]),i=null,n=null);n&&s.push([n,null]);let c=[];for(let[$,E]of s)$===E?c.push($):!E&&$===o[0]?c.push("*"):E?$===o[0]?c.push(`<=${E}`):c.push(`${$} - ${E}`):c.push(`>=${$}`);let u=c.join(" || "),R=typeof e.raw=="string"?e.raw:String(e);return u.length<R.length?u:e}});var Kr=h((Ui,zr)=>{var Mr=S(),le=C(),{ANY:oe}=le,y=G(),ae=A(),cn=(t,e,r={})=>{if(t===e)return!0;t=new Mr(t,r),e=new Mr(e,r);let s=!1;e:for(let n of t.set){for(let i of e.set){let o=En(n,i,r);if(s=s||o!==null,o)continue e}if(s)return!1}return!0},un=[new le(">=0.0.0-0")],Yr=[new le(">=0.0.0")],En=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===oe){if(e.length===1&&e[0].semver===oe)return!0;r.includePrerelease?t=un:t=Yr}if(e.length===1&&e[0].semver===oe){if(r.includePrerelease)return!0;e=Yr}let s=new Set,n,i;for(let f of t)f.operator===">"||f.operator===">="?n=Br(n,f,r):f.operator==="<"||f.operator==="<="?i=Wr(i,f,r):s.add(f.semver);if(s.size>1)return null;let o;if(n&&i){if(o=ae(n.semver,i.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||i.operator!=="<="))return null}for(let f of s){if(n&&!y(f,String(n),r)||i&&!y(f,String(i),r))return null;for(let et of e)if(!y(f,String(et),r))return!1;return!0}let c,u,R,$,E=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1,I=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;E&&E.prerelease.length===1&&i.operator==="<"&&E.prerelease[0]===0&&(E=!1);for(let f of e){if($=$||f.operator===">"||f.operator===">=",R=R||f.operator==="<"||f.operator==="<=",n){if(I&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===I.major&&f.semver.minor===I.minor&&f.semver.patch===I.patch&&(I=!1),f.operator===">"||f.operator===">="){if(c=Br(n,f,r),c===f&&c!==n)return!1}else if(n.operator===">="&&!y(n.semver,String(f),r))return!1}if(i){if(E&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===E.major&&f.semver.minor===E.minor&&f.semver.patch===E.patch&&(E=!1),f.operator==="<"||f.operator==="<="){if(u=Wr(i,f,r),u===f&&u!==i)return!1}else if(i.operator==="<="&&!y(i.semver,String(f),r))return!1}if(!f.operator&&(i||n)&&o!==0)return!1}return!(n&&R&&!i&&o!==0||i&&$&&!n&&o!==0||I||E)},Br=(t,e,r)=>{if(!t)return e;let s=ae(t.semver,e.semver,r);return s>0?t:s<0||e.operator===">"&&t.operator===">="?e:t},Wr=(t,e,r)=>{if(!t)return e;let s=ae(t.semver,e.semver,r);return s<0?t:s>0||e.operator==="<"&&t.operator==="<="?e:t};zr.exports=cn});var Kn=h((Vi,Qr)=>{var ce=w(),Zr=P(),fn=L(),Jr=W(),hn=q(),pn=Se(),Rn=qe(),$n=Pe(),mn=Ce(),In=Ge(),Ln=Fe(),Nn=Xe(),On=Ve(),dn=A(),An=ke(),Sn=Ye(),Tn=U(),qn=Ke(),wn=Je(),gn=x(),Pn=V(),vn=K(),xn=Z(),Cn=_(),Dn=H(),Gn=J(),yn=lr(),Fn=C(),jn=S(),Xn=G(),Un=dr(),Vn=Sr(),_n=qr(),Hn=Pr(),bn=xr(),kn=M(),Mn=jr(),Yn=Ur(),Bn=Hr(),Wn=kr(),zn=Kr();Qr.exports={parse:hn,valid:pn,clean:Rn,inc:$n,diff:mn,major:In,minor:Ln,patch:Nn,prerelease:On,compare:dn,rcompare:An,compareLoose:Sn,compareBuild:Tn,sort:qn,rsort:wn,gt:gn,lt:Pn,eq:vn,neq:xn,gte:Cn,lte:Dn,cmp:Gn,coerce:yn,Comparator:Fn,Range:jn,satisfies:Xn,toComparators:Un,maxSatisfying:Vn,minSatisfying:_n,minVersion:Hn,validRange:bn,outside:kn,gtr:Mn,ltr:Yn,intersects:Bn,simplifyRange:Wn,subset:zn,SemVer:fn,re:ce.re,src:ce.src,tokens:ce.t,SEMVER_SPEC_VERSION:Zr.SEMVER_SPEC_VERSION,RELEASE_TYPES:Zr.RELEASE_TYPES,compareIdentifiers:Jr.compareIdentifiers,rcompareIdentifiers:Jr.rcompareIdentifiers}});export{Kn as a};
@@ -1 +0,0 @@
1
- import{e as dt,m as pt}from"./chunk-UG5DK2RQ.js";import{$b as U,Ca as H,Db as k,Fb as O,Ga as z,Kb as S,Lb as E,Mb as l,Nb as F,Pb as p,Sc as K,Wb as h,Xb as m,Yb as j,Zb as q,_b as G,a as u,b as T,bc as ht,cb as lt,cc as R,cd as Q,db as L,dc as c,e as It,ha as C,ia as ot,ib as r,jb as v,ka as rt,ma as w,mb as ct,n as g,na as _,nc as f,pc as y,qa as at,rb as Z,sb as ut,xa as $,ya as V}from"./chunk-TXOB7R5K.js";var mt=It((Gt,xt)=>{xt.exports={name:"homebridge-config-ui-x",displayName:"Homebridge UI",version:"5.0.0-beta.7",description:"A web based management, configuration and control platform for Homebridge.",author:"oznu <dev@oz.nu>",license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/oznu"},{type:"paypal",url:"https://paypal.me/oznu"}],repository:{type:"git",url:"git+https://github.com/homebridge/homebridge-config-ui-x.git"},bugs:{url:"https://github.com/homebridge/homebridge-config-ui-x/issues"},keywords:["homebridge-plugin","ui","gui","web","homebridge","homebridge-config-ui-x","ui-x","config-ui-x","homebridge-x","homebridge server","homebridge ui","homebridge-ui","homebridge gui","homebridge-gui","web interface","config ui","management","config editor","linux","macOS","osx","windows","raspberry pi","accessory control","smart home","hb-service"],main:"./dist/index.js",bin:{"homebridge-config-ui-x":"dist/bin/standalone.js","hb-service":"dist/bin/hb-service.js"},engines:{node:"^18 || ^20 || ^22",homebridge:"^1.8.0 || ^2.0.0-beta.0"},scripts:{build:"npm run build:server && npm run build:ui","build:server":"rimraf dist && tsc -p tsconfig.build.json","build:ui":"npm run build --prefix ui",check:"npm run check:server && npm run check:ui","check:server":"npm install && npm outdated","check:ui":"npm install --prefix ui && npm outdated --prefix ui","lang-sync":"ts-node scripts/lang-sync.ts",lint:"eslint . --max-warnings=0","lint:fix":"npm run lint -- --fix",prepublishOnly:"npm i --package-lock-only && npm run lint && npm run build",start:"ts-node -r tsconfig-paths/register src/main.ts",test:"vitest run","test-coverage":"npm run test -- --coverage","upgrade-install":"./scripts/upgrade-install.sh",watch:'concurrently "npm run watch:ui" "npm run watch:server"',"watch:server":"nodemon","watch:ui":"npm run start --prefix ui"},dependencies:{"@fastify/helmet":"11.1.1","@fastify/multipart":"8.3.0","@fastify/static":"7.0.4","@homebridge/hap-client":"2.0.5-beta.0","@homebridge/node-pty-prebuilt-multiarch":"0.12.0-beta.2","@nestjs/axios":"3.1.2","@nestjs/common":"10.4.8","@nestjs/core":"10.4.8","@nestjs/jwt":"10.2.0","@nestjs/passport":"10.0.3","@nestjs/platform-fastify":"10.4.8","@nestjs/platform-socket.io":"10.4.8","@nestjs/swagger":"8.0.7","@nestjs/websockets":"10.4.8",axios:"1.7.7","bash-color":"0.0.4","buffer-shims":"1.0.0","class-transformer":"0.5.1","class-validator":"0.14.1",commander:"12.1.0",dayjs:"1.11.13",fastify:"4.28.1","fs-extra":"11.2.0",jsonwebtoken:"9.0.2",lodash:"4.17.21","node-cache":"5.1.2","node-schedule":"2.1.1",ora:"5.4.1",otplib:"12.0.1","p-limit":"3.1.0",passport:"0.7.0","passport-jwt":"4.0.1","reflect-metadata":"0.2.2",rxjs:"7.8.1",semver:"7.6.3",systeminformation:"5.23.5",tail:"2.2.6",tar:"6.2.1","tcp-port-used":"1.0.2",unzipper:"0.12.3"},devDependencies:{"@antfu/eslint-config":"^3.9.2","@nestjs/testing":"^10.4.8","@types/fs-extra":"^11.0.4","@types/lodash":"^4.17.13","@types/node":"^22.9.3","@types/node-schedule":"^2.1.7","@types/passport-jwt":"^4.0.1","@types/semver":"^7.5.8","@types/tail":"^2.2.3","@types/tar":"^6.1.13","@types/tcp-port-used":"^1.0.4","@types/unzipper":"^0.10.10","@vitest/coverage-v8":"^2.1.5",concurrently:"^9.1.0","eslint-plugin-format":"^0.1.2","form-data":"^4.0.1",nodemon:"^3.1.7",rimraf:"^6.0.1","ts-loader":"^9.5.1","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0",typescript:"^5.7.2","unplugin-swc":"^1.5.1",vitest:"^2.1.5"},maintainers:[{email:"bwp91@icloud.com",name:"bwp91"},{email:"dev@oz.nu",name:"oznu"},{email:"northern.man1@gmail.com",name:"northernman"},{email:"mail@anderl-bauer.de",name:"supereg"},{email:"khaos.tian@gmail.com",name:"khaost"},{email:"erik.baauw@xs4all.nl",name:"ebaauw"},{email:"donavan.becker@icloud.com",name:"donavanbecker"},{email:"dustin.greif@gmail.com",name:"dustin.greif"},{email:"nfarina@gmail.com",name:"nfarina"}]}});var D={serverTarget:mt().version,production:!0,socket:"",api:{base:"/api",socket:`${window.location.protocol==="http:"?"ws://":"wss://"}${window.location.host}`,origin:window.location.origin},jwt:{tokenKey:"access_token",allowedDomains:[document.location.host],disallowedRoutes:[`${window.location.protocol}//${document.location.host}/api/auth/login`]},apiHttpOptions:{},owm:{appid:"fec67b55f7f74deaa28df89ba6a60821"}};var Wt=(()=>{class i{$http=_(dt);get(t,e){return this.$http.get(`${D.api.base}${t}`,e)}post(t,e,n){return this.$http.post(`${D.api.base}${t}`,e,n)}put(t,e,n){return this.$http.put(`${D.api.base}${t}`,e,n)}patch(t,e,n){return this.$http.patch(`${D.api.base}${t}`,e,n)}delete(t,e){return this.$http.delete(`${D.api.base}${t}`,e)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var b=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(b||{}),te="*";function _t(i,s){return{type:b.Trigger,name:i,definitions:s,options:{}}}function Y(i,s=null){return{type:b.Animate,styles:s,timings:i}}function ee(i,s=null){return{type:b.Sequence,steps:i,options:s}}function N(i){return{type:b.Style,styles:i,offset:null}}function M(i,s,t){return{type:b.State,name:i,styles:s,options:t}}function J(i,s,t=null){return{type:b.Transition,expr:i,animation:s,options:t}}var ft=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(s=0,t=0){this.totalTime=s+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}onStart(s){this._originalOnStartFns.push(s),this._onStartFns.push(s)}onDone(s){this._originalOnDoneFns.push(s),this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(s=>s()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(s){this._position=this.totalTime?s*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},gt=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(s){this.players=s;let t=0,e=0,n=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++t==o&&this._onFinish()}),a.onDestroy(()=>{++e==o&&this._onDestroy()}),a.onStart(()=>{++n==o&&this._onStart()})}),this.totalTime=this.players.reduce((a,d)=>Math.max(a,d.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}init(){this.players.forEach(s=>s.init())}onStart(s){this._onStartFns.push(s)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(s=>s()),this._onStartFns=[])}onDone(s){this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(s=>s.play())}pause(){this.players.forEach(s=>s.pause())}restart(){this.players.forEach(s=>s.restart())}finish(){this._onFinish(),this.players.forEach(s=>s.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(s=>s.destroy()),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this.players.forEach(s=>s.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(s){let t=s*this.totalTime;this.players.forEach(e=>{let n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}getPosition(){let s=this.players.reduce((t,e)=>t===null||e.totalTime>t.totalTime?e:t,null);return s!=null?s.getPosition():0}beforeDestroy(){this.players.forEach(s=>{s.beforeDestroy&&s.beforeDestroy()})}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},ie="!";var vt=["toast-component",""];function St(i,s){if(i&1){let t=U();h(0,"button",5),R("click",function(){$(t);let n=c();return V(n.remove())}),h(1,"span",6),f(2,"\xD7"),m()()}}function Et(i,s){if(i&1&&(q(0),f(1),G()),i&2){let t=c(2);r(),y("[",t.duplicatesCount+1,"]")}}function Ft(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Et,2,1,"ng-container",4),m()),i&2){let t=c();p(t.options.titleClass),E("aria-label",t.title),r(),y(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function jt(i,s){if(i&1&&j(0,"div",7),i&2){let t=c();p(t.options.messageClass),l("innerHTML",t.message,L)}}function Rt(i,s){if(i&1&&(h(0,"div",8),f(1),m()),i&2){let t=c();p(t.options.messageClass),E("aria-label",t.message),r(),y(" ",t.message," ")}}function At(i,s){if(i&1&&(h(0,"div"),j(1,"div",9),m()),i&2){let t=c();r(),F("width",t.width()+"%")}}function Ht(i,s){if(i&1){let t=U();h(0,"button",5),R("click",function(){$(t);let n=c();return V(n.remove())}),h(1,"span",6),f(2,"\xD7"),m()()}}function kt(i,s){if(i&1&&(q(0),f(1),G()),i&2){let t=c(2);r(),y("[",t.duplicatesCount+1,"]")}}function Nt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,kt,2,1,"ng-container",4),m()),i&2){let t=c();p(t.options.titleClass),E("aria-label",t.title),r(),y(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function Mt(i,s){if(i&1&&j(0,"div",7),i&2){let t=c();p(t.options.messageClass),l("innerHTML",t.message,L)}}function Pt(i,s){if(i&1&&(h(0,"div",8),f(1),m()),i&2){let t=c();p(t.options.messageClass),E("aria-label",t.message),r(),y(" ",t.message," ")}}function Bt(i,s){if(i&1&&(h(0,"div"),j(1,"div",9),m()),i&2){let t=c();r(),F("width",t.width()+"%")}}var W=class{_attachedHost;component;viewContainerRef;injector;constructor(s,t){this.component=s,this.injector=t}attach(s,t){return this._attachedHost=s,s.attach(this,t)}detach(){let s=this._attachedHost;if(s)return this._attachedHost=void 0,s.detach()}get isAttached(){return this._attachedHost!=null}setAttachedHost(s){this._attachedHost=s}},X=class{_attachedPortal;_disposeFn;attach(s,t){return this._attachedPortal=s,this.attachComponentPortal(s,t)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(s){this._disposeFn=s}},tt=class{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new g;_activate=new g;_manualClose=new g;_resetTimeout=new g;_countDuplicate=new g;constructor(s){this._overlayRef=s}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(s,t){s&&this._resetTimeout.next(),t&&this._countDuplicate.next(++this.duplicatesCount)}},I=class{toastId;config;message;title;toastType;toastRef;_onTap=new g;_onAction=new g;constructor(s,t,e,n,o,a){this.toastId=s,this.config=t,this.message=e,this.title=n,this.toastType=o,this.toastRef=a,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(s){this._onAction.next(s)}onAction(){return this._onAction.asObservable()}},yt={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},bt=new rt("ToastConfig"),et=class extends X{_hostDomElement;_componentFactoryResolver;_appRef;constructor(s,t,e){super(),this._hostDomElement=s,this._componentFactoryResolver=t,this._appRef=e}attachComponentPortal(s,t){let e=this._componentFactoryResolver.resolveComponentFactory(s.component),n;return n=e.create(s.injector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()}),t?this._hostDomElement.insertBefore(this._getComponentRootNode(n),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(n)),n}_getComponentRootNode(s){return s.hostView.rootNodes[0]}},$t=(()=>{class i{_document=_(K);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let t=this._document.createElement("div");t.classList.add("overlay-container"),t.setAttribute("aria-live","polite"),this._document.body.appendChild(t),this._containerElement=t}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),it=class{_portalHost;constructor(s){this._portalHost=s}attach(s,t=!0){return this._portalHost.attach(s,t)}detach(){return this._portalHost.detach()}},Vt=(()=>{class i{_overlayContainer=_($t);_componentFactoryResolver=_(ct);_appRef=_(k);_document=_(K);_paneElements=new Map;create(t,e){return this._createOverlayRef(this.getPaneElement(t,e))}getPaneElement(t="",e){return this._paneElements.get(e)||this._paneElements.set(e,{}),this._paneElements.get(e)[t]||(this._paneElements.get(e)[t]=this._createPaneElement(t,e)),this._paneElements.get(e)[t]}_createPaneElement(t,e){let n=this._document.createElement("div");return n.id="toast-container",n.classList.add(t),n.classList.add("toast-container"),e?e.getContainerElement().appendChild(n):this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalHost(t){return new et(t,this._componentFactoryResolver,this._appRef)}_createOverlayRef(t){return new it(this._createPortalHost(t))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),Tt=(()=>{class i{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(t,e,n,o,a){this.overlay=e,this._injector=n,this.sanitizer=o,this.ngZone=a,this.toastrConfig=u(u({},t.default),t.config),t.config.iconClasses&&(this.toastrConfig.iconClasses=u(u({},t.default.iconClasses),t.config.iconClasses))}show(t,e,n={},o=""){return this._preBuildNotification(o,t,e,this.applyConfig(n))}success(t,e,n={}){let o=this.toastrConfig.iconClasses.success||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}error(t,e,n={}){let o=this.toastrConfig.iconClasses.error||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}info(t,e,n={}){let o=this.toastrConfig.iconClasses.info||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}warning(t,e,n={}){let o=this.toastrConfig.iconClasses.warning||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}clear(t){for(let e of this.toasts)if(t!==void 0){if(e.toastId===t){e.toastRef.manualClose();return}}else e.toastRef.manualClose()}remove(t){let e=this._findToast(t);if(!e||(e.activeToast.toastRef.close(),this.toasts.splice(e.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){let n=this.toasts[this.currentlyActive].toastRef;n.isInactive()||(this.currentlyActive=this.currentlyActive+1,n.activate())}return!0}findDuplicate(t="",e="",n,o){let{includeTitleDuplicates:a}=this.toastrConfig;for(let d of this.toasts){let A=a&&d.title===t;if((!a||A)&&d.message===e)return d.toastRef.onDuplicate(n,o),d}return null}applyConfig(t={}){return u(u({},this.toastrConfig),t)}_findToast(t){for(let e=0;e<this.toasts.length;e++)if(this.toasts[e].toastId===t)return{index:e,activeToast:this.toasts[e]};return null}_preBuildNotification(t,e,n,o){return o.onActivateTick?this.ngZone.run(()=>this._buildNotification(t,e,n,o)):this._buildNotification(t,e,n,o)}_buildNotification(t,e,n,o){if(!o.toastComponent)throw new Error("toastComponent required");let a=this.findDuplicate(n,e,this.toastrConfig.resetTimeoutOnDuplicate&&o.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&n||e)&&this.toastrConfig.preventDuplicates&&a!==null)return a;this.previousToastMessage=e;let d=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(d=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));let A=this.overlay.create(o.positionClass,this.overlayContainer);this.index=this.index+1;let st=e;e&&o.enableHtml&&(st=this.sanitizer.sanitize(lt.HTML,e));let x=new tt(A),P=new I(this.index,o,st,n,t,x),Ct=[{provide:I,useValue:P}],wt=H.create({providers:Ct,parent:this._injector}),Dt=new W(o.toastComponent,wt),nt=A.attach(Dt,o.newestOnTop);x.componentInstance=nt.instance;let B={toastId:this.index,title:n||"",message:e||"",toastRef:x,onShown:x.afterActivate(),onHidden:x.afterClosed(),onTap:P.onTap(),onAction:P.onAction(),portal:nt};return d||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{B.toastRef.activate()})),this.toasts.push(B),B}static \u0275fac=function(e){return new(e||i)(w(bt),w(Vt),w(H),w(pt),w(z))};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),zt=(()=>{class i{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";state;get _state(){return this.state()}get displayStyle(){if(this.state().value==="inactive")return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.ngZone=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o}),this.state=O({value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.update(t=>T(u({},t),{value:"active"})),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.update(t=>T(u({},t),{value:"active"})),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){this.state().value!=="removed"&&(clearTimeout(this.timeout),this.state.update(t=>T(u({},t),{value:"removed"})),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){this.state().value!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state().value!=="removed"&&this.options.disableTimeOut!=="extendedTimeOut"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state().value==="removed"||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(t),e)):this.timeout=setTimeout(()=>t(),e)}outsideInterval(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(t),e)):this.intervalId=setInterval(()=>t(),e)}runInsideAngular(t){this.ngZone?this.ngZone.run(()=>t()):t()}static \u0275fac=function(e){return new(e||i)(v(Tt),v(I),v(z))};static \u0275cmp=Z({type:i,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(e,n){e&1&&R("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(ht("@flyInOut",n._state),p(n.toastClasses),F("display",n.displayStyle))},attrs:vt,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,St,3,0,"button",0)(1,Ft,3,5,"div",1)(2,jt,1,3,"div",2)(3,Rt,2,4,"div",3)(4,At,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[Q],encapsulation:2,data:{animation:[_t("flyInOut",[M("inactive",N({opacity:0})),M("active",N({opacity:1})),M("removed",N({opacity:0})),J("inactive => active",Y("{{ easeTime }}ms {{ easing }}")),J("active => removed",Y("{{ easeTime }}ms {{ easing }}"))])]},changeDetection:0})}return i})(),Lt=T(u({},yt),{toastComponent:zt}),Zt=(i={})=>at([{provide:bt,useValue:{default:Lt,config:i}}]),ye=(()=>{class i{static forRoot(t={}){return{ngModule:i,providers:[Zt(t)]}}static \u0275fac=function(e){return new(e||i)};static \u0275mod=ut({type:i});static \u0275inj=ot({})}return i})();var qt=(()=>{class i{toastrService;toastPackage;appRef;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";get displayStyle(){return this.state()==="inactive"?"none":null}state=O("inactive");timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.appRef=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.set("active"),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.set("active"),this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=new Date().getTime()+(this.originalTimeout||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.state.set("removed"),this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){this.state()!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state()==="removed"||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}static \u0275fac=function(e){return new(e||i)(v(Tt),v(I),v(k))};static \u0275cmp=Z({type:i,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(e,n){e&1&&R("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(p(n.toastClasses),F("display",n.displayStyle))},attrs:vt,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,Ht,3,0,"button",0)(1,Nt,3,5,"div",1)(2,Mt,1,3,"div",2)(3,Pt,2,4,"div",3)(4,Bt,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[Q],encapsulation:2,changeDetection:0})}return i})(),be=T(u({},yt),{toastComponent:qt});export{D as a,Wt as b,b as c,te as d,ee as e,N as f,ft as g,gt as h,ie as i,Tt as j,ye as k};
@@ -1 +0,0 @@
1
- import{a as w}from"./chunk-SK5UJRQU.js";import{d as S}from"./chunk-NZNNTHFQ.js";import{b as k}from"./chunk-V7D5U2P3.js";import{b as y,j as T}from"./chunk-WNVJPPO7.js";import{a as C,b as $}from"./chunk-3IX3CLER.js";import{Bc as p,Cc as m,Kb as _,Mb as x,Rb as c,Wb as n,Xb as r,Yb as f,db as u,dc as g,ib as e,na as a,nc as o,oc as s,rb as v}from"./chunk-TXOB7R5K.js";function b(t,h){t&1&&(n(0,"p",7),o(1),p(2,"translate"),r()),t&2&&(e(),s(m(2,1,"restart.please_wait_while_server_restarts")))}function E(t,h){if(t&1&&(n(0,"div",8),o(1),r()),t&2){let i=g();e(),s(i.error)}}function I(t,h){t&1&&(n(0,"div",9)(1,"div",10),f(2,"i",11),r()())}function R(t,h){t&1&&(n(0,"div")(1,"div",12)(2,"p"),o(3),p(4,"translate"),r(),f(5,"p",13),p(6,"translate"),r()()),t&2&&(e(3),s(m(4,2,"platform.docker.server_long_time")),e(2),x("innerHTML",m(6,4,"platform.docker.run_with_restart"),u))}var P=(()=>{class t{$api=a(y);$router=a(S);$settings=a(k);$toastr=a(T);$translate=a(C);$ws=a(w);checkTimeout;checkDelay;resp={};timeout=!1;error=!1;io;ngOnInit(){this.io=this.$ws.connectToNamespace("status"),this.io.connected.subscribe(()=>{this.io.socket.emit("monitor-server-status"),this.$settings.getAppSettings().catch()}),this.$api.put("/platform-tools/docker/restart-container",{}).subscribe({next:i=>{this.resp=i,this.checkIfServerUp()},error:i=>{this.error=this.$translate.instant("restart.toast_server_restart_error"),console.error(i),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",i=>{(i.status==="up"||i.status==="pending")&&(this.$toastr.success(this.$translate.instant("platform.docker.container_restarted"),this.$translate.instant("toast.title_success")),this.$router.navigate(["/"]))})},1e4),this.checkTimeout=setTimeout(()=>{this.$toastr.warning(this.$translate.instant("restart.toast_server_restart_timeout"),this.$translate.instant("toast.title_warning"),{timeOut:1e4}),this.timeout=!0},6e4)}ngOnDestroy(){this.io.end(),clearTimeout(this.checkDelay),clearTimeout(this.checkTimeout)}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=v({type:t,selectors:[["ng-component"]],decls:15,vars:10,consts:[[1,"d-flex","justify-content-between"],[1,"primary-text","m-0"],[1,"my-4","align-items-center",2,"max-width","1000px","margin","auto"],[1,"w-100","text-center","primary-text","mb-5"],[1,"fab","fa-fw","fa-docker",2,"font-size","75px"],[1,"text-center"],[1,"primary-text","mb-4"],[1,"grey-text"],[1,"alert","alert-error","my-4"],[1,"justify-content-center","my-4"],[1,"restart-progress-box","primary-text"],[1,"fas","fa-fw","fa-spinner","fa-spin"],[1,"alert","alert-warning","my-4"],[1,"grey-text","mb-0",3,"innerHTML"]],template:function(l,d){l&1&&(n(0,"div",0)(1,"h3",1),o(2),p(3,"translate"),r()(),n(4,"div",2)(5,"div",3),f(6,"i",4),r(),n(7,"div",5)(8,"h4",6),o(9),p(10,"translate"),r(),_(11,b,3,3,"p",7)(12,E,2,1,"div",8)(13,I,3,0,"div",9)(14,R,7,6,"div"),r()()),l&2&&(e(2),s(m(3,6,"menu.restart.title")),e(7),s(m(10,8,"platform.docker.title_restarting")),e(2),c(d.error?-1:11),e(),c(d.error?12:-1),e(),c(d.error?-1:13),e(),c(d.timeout?14:-1))},dependencies:[$],styles:[".restart-progress-box[_ngcontent-%COMP%]{font-size:22px;margin-top:15px}"]})}return t})();export{P as a};
@@ -1 +0,0 @@
1
- import{a as X}from"./chunk-KRNQN3FT.js";import{b as we,w as Be}from"./chunk-JU4PP2VY.js";import{a as ye}from"./chunk-KHNBODZR.js";import{b as De}from"./chunk-6HR4EKFX.js";import{g as U,m as N,n as j,o as ke}from"./chunk-ORPWYWCL.js";import{b as K,c as pe,e as q,f as de,g as Z,j as O,k as ce,l as J,m as me,n as ue,o as ge,p as _e,q as be,r as ve,s as fe,t as he,u as xe,v as Se,y as Q,z as Ce}from"./chunk-QHPDGSZ6.js";import{d as oe,e as se}from"./chunk-NZNNTHFQ.js";import{b as le}from"./chunk-V7D5U2P3.js";import{b as T,j as M}from"./chunk-WNVJPPO7.js";import{a as A,b as E}from"./chunk-3IX3CLER.js";import{$b as w,Bc as l,Cc as o,Dc as H,Kb as k,Lb as b,M as Y,Mb as u,Rb as h,Tb as F,Ub as V,Vb as D,Wb as i,Xb as n,Yb as d,ad as R,cc as v,db as te,dc as f,g as Ve,h as y,ib as e,id as W,kd as re,na as x,nc as r,oc as c,pc as g,qc as P,rb as B,sc as ie,tc as ne,uc as ae,w as I,xa as S,xc as L,ya as C,yc as $}from"./chunk-TXOB7R5K.js";var ee=Ve(De(),1);var Pe=(a,m)=>({"fa-download":a,"fa-cog fa-spin":m}),Re=a=>({backupTime:a,dayCount:7}),Ue=(a,m)=>({"fa-trash":a,"fa-cog fa-spin":m}),ze=(a,m)=>({backupSize:a,maxBackupSizeText:m});function He(a,m){if(a&1&&(i(0,"li"),r(1),l(2,"date"),l(3,"translate"),n()),a&2){let t=f();e(),g(" ",H(3,4,"backup.scheduled_backup_time",L(7,Re,H(2,1,t.backupTime,"shortTime")))," ")}}function Oe(a,m){if(a&1&&(i(0,"span",24),l(1,"translate"),d(2,"i",28),r(3),n()),a&2){let t=f().$implicit;u("ngbTooltip",H(1,2,"backup.backup_exceeds_max_size",$(5,ze,t.size+"MB",t.maxBackupSizeText))),e(3),g(" ",t.size,"MB ")}}function je(a,m){if(a&1&&(i(0,"span"),r(1),n()),a&2){let t=f().$implicit;e(),g(" ",t.size,"MB ")}}function Ge(a,m){if(a&1){let t=w();i(0,"li",9)(1,"span")(2,"span",23),r(3),l(4,"date"),n(),d(5,"br"),i(6,"small",10),r(7),l(8,"date"),k(9,Oe,4,8,"span",24)(10,je,2,1,"span"),n()(),i(11,"span",11)(12,"button",25),l(13,"translate"),l(14,"translate"),v("click",function(){let s=S(t).$implicit,_=f();return C(_.restore(s))}),d(15,"i",13),n(),i(16,"button",14),l(17,"translate"),l(18,"translate"),v("click",function(){let s=S(t).$implicit,_=f();return C(_.download(s))}),d(19,"i",26),n(),i(20,"button",27),l(21,"translate"),l(22,"translate"),v("click",function(){let s=S(t).$implicit,_=f();return C(_.delete(s))}),d(23,"i",15),n()()()}if(a&2){let t=m.$implicit,p=f();e(2),u("ngbTooltip",t.fileName),e(),g(" ",H(4,15,t.timestamp,"mediumDate")," "),e(4),g(" ",H(8,18,t.timestamp,"shortTime")," \xB7 "),e(2),h(t.size>t.maxBackupSize?9:-1),e(),h(t.size<=t.maxBackupSize?10:-1),e(2),u("disabled",p.clicked||p.deleting||t.size>t.maxBackupSize)("ngbTooltip",o(13,21,"form.button_restore")),b("aria-label",o(14,23,"form.button_restore")),e(4),u("disabled",p.clicked||p.deleting)("ngbTooltip",o(17,25,"form.button_download")),b("aria-label",o(18,27,"form.button_download")),e(4),u("disabled",p.clicked||p.deleting)("ngbTooltip",o(21,29,"form.button_delete")),b("aria-label",o(22,31,"form.button_delete")),e(3),u("ngClass",$(33,Ue,t.id!==p.deleting,t.id===p.deleting))}}function Le(a,m){if(a&1&&(i(0,"div")(1,"div",29)(2,"h4",30),r(3),l(4,"translate"),n(),i(5,"p"),r(6),n()()()),a&2){let t=f();e(3),c(o(4,2,"toast.title_error")),e(3),c(t.errorMessage)}}var Ee=(()=>{class a{$activeModal=x(N);$api=x(T);$modal=x(j);$toastr=x(M);$translate=x(A);clicked=!1;scheduledBackups=[];backupTime;errorMessage="";deleting=null;ngOnInit(){this.getScheduledBackups(),this.getNextBackup()}getScheduledBackups(){this.$api.get("/backup/scheduled-backups").subscribe({next:t=>{this.scheduledBackups=t},error:t=>{this.errorMessage=t.error.message||t.message}})}getNextBackup(){this.$api.get("/backup/scheduled-backups/next").subscribe({next:t=>{this.backupTime=t.next},error:t=>{console.error(t)}})}download(t){this.$api.get(`/backup/scheduled-backups/${t.id}`,{observe:"response",responseType:"blob"}).subscribe({next:p=>{let s=t.fileName||"homebridge-backup.tar.gz",_=p.body.size;if(_>globalThis.backup.maxBackupSize){let z=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(_/1048576).toFixed(1)}MB`});this.$toastr.warning(z,this.$translate.instant("toast.title_warning"))}(0,ee.saveAs)(p.body,s)},error:p=>{console.error(p),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})}restore(t){this.$activeModal.close();let p=this.$modal.open(X,{size:"lg",backdrop:"static"});p.componentInstance.selectedBackup=t}delete(t){this.deleting=t.id,this.$api.delete(`/backup/scheduled-backups/${t.id}`).subscribe({next:()=>{this.getScheduledBackups(),this.deleting=null},error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("backup.backup_delete_failed"),this.$translate.instant("toast.title_error"))}})}onDownloadBackupClick(){return y(this,null,function*(){this.clicked=!0,this.$api.get("/backup/download",{observe:"response",responseType:"blob"}).subscribe({next:t=>{let p=t.headers.get("File-Name")||"homebridge-backup.tar.gz";this.clicked=!1;let s=t.body.size;if(s>globalThis.backup.maxBackupSize){let _=this.$translate.instant("backup.backup_exceeds_max_size",{maxBackupSizeText:globalThis.backup.maxBackupSizeText,size:`${(s/1048576).toFixed(1)}MB`});this.$toastr.warning(_,this.$translate.instant("toast.title_warning"))}(0,ee.saveAs)(t.body,p)},error:t=>{this.clicked=!1,console.error(t),this.$toastr.error(this.$translate.instant("backup.backup_download_failed"),this.$translate.instant("toast.title_error"))}})})}Date=Date;static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:55,vars:50,consts:[[1,"modal-content","hb-backup-modal"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mt-2","mb-3"],[1,"fas","fa-fw","fa-hard-drive","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[2,"display","flex","flex-wrap","nowrap"],["disabled","",1,"btn","btn-primary","ml-3"],[1,"fas","fa-fw","fa-history"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw",3,"ngClass"],["disabled","",1,"btn","btn-danger","ml-1"],[1,"fas","fa-fw","fa-trash"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],["container","modal","openDelay","150","triggers","hover",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"red-text",3,"ngbTooltip"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-3",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-download"],["placement","bottom","container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","ml-1",3,"click","disabled","ngbTooltip"],[1,"fas","fa-fw","fa-exclamation-circle"],["role","alert",1,"alert","alert-error"],[1,"alert-heading"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5)(10,"div",6),d(11,"i",7),n(),i(12,"ul")(13,"li"),r(14),l(15,"translate"),n(),i(16,"li"),r(17),l(18,"translate"),n(),i(19,"li"),r(20),l(21,"translate"),n(),k(22,He,4,9,"li"),n(),i(23,"ul",8)(24,"li",9)(25,"span")(26,"span"),r(27),l(28,"date"),n(),d(29,"br"),i(30,"small",10),r(31),l(32,"date"),l(33,"translate"),n()(),i(34,"span",11)(35,"button",12),l(36,"translate"),d(37,"i",13),n(),i(38,"button",14),l(39,"translate"),l(40,"translate"),v("click",function(){return s.onDownloadBackupClick()}),d(41,"i",15),n(),i(42,"button",16),l(43,"translate"),d(44,"i",17),n()()(),V(45,Ge,24,36,"li",9,F),n(),k(47,Le,7,4,"div"),n(),i(48,"div",18),d(49,"div",19),i(50,"div",20)(51,"button",21),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(52),l(53,"translate"),n()(),d(54,"div",22),n()()),p&2&&(e(3),c(o(4,19,"backup.title_backup")),e(2),u("disabled",s.clicked||s.deleting),b("aria-label",o(6,21,"form.button_close")),e(9),c(o(15,23,"backup.backup_help_one")),e(3),c(o(18,25,"backup.backup_help_two")),e(3),c(o(21,27,"backup.backup_warning")),e(2),h(s.backupTime?22:-1),e(5),g(" ",H(28,29,s.Date.now(),"mediumDate")," "),e(4),P("",H(32,32,s.Date.now(),"shortTime")," \xB7 ",o(33,35,"backup.now"),""),e(4),b("aria-label",o(36,37,"form.button_restore")),e(3),u("disabled",s.clicked)("ngbTooltip",o(39,39,"form.button_download")),b("aria-label",o(40,41,"form.button_download")),e(3),u("ngClass",$(47,Pe,!s.clicked,s.clicked)),e(),b("aria-label",o(43,43,"form.button_delete")),e(3),D(s.scheduledBackups),e(2),h(s.errorMessage?47:-1),e(4),u("disabled",s.clicked||s.deleting),e(),g(" ",o(53,45,"form.button_close")," "))},dependencies:[ke,R,re,E],encapsulation:2})}return a})();function We(a,m){a&1&&(i(0,"div",6),d(1,"i",13),i(2,"p",14),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.remove_cached_accessories_single_empty")))}function Ke(a,m){a&1&&(i(0,"div")(1,"div",15),d(2,"i",16),n(),i(3,"ngb-alert",17)(4,"p",18),r(5),l(6,"translate"),n(),i(7,"ul",19)(8,"li"),r(9),l(10,"translate"),n(),i(11,"li"),r(12),l(13,"translate"),n(),i(14,"li",14),r(15),l(16,"translate"),n()()()()),a&2&&(e(3),u("dismissible",!1),e(2),c(o(6,5,"reset.action_is_irreversible")),e(4),c(o(10,7,"reset.clear_cache_all.list_1")),e(3),c(o(13,9,"reset.clear_cache_all.list_2")),e(3),c(o(16,11,"reset.clear_cache_all.list_3")))}function qe(a,m){if(a&1){let t=w();i(0,"button",20),l(1,"translate"),v("click",function(){S(t);let s=f();return C(s.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}if(a&2){let t=f();u("disabled",t.clicked),b("aria-label",o(1,3,"form.button_close")),e(2),g(" ",o(3,5,"form.button_close")," ")}}function Je(a,m){if(a&1){let t=w();i(0,"button",21),l(1,"translate"),v("click",function(){S(t);let s=f();return C(s.$activeModal.dismiss("Dismiss"))}),r(2),l(3,"translate"),n()}a&2&&(b("aria-label",o(1,2,"form.button_close")),e(2),g(" ",o(3,4,"form.button_close")," "))}function Qe(a,m){a&1&&(i(0,"span"),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"form.button_remove")))}function Xe(a,m){a&1&&d(0,"i",23)}function Ye(a,m){if(a&1){let t=w();i(0,"button",22),v("click",function(){S(t);let s=f();return C(s.onResetCachedAccessoriesClick())}),k(1,Qe,3,3,"span")(2,Xe,1,0,"i",23),n()}if(a&2){let t=f();u("disabled",t.clicked),e(),h(t.clicked?-1:1),e(),h(t.clicked?2:-1)}}var Ie=(()=>{class a{$activeModal=x(N);$api=x(T);$toastr=x(M);$translate=x(A);clicked;cachedAccessories=[];ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return y(this,null,function*(){try{this.cachedAccessories=yield I(this.$api.get("/server/cached-accessories"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onResetCachedAccessoriesClick(){return this.clicked=!0,this.$api.put("/server/reset-cached-accessories",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.delete_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()},error:t=>{this.clicked=!1,console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,We,5,3,"div",6)(11,Ke,17,13,"div"),n(),i(12,"div",7)(13,"div",8),k(14,qe,4,7,"button",9),n(),i(15,"div",6),k(16,Je,4,6,"button",10),n(),i(17,"div",11),k(18,Ye,3,3,"button",12),n()()()),p&2&&(e(3),c(o(4,8,"reset.clear_cache_all.title")),e(2),u("disabled",s.clicked),b("aria-label",o(6,10,"form.button_close")),e(5),h(s.cachedAccessories.length===0?10:-1),e(),h(s.cachedAccessories.length>0?11:-1),e(3),h(s.cachedAccessories.length>0?14:-1),e(2),h(s.cachedAccessories.length===0?16:-1),e(2),h(s.cachedAccessories.length>0?18:-1))},dependencies:[U,E],encapsulation:2})}return a})();var Ze=(a,m)=>({"green-text":a,"red-text":m}),et=(a,m)=>({"fa-trash":a,"fa-cog fa-spin":m});function tt(a,m){a&1&&(i(0,"div",6),d(1,"i",11),i(2,"p",12),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.clear_cache_bridge.empty")))}function it(a,m){if(a&1){let t=w();i(0,"li",18)(1,"span"),r(2),l(3,"titlecase"),d(4,"br"),i(5,"small",19),d(6,"i",20),r(7),l(8,"translate"),n()(),i(9,"button",21),l(10,"translate"),v("click",function(){let s=S(t).$implicit,_=f(2);return C(_.removeAccessories(s._id))}),d(11,"i",22),n()()}if(a&2){let t=m.$implicit,p=f(2);e(2),P(" ",t.displayName," (",t._main?"Homebridge":o(3,8,t._category),") "),e(4),u("ngClass",$(14,Ze,t._isPaired,!t._isPaired)),e(),P(" ",o(8,10,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",t._username," "),e(2),u("disabled",p.deleting||p.deleted.includes(t._id)),b("aria-label",o(10,12,"form.button_delete")),e(2),u("ngClass",$(17,et,t._id!==p.deleting,t._id===p.deleting))}}function nt(a,m){if(a&1&&(i(0,"div")(1,"div",13),d(2,"i",14),n(),i(3,"ngb-alert",15)(4,"ul",16)(5,"li"),r(6),l(7,"translate"),n(),i(8,"li"),r(9),l(10,"translate"),n(),i(11,"li"),r(12),l(13,"translate"),n()()(),i(14,"ul",17),V(15,it,12,20,"li",18,F),n()()),a&2){let t=f();e(3),u("dismissible",!1),e(3),c(o(7,4,"reset.clear_cache_bridge.list_1")),e(3),c(o(10,6,"reset.clear_cache_single.list_3")),e(3),c(o(13,8,"reset.clear_cache_bridge.list_2")),e(3),D(t.pairings)}}var $e=(()=>{class a{$activeModal=x(N);$api=x(T);$modal=x(j);$toastr=x(M);$translate=x(A);pairings=[];deleting=null;deleted=[];ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{this.pairings=(yield I(this.$api.get("/server/pairings"))).filter(t=>t._category==="bridge"&&!t._main).sort((t,p)=>p._main?1:-1)}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessories(t){this.deleting=t,this.$api.delete(`/server/pairings/${t}/accessories`).subscribe({next:()=>y(this,null,function*(){yield this.loadPairings(),this.deleting=null,this.deleted.push(t),this.$toastr.success("",this.$translate.instant("toast.title_success"))}),error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){if(this.deleted.length){let t=this.$modal.open(we,{size:"lg",backdrop:"static"});t.componentInstance.bridges=this.deleted.map(p=>{let{_username:s,displayName:_}=this.pairings.find(z=>z._id===p);return{displayName:_,username:s}})}}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,tt,5,3,"div",6)(11,nt,17,10,"div"),n(),i(12,"div",7),d(13,"div",8),i(14,"div",6)(15,"button",9),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(16),l(17,"translate"),n()(),d(18,"div",10),n()()),p&2&&(e(3),c(o(4,7,"reset.clear_cache_bridge.title")),e(2),u("disabled",s.deleting),b("aria-label",o(6,9,"form.button_close")),e(5),h(s.pairings.length===0?10:-1),e(),h(s.pairings.length>0?11:-1),e(4),u("disabled",s.deleting),e(),g(" ",o(17,11,"form.button_close")," "))},dependencies:[U,R,W,E],encapsulation:2})}return a})();var at=(a,m)=>({"fa-trash":a,"fa-cog fa-spin":m});function rt(a,m){a&1&&(i(0,"div",6),d(1,"i",11),i(2,"p",12),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.remove_cached_accessories_single_empty")))}function lt(a,m){if(a&1){let t=w();i(0,"li",18)(1,"span"),r(2),d(3,"br"),i(4,"small",19),r(5),n()(),i(6,"button",20),l(7,"translate"),v("click",function(){let s=S(t).$implicit,_=f(2);return C(_.removeAccessory(s))}),d(8,"i",21),n()()}if(a&2){let t=m.$implicit,p=f(2);e(2),P(" ",t.displayName," (",t.plugin,") "),e(3),c(t.UUID),e(),u("disabled",p.deleting),b("aria-label",o(7,6,"form.button_delete")),e(2),u("ngClass",$(8,at,t.UUID!==p.deleting,t.UUID===p.deleting))}}function ot(a,m){if(a&1&&(i(0,"div")(1,"div",13),d(2,"i",14),n(),i(3,"ngb-alert",15)(4,"ul",16)(5,"li"),r(6),l(7,"translate"),n(),i(8,"li"),r(9),l(10,"translate"),n(),i(11,"li"),r(12),l(13,"translate"),n(),i(14,"li",12),r(15),l(16,"translate"),n()()(),i(17,"ul",17),V(18,lt,9,11,"li",18,F),n()()),a&2){let t=f();e(3),u("dismissible",!1),e(3),c(o(7,5,"reset.clear_cache_single.list_1")),e(3),c(o(10,7,"reset.clear_cache_single.list_2")),e(3),c(o(13,9,"reset.clear_cache_single.list_3")),e(3),c(o(16,11,"reset.clear_cache_single.list_4")),e(3),D(t.cachedAccessories)}}var Te=(()=>{class a{$activeModal=x(N);$api=x(T);$toastr=x(M);$translate=x(A);cachedAccessories=[];deleting=null;ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return y(this,null,function*(){try{this.cachedAccessories=yield I(this.$api.get("/server/cached-accessories"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(t){this.deleting=t.UUID,this.$toastr.info(this.$translate.instant("reset.removing_cached_accessory_please_wait")),this.$api.delete(`/server/cached-accessories/${t.UUID}`,{params:{cacheFile:t.$cacheFile}}).subscribe({next:()=>y(this,null,function*(){yield this.loadCachedAccessories(),this.deleting=null,this.cachedAccessories.length||this.$activeModal.close(),this.$toastr.success(this.$translate.instant("reset.cached_accessory_removed"),this.$translate.instant("toast.title_success"))}),error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("reset.delete_failed"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-network-wired","mb-4","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"btn","btn-danger","ml-3",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,rt,5,3,"div",6)(11,ot,20,13,"div"),n(),i(12,"div",7),d(13,"div",8),i(14,"div",6)(15,"button",9),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(16),l(17,"translate"),n()(),d(18,"div",10),n()()),p&2&&(e(3),c(o(4,7,"reset.clear_cache_single.title")),e(2),u("disabled",s.deleting),b("aria-label",o(6,9,"form.button_close")),e(5),h(s.cachedAccessories.length===0?10:-1),e(),h(s.cachedAccessories.length>0?11:-1),e(4),u("disabled",s.deleting),e(),g(" ",o(17,11,"form.button_close")," "))},dependencies:[U,R,E],encapsulation:2})}return a})();function pt(a,m){if(a&1){let t=w();i(0,"li",11)(1,"span")(2,"label",18)(3,"input",19),ae("ngModelChange",function(s){let _=S(t).$implicit;return ne(_.selected,s)||(_.selected=s),C(s)}),n(),i(4,"span"),r(5),n(),d(6,"span",20),n()(),i(7,"span"),r(8),n()()}if(a&2){let t=m.$implicit;e(2),u("for","adapter"+t.iface),e(),u("id","adapter"+t.iface),ie("ngModel",t.selected),e(2),c(t.iface),e(3),g(" ",t.ip4||t.ip6," ")}}var Ae=(()=>{class a{$activeModal=x(N);availableNetworkAdapters=[];bridgeNetworkAdapters=[];submit(){this.$activeModal.close(this.availableNetworkAdapters.filter(t=>t.selected).map(t=>t.iface))}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],inputs:{availableNetworkAdapters:"availableNetworkAdapters",bridgeNetworkAdapters:"bridgeNetworkAdapters"},decls:38,vars:24,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-ethernet","mb-4","primary-text",2,"font-size","75px"],[1,"alert"],[1,"list-group","list-group-box"],[1,"list-group-item","d-flex","flex-row","justify-content-between"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"],[1,"hb-uix-switch","d-inline","pr-3",3,"for"],["type","checkbox",3,"ngModelChange","id","ngModel"],[1,"hb-uix-slider","hb-uix-round"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5)(10,"div",6),d(11,"i",7),n(),i(12,"div",8),r(13),l(14,"translate"),n(),i(15,"ul",9)(16,"li",10)(17,"span")(18,"strong"),r(19),l(20,"translate"),n()(),i(21,"span")(22,"strong"),r(23),l(24,"translate"),n()()(),V(25,pt,9,5,"li",11,F),n()(),i(27,"div",12)(28,"div",13)(29,"button",14),l(30,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(31),l(32,"translate"),n()(),d(33,"div",15),i(34,"div",16)(35,"button",17),v("click",function(){return s.submit()}),r(36),l(37,"translate"),n()()()()),p&2&&(e(3),c(o(4,8,"settings.network.title_network_interfaces")),e(2),b("aria-label",o(6,10,"form.button_close")),e(8),c(o(14,12,"settings.network.message_network_interface")),e(6),c(o(20,14,"settings.network.label_interface_name")),e(4),c(o(24,16,"settings.network.label_ip_address")),e(2),D(s.availableNetworkAdapters),e(4),b("aria-label",o(30,18,"form.button_close")),e(2),g(" ",o(32,20,"form.button_close")," "),e(5),g(" ",o(37,22,"form.button_save")," "))},dependencies:[Q,K,q,J,E],encapsulation:2})}return a})();function dt(a,m){a&1&&(i(0,"span"),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"form.button_reset")))}function ct(a,m){a&1&&d(0,"i",18)}var Me=(()=>{class a{$activeModal=x(N);$api=x(T);$route=x(oe);$toastr=x(M);$translate=x(A);clicked;onResetHomebridgeAccessoryClick(){return this.clicked=!0,this.$api.put("/server/reset-homebridge-accessory",{}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_reset"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$route.navigate(["/restart"])},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("reset.failed_to_reset"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:40,vars:33,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","error",2,"margin-bottom","0",3,"dismissible"],[1,"font-weight-bold"],[1,"mb-0","text-left"],[1,"mb-0"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5)(10,"div",6),d(11,"i",7),n(),i(12,"ngb-alert",8)(13,"p",9),r(14),l(15,"translate"),n(),i(16,"ul",10)(17,"li"),r(18),l(19,"translate"),n(),i(20,"li"),r(21),l(22,"translate"),n(),i(23,"li"),r(24),l(25,"translate"),n(),i(26,"li",11),r(27),l(28,"translate"),n()()()(),i(29,"div",12)(30,"div",13)(31,"button",14),l(32,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(33),l(34,"translate"),n()(),d(35,"div",15),i(36,"div",16)(37,"button",17),v("click",function(){return s.onResetHomebridgeAccessoryClick()}),k(38,dt,3,3,"span")(39,ct,1,0,"i",18),n()()()()),p&2&&(e(3),c(o(4,15,"reset.bridges_all.title")),e(2),u("disabled",s.clicked),b("aria-label",o(6,17,"form.button_close")),e(7),u("dismissible",!1),e(2),c(o(15,19,"reset.action_is_irreversible")),e(4),c(o(19,21,"reset.bridges_all.list_1")),e(3),c(o(22,23,"reset.bridges_all.list_2")),e(3),c(o(25,25,"reset.bridges_all.list_3")),e(3),c(o(28,27,"reset.bridges_all.list_4")),e(4),u("disabled",s.clicked),b("aria-label",o(32,29,"form.button_close")),e(2),g(" ",o(34,31,"form.button_close")," "),e(4),u("disabled",s.clicked),e(),h(s.clicked?-1:38),e(),h(s.clicked?39:-1))},dependencies:[U,E],encapsulation:2})}return a})();var mt=(a,m)=>({"green-text":a,"red-text":m}),ut=(a,m)=>({"fa-link-slash":a,"fa-cog fa-spin":m});function gt(a,m){a&1&&(i(0,"div",6),d(1,"i",11),i(2,"p",12),r(3),l(4,"translate"),n()()),a&2&&(e(3),c(o(4,1,"reset.bridges.empty")))}function _t(a,m){if(a&1){let t=w();i(0,"li",18)(1,"span"),r(2),l(3,"titlecase"),d(4,"br"),i(5,"small",19),d(6,"i",20),r(7),l(8,"translate"),n()(),i(9,"button",21),l(10,"translate"),v("click",function(){let s=S(t).$implicit,_=f(2);return C(_.removeAccessory(s._id))}),d(11,"i",22),n()()}if(a&2){let t=m.$implicit,p=f(2);e(2),P(" ",t.displayName," (",t._main?"Homebridge":o(3,8,t._category),") "),e(4),u("ngClass",$(14,mt,t._isPaired,!t._isPaired)),e(),P(" ",o(8,10,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 ",t._username," "),e(2),u("disabled",p.deleting),b("aria-label",o(10,12,"form.button_unpair")),e(2),u("ngClass",$(17,ut,t._id!==p.deleting,t._id===p.deleting))}}function bt(a,m){if(a&1&&(i(0,"div")(1,"div",13),d(2,"i",14),n(),i(3,"ngb-alert",15)(4,"ul",16)(5,"li"),r(6),l(7,"translate"),n(),i(8,"li"),r(9),l(10,"translate"),n(),i(11,"li",12),r(12),l(13,"translate"),n()()(),i(14,"ul",17),V(15,_t,12,20,"li",18,F),n()()),a&2){let t=f();e(3),u("dismissible",!1),e(3),c(o(7,4,"reset.bridges_single.list_1")),e(3),c(o(10,6,"reset.bridges_single.list_2")),e(3),c(o(13,8,"reset.bridges_single.list_3")),e(3),D(t.pairings)}}var Ne=(()=>{class a{$activeModal=x(N);$api=x(T);$modal=x(j);$toastr=x(M);$translate=x(A);pairings=[];deleting=null;unpaired=!1;ngOnInit(){this.loadPairings()}loadPairings(){return y(this,null,function*(){try{this.pairings=(yield I(this.$api.get("/server/pairings"))).sort((t,p)=>p._main?1:-1)}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}removeAccessory(t){this.deleting=t,this.$api.delete(`/server/pairings/${t}`).subscribe({next:()=>y(this,null,function*(){yield this.loadPairings(),this.pairings.length||this.$activeModal.close(),this.deleting=null,this.unpaired=!0,this.$toastr.success(this.$translate.instant("plugins.settings.restart_required"),this.$translate.instant("toast.title_success"))}),error:p=>{this.deleting=null,console.error(p),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.unpair_error"),this.$translate.instant("toast.title_error"))}})}ngOnDestroy(){this.unpaired&&this.$modal.open(ye,{size:"lg",backdrop:"static"})}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:19,vars:13,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-right"],[1,"fas","fa-fw","fa-circle-check","mb-4","primary-text",2,"font-size","75px"],[1,"mb-0"],[1,"text-center","mb-4"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],["type","warning",3,"dismissible"],[1,"mb-0","text-left"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw",3,"ngClass"]],template:function(p,s){p&1&&(i(0,"div",0)(1,"div",1)(2,"h5",2),r(3),l(4,"translate"),n(),i(5,"button",3),l(6,"translate"),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),i(7,"span",4),r(8,"\xD7"),n()()(),i(9,"div",5),k(10,gt,5,3,"div",6)(11,bt,17,10,"div"),n(),i(12,"div",7),d(13,"div",8),i(14,"div",6)(15,"button",9),v("click",function(){return s.$activeModal.dismiss("Dismiss")}),r(16),l(17,"translate"),n()(),d(18,"div",10),n()()),p&2&&(e(3),c(o(4,7,"reset.bridges_single.title")),e(2),u("disabled",s.deleting),b("aria-label",o(6,9,"form.button_close")),e(5),h(s.pairings.length===0?10:-1),e(),h(s.pairings.length>0?11:-1),e(4),u("disabled",s.deleting),e(),g(" ",o(17,11,"form.button_close")," "))},dependencies:[U,R,W,E],encapsulation:2})}return a})();var vt=a=>({"fa-pulse":a}),Fe=a=>({"is-invalid":a}),ft=(a,m)=>({"badge-danger":a,"badge-info":m});function ht(a,m){if(a&1){let t=w();i(0,"ul",5)(1,"li",12)(2,"span",13),r(3),l(4,"translate"),n(),i(5,"button",14),l(6,"translate"),v("click",function(){S(t);let s=f();return C(s.openBackupModal())}),d(7,"i",15),n()(),i(8,"li",12)(9,"span",13),r(10),l(11,"translate"),n(),i(12,"button",14),l(13,"translate"),v("click",function(){S(t);let s=f();return C(s.openRestoreModal())}),d(14,"i",15),n()(),i(15,"li",12)(16,"span",13),r(17),l(18,"translate"),n(),i(19,"a",16),l(20,"translate"),d(21,"i",15),n()(),i(22,"li",12)(23,"span",13),r(24),l(25,"translate"),n(),i(26,"button",14),l(27,"translate"),v("click",function(){S(t);let s=f();return C(s.openUiSettings())}),d(28,"i",17),n()()()}a&2&&(e(3),g(" ",o(4,8,"backup.title_backup")," "),e(2),b("aria-label",o(6,10,"backup.title_backup")),e(5),g(" ",o(11,12,"form.button_restore")," "),e(2),b("aria-label",o(13,14,"form.button_restore")),e(5),g(" ",o(18,16,"menu.tooltip_user_accounts")," "),e(2),b("aria-label",o(20,18,"menu.tooltip_user_accounts")),e(5),g(" ",o(25,20,"menu.label_settings_advanced")," "),e(2),b("aria-label",o(27,22,"menu.label_settings_advanced")))}function xt(a,m){a&1&&(i(0,"li",69)(1,"small",70),r(2),l(3,"translate"),n(),i(4,"button",71),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(e(2),c(o(3,3,"settings.changes.saved")),e(2),b("aria-label",o(5,5,"menu.tooltip_restart")),e(2),g(" ",o(7,7,"menu.tooltip_restart")," "))}function St(a,m){if(a&1){let t=w();i(0,"ul",6)(1,"li",18)(2,"span"),r(3),l(4,"translate"),n(),i(5,"div",19)(6,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("lang",s))}),i(7,"option",21),r(8),l(9,"translate"),n(),i(10,"option",22),r(11,"Bulgarian (bg)"),n(),i(12,"option",23),r(13,"Catalan (ca)"),n(),i(14,"option",24),r(15,"Chinese - Simplified (zh-CN)"),n(),i(16,"option",25),r(17,"Chinese - Traditional (zh-TW)"),n(),i(18,"option",26),r(19,"Czech (cs)"),n(),i(20,"option",27),r(21,"Dutch (nl)"),n(),i(22,"option",28),r(23,"English (en)"),n(),i(24,"option",29),r(25,"Finnish (fi)"),n(),i(26,"option",30),r(27,"French (fr)"),n(),i(28,"option",31),r(29,"German (de)"),n(),i(30,"option",32),r(31,"Hebrew (he)"),n(),i(32,"option",33),r(33,"Hungarian (hu)"),n(),i(34,"option",34),r(35,"Indonesian (id)"),n(),i(36,"option",35),r(37,"Italian (it)"),n(),i(38,"option",36),r(39,"Japanese (ja)"),n(),i(40,"option",37),r(41,"Korean (ko)"),n(),i(42,"option",38),r(43,"Macedonian (mk)"),n(),i(44,"option",39),r(45,"Norwegian (no)"),n(),i(46,"option",40),r(47,"Polish (pl)"),n(),i(48,"option",41),r(49,"Portuguese (Brazil)"),n(),i(50,"option",42),r(51,"Portuguese (Portugal)"),n(),i(52,"option",43),r(53,"Russian (ru)"),n(),i(54,"option",44),r(55,"Slovenian (sl)"),n(),i(56,"option",45),r(57,"Spanish (es)"),n(),i(58,"option",46),r(59,"Swedish (sv)"),n(),i(60,"option",47),r(61,"Thai (th)"),n(),i(62,"option",48),r(63,"Turkish (tr)"),n(),i(64,"option",49),r(65,"Ukrainian (uk)"),n()()()(),i(66,"li",18)(67,"span"),r(68),l(69,"translate"),n(),i(70,"div",19)(71,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("theme",s))}),i(72,"option",50),r(73),l(74,"translate"),n(),i(75,"option",51),r(76),l(77,"translate"),n(),i(78,"option",52),r(79),l(80,"translate"),n(),i(81,"option",53),r(82),l(83,"translate"),n(),i(84,"option",54),r(85),l(86,"translate"),n(),i(87,"option",55),r(88),l(89,"translate"),n(),i(90,"option",56),r(91),l(92,"translate"),n(),i(93,"option",57),r(94),l(95,"translate"),n(),i(96,"option",58),r(97),l(98,"translate"),n(),i(99,"option",59),r(100),l(101,"translate"),n(),i(102,"option",60),r(103),l(104,"translate"),n(),i(105,"option",61),r(106),l(107,"translate"),n(),i(108,"option",62),r(109),l(110,"translate"),n()()()(),i(111,"li",18)(112,"span"),r(113),l(114,"translate"),n(),i(115,"div",19)(116,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("lightingMode",s))}),i(117,"option",21),r(118),l(119,"translate"),n(),i(120,"option",63),r(121),l(122,"translate"),n(),i(123,"option",64),r(124),l(125,"translate"),n()()()(),i(126,"li",18)(127,"span"),r(128),l(129,"translate"),d(130,"br")(131,"small",65),l(132,"translate"),n(),i(133,"div",19)(134,"input",66),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("loginWallpaper",s))}),n()()(),i(135,"li",18)(136,"span"),r(137),l(138,"translate"),n(),i(139,"div",19)(140,"select",20),v("ngModelChange",function(s){S(t);let _=f();return C(_.saveUiSettingChange("tempUnits",s))}),i(141,"option",67),r(142),l(143,"translate"),n(),i(144,"option",68),r(145),l(146,"translate"),n()()()(),k(147,xt,8,9,"li",69),n()}if(a&2){let t=f();e(3),c(o(4,31,"settings.display.lang")),e(3),u("ngModel",t.$settings.env.lang),e(2),c(o(9,33,"form.select.auto")),e(60),c(o(69,35,"settings.display.theme")),e(3),u("ngModel",t.$settings.theme),e(2),c(o(74,37,"settings.display.orange")),e(3),c(o(77,39,"settings.display.red")),e(3),c(o(80,41,"settings.display.pink")),e(3),c(o(83,43,"settings.display.purple")),e(3),c(o(86,45,"settings.display.deep_purple")),e(3),c(o(89,47,"settings.display.indigo")),e(3),c(o(92,49,"settings.display.blue")),e(3),c(o(95,51,"settings.display.bluegrey")),e(3),c(o(98,53,"settings.display.cyan")),e(3),c(o(101,55,"settings.display.green")),e(3),c(o(104,57,"settings.display.teal")),e(3),c(o(107,59,"settings.display.grey")),e(3),c(o(110,61,"settings.display.brown")),e(4),c(o(114,63,"settings.display.lighting_mode")),e(3),u("ngModel",t.$settings.lightingMode),e(2),c(o(119,65,"form.select.auto")),e(3),c(o(122,67,"settings.display.light")),e(3),c(o(125,69,"settings.display.dark")),e(4),g(" ",o(129,71,"settings.display.login_wallpaper"),""),e(3),u("innerHTML",o(132,73,"settings.display.login_wallpaper_desc"),te),e(3),u("ngModel",t.$settings.loginWallpaper),e(3),c(o(138,75,"settings.display.temp_units")),e(3),u("ngModel",t.$settings.env.temperatureUnits),e(2),c(o(143,77,"settings.display.temp_units.c")),e(3),c(o(146,79,"settings.display.temp_units.f")),e(2),h(t.hasChangedLoginWallpaper?147:-1)}}function Ct(a,m){if(a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),i(4,"code"),r(5,"-D"),n(),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),d(10,"input",74),l(11,"translate"),d(12,"label",75),n()),a&2){let t=f(3);e(2),g(" ",o(3,3,"settings.startup.debug")," "),e(6),g(" ",o(9,5,t.isHbV2?"settings.startup.debug_desc_v2":"settings.startup.debug_desc_v1")," "),e(2),b("aria-label",o(11,7,"settings.startup.debug"))}}function kt(a,m){a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),i(4,"code"),r(5,"-I"),n(),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),d(10,"input",76),l(11,"translate"),d(12,"label",77),n()),a&2&&(e(2),g(" ",o(3,3,"settings.startup.insecure")," "),e(6),c(o(9,5,"settings.startup.insecure_desc")),e(2),b("aria-label",o(11,7,"settings.startup.insecure")))}function wt(a,m){a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),i(4,"code"),r(5,"-K"),n(),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),d(10,"input",78),l(11,"translate"),d(12,"label",79),n()),a&2&&(e(2),g(" ",o(3,3,"settings.startup.keep_accessories")," "),e(6),c(o(9,5,"settings.startup.keep_accessories_desc")),e(2),b("aria-label",o(11,7,"settings.startup.keep_accessories")))}function yt(a,m){a&1&&(i(0,"li",18)(1,"span")(2,"span",80),r(3,"DEBUG"),n(),d(4,"br"),i(5,"small",73),r(6),l(7,"translate"),i(8,"a",81),r(9),l(10,"translate"),d(11,"i",82),n()()(),i(12,"div",19),d(13,"input",83),n()()),a&2&&(e(6),g(" ",o(7,2,"settings.service.debug_tooltip")," "),e(3),g(" ",o(10,4,"form.button_more_info")," "))}function Bt(a,m){a&1&&(i(0,"li",18)(1,"span")(2,"span",80),r(3,"NODE_OPTIONS"),n(),d(4,"br"),i(5,"small",73),r(6),l(7,"translate"),n()(),i(8,"div",19),d(9,"input",84),n()()),a&2&&(e(6),c(o(7,1,"settings.service.node_tooltip")))}function Et(a,m){a&1&&(i(0,"li",12)(1,"span"),r(2),l(3,"translate"),d(4,"br"),i(5,"small",73),r(6),l(7,"translate"),n()(),i(8,"a",85),l(9,"translate"),d(10,"i",15),n()()),a&2&&(e(2),g(" ",o(3,3,"menu.docker.startup_script"),""),e(4),c(o(7,5,"platform.docker.script_help")),e(2),b("aria-label",o(9,7,"menu.docker.startup_script")))}function It(a,m){a&1&&(i(0,"li",69)(1,"small",70),r(2),l(3,"translate"),n(),i(4,"button",71),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(e(2),c(o(3,3,"settings.changes.saved")),e(2),b("aria-label",o(5,5,"menu.tooltip_restart")),e(2),g(" ",o(7,7,"menu.tooltip_restart")," "))}function $t(a,m){if(a&1&&(i(0,"ul",72),k(1,Ct,13,9,"li",12)(2,kt,13,9,"li",12)(3,wt,13,9,"li",12)(4,yt,14,6,"li",18)(5,Bt,10,3,"li",18)(6,Et,11,9,"li",12)(7,It,8,9,"li",69),n()),a&2){let t=f(2);e(),h(t.$settings.env.serviceMode?1:-1),e(),h(t.$settings.env.serviceMode?2:-1),e(),h(t.$settings.env.serviceMode?3:-1),e(),h(t.$settings.env.serviceMode?4:-1),e(),h(t.$settings.env.serviceMode?5:-1),e(),h(t.$settings.env.runningInDocker?6:-1),e(),h(t.hasChangedService?7:-1)}}function Tt(a,m){if(a&1){let t=w();i(0,"form",7)(1,"div",2),v("click",function(){S(t);let s=f();return C(s.toggleSection("startup"))}),i(2,"h5",3),d(3,"i",4),r(4),l(5,"translate"),n()(),k(6,$t,8,7,"ul",72),n()}if(a&2){let t=f();u("formGroup",t.serviceForm),e(),b("aria-expanded",t.showFields.startup?"true":"false")("aria-controls","fieldsStartup"),e(2),u("ngClass",t.showFields.startup?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(5,6,"settings.title_startup_options")," "),e(2),h(t.showFields.startup?6:-1)}}function At(a,m){a&1&&d(0,"i",96)}function Mt(a,m){if(a&1&&(i(0,"span")(1,"span",95),k(2,At,1,0,"i",96),r(3),i(4,"span",97),r(5),l(6,"translate"),n()()()),a&2){let t=m.$implicit;e(),u("ngClass",$(6,ft,t.missing,!t.missing)),e(),h(t.missing?2:-1),e(),g(" ",t.iface,": "),e(2),c(t.missing?o(6,4,"settings.mdns_advertiser_not_connected"):t.ip4||t.ip6)}}function Nt(a,m){a&1&&(i(0,"option",89),r(1),l(2,"translate"),n()),a&2&&(e(),g("Avahi (",o(2,1,"settings.mdns_advertiser_rec"),")"))}function Ft(a,m){a&1&&(i(0,"option",92),r(1),l(2,"translate"),n()),a&2&&(e(),g("systemd-resolved (",o(2,1,"settings.mdns_advertiser_exp"),")"))}function Vt(a,m){a&1&&(i(0,"li",69)(1,"small",70),r(2),l(3,"translate"),n(),i(4,"button",71),l(5,"translate"),r(6),l(7,"translate"),n()()),a&2&&(e(2),c(o(3,3,"settings.changes.saved")),e(2),b("aria-label",o(5,5,"menu.tooltip_restart")),e(2),g(" ",o(7,7,"menu.tooltip_restart")," "))}function Dt(a,m){if(a&1){let t=w();i(0,"ul",8)(1,"li",12)(2,"span",13)(3,"div"),r(4),l(5,"translate"),d(6,"br"),i(7,"small",73),r(8),l(9,"translate"),n()(),V(10,Mt,7,9,"span",null,F),n(),i(12,"button",86),l(13,"translate"),v("click",function(){S(t);let s=f();return C(s.selectNetworkInterfaces())}),d(14,"i",87),n()(),i(15,"li",18)(16,"span"),r(17),l(18,"translate"),d(19,"br"),i(20,"small",73),r(21),l(22,"translate"),n()(),i(23,"div",19)(24,"select",88),l(25,"translate"),k(26,Nt,3,3,"option",89),i(27,"option",90),r(28),l(29,"translate"),n(),i(30,"option",91),r(31,"Bonjour HAP"),n(),k(32,Ft,3,3,"option",92),n()()(),i(33,"li",18)(34,"span"),r(35),l(36,"translate"),d(37,"br"),i(38,"small",73),r(39),l(40,"translate"),n()(),i(41,"div",19),d(42,"input",93),l(43,"translate"),n()(),i(44,"li",18)(45,"span"),r(46),l(47,"translate"),d(48,"br"),i(49,"small",73),r(50),l(51,"translate"),n()(),i(52,"div",19),d(53,"input",94),l(54,"translate"),n()(),k(55,Vt,8,9,"li",69),n()}if(a&2){let t=f();e(4),g(" ",o(5,22,"settings.network.title_network_interfaces"),""),e(4),c(o(9,24,"settings.network.message_network_interface")),e(2),D(t.bridgeNetworkAdapters),e(2),u("disabled",!t.availableNetworkAdapters.length),b("aria-label",o(13,26,"settings.network.title_network_interfaces")),e(2),u("ngClass",L(48,vt,!t.availableNetworkAdapters.length)),e(3),g(" ",o(18,28,"settings.mdns_advertiser"),""),e(4),c(o(22,30,"settings.mdns_advertiser_help")),e(3),u("formControl",t.legacyMdnsFormControl),b("aria-label",o(25,32,"settings.mdns_advertiser")),e(2),h(t.showAvahiMdnsOption?26:-1),e(2),g(" Ciao ",t.showAvahiMdnsOption?"":"("+o(29,34,"settings.mdns_advertiser_rec")+")"," "),e(4),h(t.showResolvedMdnsOption?32:-1),e(3),g(" ",o(36,36,"settings.network.port_hb"),""),e(4),c(o(40,38,"settings.network.port_hb_desc")),e(3),u("formControl",t.hbPortFormControl)("ngClass",L(50,Fe,t.isInvalidHbPort)),b("aria-label",o(43,40,"settings.network.port_ui")),e(4),g(" ",o(47,42,"settings.network.port_ui"),""),e(4),c(o(51,44,"settings.network.port_ui_desc")),e(3),u("ngClass",L(52,Fe,t.isInvalidHbUiPort)),b("aria-label",o(54,46,"settings.network.port_ui")),e(2),h(t.hasChangedHbPort||t.hasChangedUiSettings||t.hasChangedMdns||t.hasChangedBridgeNetworkAdapters?55:-1)}}function Pt(a,m){a&1&&(i(0,"p",9),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"settings.cache.desc")))}function Rt(a,m){if(a&1){let t=w();i(0,"ul",98)(1,"li",12)(2,"span",13),r(3),l(4,"translate"),d(5,"br"),i(6,"small",73),r(7),l(8,"translate"),n()(),i(9,"button",14),l(10,"translate"),v("click",function(){S(t);let s=f(2);return C(s.removeSingleCachedAccessories())}),d(11,"i",15),n()(),i(12,"li",12)(13,"span",13),r(14),l(15,"translate"),d(16,"br"),i(17,"small",73),r(18),l(19,"translate"),n()(),i(20,"button",14),l(21,"translate"),v("click",function(){S(t);let s=f(2);return C(s.removeBridgeAccessories())}),d(22,"i",15),n()(),i(23,"li",12)(24,"span",13),r(25),l(26,"translate"),d(27,"br"),i(28,"small",73),r(29),l(30,"translate"),n()(),i(31,"button",14),l(32,"translate"),v("click",function(){S(t);let s=f(2);return C(s.removeAllCachedAccessories())}),d(33,"i",15),n()()()}a&2&&(e(3),g(" ",o(4,9,"reset.clear_cache_single.title"),""),e(4),c(o(8,11,"reset.clear_cache_single.desc")),e(2),b("aria-label",o(10,13,"reset.clear_cache_single.title")),e(5),g(" ",o(15,15,"reset.clear_cache_bridge.title"),""),e(4),c(o(19,17,"reset.clear_cache_bridge.desc")),e(2),b("aria-label",o(21,19,"reset.clear_cache_all.title")),e(5),g(" ",o(26,21,"reset.clear_cache_all.title"),""),e(4),c(o(30,23,"reset.clear_cache_all.desc")),e(2),b("aria-label",o(32,25,"reset.clear_cache_all.title")))}function Ut(a,m){if(a&1){let t=w();i(0,"div",1)(1,"div",2),v("click",function(){S(t);let s=f();return C(s.toggleSection("cache"))}),i(2,"h5",3),d(3,"i",4),r(4),l(5,"translate"),n()(),k(6,Pt,3,3,"p",9)(7,Rt,34,27,"ul",98),n()}if(a&2){let t=f();e(),b("aria-expanded",t.showFields.cache?"true":"false")("aria-controls","fieldsCache"),e(2),u("ngClass",t.showFields.cache?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(5,6,"settings.cache.title")," "),e(2),h(t.showFields.cache?6:-1),e(),h(t.showFields.cache?7:-1)}}function zt(a,m){a&1&&(i(0,"p",9),r(1),l(2,"translate"),n()),a&2&&(e(),c(o(2,1,"reset.bridges.desc")))}function Ht(a,m){if(a&1){let t=w();i(0,"ul",10)(1,"li",12)(2,"span",13),r(3),l(4,"translate"),d(5,"br"),i(6,"small",73),r(7),l(8,"translate"),n()(),i(9,"button",14),l(10,"translate"),v("click",function(){S(t);let s=f();return C(s.unpairAccessory())}),d(11,"i",15),n()(),i(12,"li",12)(13,"span",13),r(14),l(15,"translate"),l(16,"titlecase"),d(17,"br"),i(18,"small",73),r(19),l(20,"translate"),n()(),i(21,"button",14),l(22,"translate"),v("click",function(){S(t);let s=f();return C(s.resetHomebridgeState())}),d(23,"i",15),n()()()}a&2&&(e(3),g(" ",o(4,6,"reset.bridges_single.title"),""),e(4),c(o(8,8,"reset.bridges_single.desc")),e(2),b("aria-label",o(10,10,"reset.bridges_single.title")),e(5),g(" ",o(16,14,o(15,12,"reset.bridges_all.title")),""),e(5),c(o(20,16,"reset.bridges_all.desc")),e(2),b("aria-label",o(22,18,"reset.bridges_all.title")))}var Cn=(()=>{class a{$api=x(T);$modal=x(j);$plugin=x(Be);$settings=x(le);$toastr=x(M);$translate=x(A);originalServiceForm={HOMEBRIDGE_DEBUG:!1,HOMEBRIDGE_KEEP_ORPHANS:!1,HOMEBRIDGE_INSECURE:!0,ENV_DEBUG:"",ENV_NODE_OPTIONS:""};originalUiSettingsForm={port:0};originalLoginWallpaper="";originalMdnsSetting="";originalBridgeNetworkAdapters=[];originalHbPort=0;hasChangedService=!1;hasChangedUiSettings=!1;hasChangedMdns=!1;hasChangedBridgeNetworkAdapters=!1;hasChangedHbPort=!1;hasChangedLoginWallpaper=!1;isInvalidHbPort=!1;isInvalidHbUiPort=!1;serviceForm=new Z({HOMEBRIDGE_DEBUG:new O(!1),HOMEBRIDGE_KEEP_ORPHANS:new O(!1),HOMEBRIDGE_INSECURE:new O(!0),ENV_DEBUG:new O(""),ENV_NODE_OPTIONS:new O("")});uiSettingsForm=new Z({port:new O(0)});loginWallpaper="";legacyMdnsFormControl=new ce(!1);showAvahiMdnsOption=!1;showResolvedMdnsOption=!1;availableNetworkAdapters=[];bridgeNetworkAdapters=[];hbPortFormControl=new O(0);isHbV2=!1;showFields={general:!0,display:!0,startup:!0,network:!0,reset:!0,cache:!0};ngOnInit(){this.isHbV2=this.$settings.env.homebridgeVersion.startsWith("2"),this.initUiSettingsForm(),this.initDisplaySettingsForm(),this.initNetworkingOptions(),this.$settings.env.serviceMode&&this.initServiceModeForm()}initUiSettingsForm(){this.originalUiSettingsForm={port:this.$settings.env.port},this.uiSettingsForm.patchValue({port:this.$settings.env.port}),this.uiSettingsForm.valueChanges.pipe(Y(500)).subscribe(t=>{let p=!1;Object.keys(t).forEach(s=>{this.originalUiSettingsForm[s]!==t[s]&&(this.saveUiSettingChange(s,t[s]),p=!0)}),this.hasChangedUiSettings=p})}initServiceModeForm(){this.$api.get("/platform-tools/hb-service/homebridge-startup-settings").subscribe({next:t=>{Object.keys(t).forEach(p=>{this.originalServiceForm[p]=t[p]}),this.serviceForm.patchValue(t),this.serviceForm.valueChanges.pipe(Y(500)).subscribe(this.saveServiceModeSettings.bind(this))},error:t=>{console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}initDisplaySettingsForm(){this.originalLoginWallpaper=this.$settings.loginWallpaper,this.loginWallpaper=this.$settings.loginWallpaper}saveUiSettingChange(t,p){switch(t){case"lang":this.$settings.setLang(p);break;case"lightingMode":this.$settings.setLightingMode(p,"user");break;case"theme":this.$settings.setTheme(p);break;case"tempUnits":this.$settings.setEnvItem("temperatureUnits",p);break;case"loginWallpaper":this.$settings.setEnvItem("loginWallpaper",p),this.hasChangedLoginWallpaper=p!==this.originalLoginWallpaper;break;case"port":if(!p||typeof p!="number"||p<1025||p>65533||Number.isInteger(p)===!1||p===this.hbPortFormControl.value){this.isInvalidHbUiPort=!0;return}this.$settings.setEnvItem("port",p),this.isInvalidHbUiPort=!1;break}I(this.$api.put("/config-editor/ui",{key:t,value:p})).catch(s=>{console.error(s),this.$toastr.error(s.message,this.$translate.instant("toast.title_error"))})}openUiSettings(){this.$plugin.settings({name:"homebridge-config-ui-x",displayName:"Homebridge UI",settingsSchema:!0,links:{}})}openRestoreModal(){this.$modal.open(X,{size:"lg",backdrop:"static"})}openBackupModal(){this.$modal.open(Ee,{size:"lg",backdrop:"static"})}saveServiceModeSettings(t=this.serviceForm.value){this.$api.put("/platform-tools/hb-service/homebridge-startup-settings",t).subscribe({next:()=>{this.hasChangedService=JSON.stringify(t)!==JSON.stringify(this.originalServiceForm)},error:p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})}resetHomebridgeState(){this.$modal.open(Me,{size:"lg",backdrop:"static"})}unpairAccessory(){this.$modal.open(Ne,{size:"lg",backdrop:"static"})}removeAllCachedAccessories(){this.$modal.open(Ie,{size:"lg",backdrop:"static"})}removeSingleCachedAccessories(){this.$modal.open(Te,{size:"lg",backdrop:"static"})}removeBridgeAccessories(){this.$modal.open($e,{size:"lg",backdrop:"static"})}initNetworkingOptions(){return y(this,null,function*(){try{this.getNetworkSettings(),(this.$settings.env.runningInLinux||this.$settings.env.runningInDocker||this.$settings.env.runningInSynologyPackage||this.$settings.env.runningInPackageMode)&&(this.showAvahiMdnsOption=!0,this.showResolvedMdnsOption=!0)}catch{}})}getNetworkSettings(){return y(this,null,function*(){return Promise.all([I(this.$api.get("/server/network-interfaces/system")),I(this.$api.get("/server/network-interfaces/bridge")),I(this.$api.get("/server/mdns-advertiser")),I(this.$api.get("/server/port"))]).then(([t,p,s,_])=>{this.availableNetworkAdapters=t,this.buildBridgeNetworkAdapterList(p),this.legacyMdnsFormControl.patchValue(s.advertiser),this.originalMdnsSetting=s.advertiser,this.originalBridgeNetworkAdapters=this.bridgeNetworkAdapters.map(z=>z.iface),this.legacyMdnsFormControl.valueChanges.subscribe(z=>{this.setHomebridgeMdnsSetting(z)}),this.hbPortFormControl.patchValue(_.port),this.hbPortFormControl.valueChanges.subscribe(z=>this.setHomebridgePort(z)),this.originalHbPort=_.port})})}setHomebridgeMdnsSetting(t){return y(this,null,function*(){this.$api.put("/server/mdns-advertiser",{advertiser:t}).subscribe({next:()=>{this.hasChangedMdns=t!==this.originalMdnsSetting},error:p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})})}setNetworkInterfaces(t){return y(this,null,function*(){this.$api.put("/server/network-interfaces/bridge",{adapters:t}).subscribe({next:()=>{this.hasChangedBridgeNetworkAdapters=this.originalBridgeNetworkAdapters.join(",")!==t.join(",")},error:p=>{console.error(p),this.$toastr.error(p.message,this.$translate.instant("toast.title_error"))}})})}setHomebridgePort(t){return y(this,null,function*(){if(t===this.uiSettingsForm.get("port").value){this.isInvalidHbPort=!0;return}this.$api.put("/server/port",{port:t}).subscribe({next:()=>{this.hasChangedHbPort=this.originalHbPort!==t,this.isInvalidHbPort=!1},error:()=>{this.isInvalidHbPort=!0}})})}buildBridgeNetworkAdapterList(t){if(!t.length){this.bridgeNetworkAdapters=[];return}this.bridgeNetworkAdapters=t.map(p=>{let s=this.availableNetworkAdapters.find(_=>_.iface===p);return s?(s.selected=!0,s.missing=!1,s):{iface:p,missing:!0}})}selectNetworkInterfaces(){let t=this.$modal.open(Ae,{size:"lg",backdrop:"static"});t.componentInstance.availableNetworkAdapters=this.availableNetworkAdapters,t.componentInstance.bridgeNetworkAdapters=this.bridgeNetworkAdapters,t.result.then(p=>{this.buildBridgeNetworkAdapterList(p),this.setNetworkInterfaces(p)}).catch(()=>{})}toggleSection(t){this.showFields[t]=!this.showFields[t]}static \u0275fac=function(p){return new(p||a)};static \u0275cmp=B({type:a,selectors:[["ng-component"]],decls:35,vars:35,consts:[[1,"primary-text","m-0"],[1,"my-4"],["role","button","tabindex","0",1,"mt-3","hover-pointer",3,"click"],[1,"primary-text"],[1,"fa","fa-fw",3,"ngClass"],["id","fieldsGeneral",1,"list-group","list-group-box","mt-2","mx-0"],["id","fieldsDisplay",1,"list-group","list-group-box","mt-2","mx-0"],["novalidate","",1,"my-4",3,"formGroup"],["id","fieldsNetwork",1,"list-group","list-group-box","mt-2","mx-0"],[1,"small","grey-text","mb-2","mx-0"],["id","fieldsReset",1,"list-group","list-group-box","mt-2","mx-0"],[1,"pb-3"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"pr-2"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click"],[1,"fas","fa-fw","fa-chevron-right"],["routerLink","/users",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"fas","fa-fw","fa-sliders"],[1,"list-group-item","d-block","d-md-flex","justify-content-between","align-items-center"],[1,"my-3","my-md-0","pl-0","pl-md-5","w-auto"],[1,"custom-select","resp-select",3,"ngModelChange","ngModel"],["value","auto"],["value","bg"],["value","ca"],["value","zh-CN"],["value","zh-TW"],["value","cs"],["value","nl"],["value","en"],["value","fi"],["value","fr"],["value","de"],["value","he"],["value","hu"],["value","id"],["value","it"],["value","ja"],["value","ko"],["value","mk"],["value","no"],["value","pl"],["value","pt-BR"],["value","pt"],["value","ru"],["value","sl"],["value","es"],["value","sv"],["value","th"],["value","tr"],["value","uk"],["value","orange"],["value","red"],["value","pink"],["value","purple"],["value","deep-purple"],["value","indigo"],["value","blue"],["value","blue-grey"],["value","cyan"],["value","green"],["value","teal"],["value","grey"],["value","brown"],["value","light"],["value","dark"],[1,"grey-text","pr-2",3,"innerHTML"],["name","search_wallpaper","autocomplete","off","type","text","placeholder","/path-to/image.png",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngModelChange","ngModel"],["value","c"],["value","f"],[1,"list-group-item","d-flex","flex-column","align-items-center"],[1,"grey-text","my-2"],["routerLink","/restart",1,"btn","btn-primary","waves-effect","my-2"],["id","fieldsStartup",1,"list-group","list-group-box","mb-4","mx-0"],[1,"grey-text","pr-2"],["type","checkbox","id","homebridgeDebugMode","formControlName","HOMEBRIDGE_DEBUG",1,"rendux-input"],["for","homebridgeDebugMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeInsecureMode","formControlName","HOMEBRIDGE_INSECURE",1,"rendux-input"],["for","homebridgeInsecureMode",1,"rendux-label","ml-3",2,"min-width","50px"],["type","checkbox","id","homebridgeKeepOrphans","formControlName","HOMEBRIDGE_KEEP_ORPHANS",1,"rendux-input"],["for","homebridgeKeepOrphans",1,"rendux-label","ml-3",2,"min-width","50px"],[1,"text-monospace"],["href","https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values","target","_blank"],[1,"fa","fa/fw","fas","fa-fw","fa-external-link-alt"],["formControlName","ENV_DEBUG","type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input","form-control-sm","resp-input"],["formControlName","ENV_NODE_OPTIONS","type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input","form-control-sm","resp-input"],["routerLink","/platform-tools/docker/startup-script",1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px"],[1,"btn","btn-primary","waves-effect","m-0","ml-3",2,"min-width","50px",3,"click","disabled"],[1,"fas","fa-fw","fa-chevron-right",3,"ngClass"],[1,"custom-select","resp-select",3,"formControl"],["value","avahi"],["value","ciao"],["value","bonjour-hap"],["value","resolved"],["type","number","min","1025","max","65533",1,"form-control","custom-input","form-control-sm","resp-input",3,"formControl","ngClass"],["type","number","min","1025","max","65533","placeholder","8581","formControlName","port",1,"form-control","custom-input","form-control-sm","resp-input",3,"ngClass"],[1,"badge","badge-pill","mr-1",3,"ngClass"],[1,"fas","fa-fw","fa-exclamation-triangle"],[1,"font-weight-normal"],["id","fieldsCache",1,"list-group","list-group-box","mb-4","mx-0"]],template:function(p,s){p&1&&(i(0,"h3",0),r(1),l(2,"translate"),n(),i(3,"div",1)(4,"div",2),v("click",function(){return s.toggleSection("general")}),i(5,"h5",3),d(6,"i",4),r(7),l(8,"translate"),n()(),k(9,ht,29,24,"ul",5),n(),i(10,"div",1)(11,"div",2),v("click",function(){return s.toggleSection("display")}),i(12,"h5",3),d(13,"i",4),r(14),l(15,"translate"),n()(),k(16,St,148,81,"ul",6),n(),k(17,Tt,7,8,"form",7),i(18,"form",7)(19,"div",2),v("click",function(){return s.toggleSection("network")}),i(20,"h5",3),d(21,"i",4),r(22),l(23,"translate"),n()(),k(24,Dt,56,54,"ul",8),n(),k(25,Ut,8,8,"div",1),i(26,"div",1)(27,"div",2),v("click",function(){return s.toggleSection("reset")}),i(28,"h5",3),d(29,"i",4),r(30),l(31,"translate"),n()(),k(32,zt,3,3,"p",9)(33,Ht,24,20,"ul",10),n(),d(34,"div",11)),p&2&&(e(),c(o(2,25,"menu.settings.title")),e(3),b("aria-expanded",s.showFields.general?"true":"false")("aria-controls","fieldsGeneral"),e(2),u("ngClass",s.showFields.general?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(8,27,"settings.general.title_general")," "),e(2),h(s.showFields.general?9:-1),e(2),b("aria-expanded",s.showFields.display?"true":"false")("aria-controls","fieldsDisplay"),e(2),u("ngClass",s.showFields.display?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(15,29,"settings.general.title_display")," "),e(2),h(s.showFields.display?16:-1),e(),h(s.$settings.env.serviceMode||s.$settings.env.runningInDocker?17:-1),e(),u("formGroup",s.uiSettingsForm),e(),b("aria-expanded",s.showFields.network?"true":"false")("aria-controls","fieldsNetwork"),e(2),u("ngClass",s.showFields.network?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(23,31,"settings.network.title_network")," "),e(2),h(s.showFields.network?24:-1),e(),h(s.$settings.env.serviceMode?25:-1),e(2),b("aria-expanded",s.showFields.reset?"true":"false")("aria-controls","fieldsReset"),e(2),u("ngClass",s.showFields.reset?"fa-chevron-down":"fa-chevron-right"),e(),g(" ",o(31,33,"reset.bridges.title")," "),e(2),h(s.showFields.reset?32:-1),e(),h(s.showFields.reset?33:-1))},dependencies:[R,se,Q,me,fe,he,pe,ue,K,ve,q,de,Se,xe,J,Ce,ge,_e,be,W,E],encapsulation:2})}return a})();export{Ie as a,$e as b,Te as c,Ae as d,Me as e,Ne as f,Cn as g};