@camera.ui/server 2.4.0 → 2.4.2

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 (1582) hide show
  1. package/dist/interface/assets/404-DjAi7TGJ.js +1 -0
  2. package/dist/interface/assets/404-DjAi7TGJ.js.br +0 -0
  3. package/dist/interface/assets/404-DjAi7TGJ.js.gz +0 -0
  4. package/dist/interface/assets/About-DgFgNzrr.js +1 -0
  5. package/dist/interface/assets/About-DgFgNzrr.js.br +0 -0
  6. package/dist/interface/assets/About-DgFgNzrr.js.gz +0 -0
  7. package/dist/interface/assets/Assistant-DFyCH8rW.js +1 -0
  8. package/dist/interface/assets/Assistant-DFyCH8rW.js.br +0 -0
  9. package/dist/interface/assets/Assistant-DFyCH8rW.js.gz +0 -0
  10. package/dist/interface/assets/Automation-Y7gnBVsz.js +3 -0
  11. package/dist/interface/assets/Automation-Y7gnBVsz.js.br +0 -0
  12. package/dist/interface/assets/Automation-Y7gnBVsz.js.gz +0 -0
  13. package/dist/interface/assets/AutomationImport-BAWCUNSF.js +2 -0
  14. package/dist/interface/assets/AutomationImport-BAWCUNSF.js.br +0 -0
  15. package/dist/interface/assets/AutomationImport-BAWCUNSF.js.gz +0 -0
  16. package/dist/interface/assets/AutomationStore-CLFRjxqB.js +2 -0
  17. package/dist/interface/assets/AutomationStore-CLFRjxqB.js.br +0 -0
  18. package/dist/interface/assets/AutomationStore-CLFRjxqB.js.gz +0 -0
  19. package/dist/interface/assets/AutomationStoreDetail-Da_OF8Zw.js +2 -0
  20. package/dist/interface/assets/AutomationStoreDetail-Da_OF8Zw.js.br +0 -0
  21. package/dist/interface/assets/AutomationStoreDetail-Da_OF8Zw.js.gz +0 -0
  22. package/dist/interface/assets/Automations-Dj4vxoes.js +2 -0
  23. package/dist/interface/assets/Automations-Dj4vxoes.js.br +0 -0
  24. package/dist/interface/assets/Automations-Dj4vxoes.js.gz +0 -0
  25. package/dist/interface/assets/BackupRestore-DbHPYoLQ.js +1 -0
  26. package/dist/interface/assets/BackupRestore-DbHPYoLQ.js.br +0 -0
  27. package/dist/interface/assets/BackupRestore-DbHPYoLQ.js.gz +0 -0
  28. package/dist/interface/assets/Camera-DD42OSkZ.js +2 -0
  29. package/dist/interface/assets/Camera-DD42OSkZ.js.br +0 -0
  30. package/dist/interface/assets/Camera-DD42OSkZ.js.gz +0 -0
  31. package/dist/interface/assets/CameraConsole-Cn8I2sC6.js +7 -0
  32. package/dist/interface/assets/CameraConsole-Cn8I2sC6.js.br +0 -0
  33. package/dist/interface/assets/CameraConsole-Cn8I2sC6.js.gz +0 -0
  34. package/dist/interface/assets/Cameras-BA4ZtLCN.js +651 -0
  35. package/dist/interface/assets/Cameras-BA4ZtLCN.js.br +0 -0
  36. package/dist/interface/assets/Cameras-BA4ZtLCN.js.gz +0 -0
  37. package/dist/interface/assets/Camview-CEEyXExJ.js +1 -0
  38. package/dist/interface/assets/Camview-CEEyXExJ.js.br +0 -0
  39. package/dist/interface/assets/Camview-CEEyXExJ.js.gz +0 -0
  40. package/dist/interface/assets/Config-7VDhtZly.js +2 -0
  41. package/dist/interface/assets/Config-7VDhtZly.js.br +0 -0
  42. package/dist/interface/assets/Config-7VDhtZly.js.gz +0 -0
  43. package/dist/interface/assets/ConfigActionAssistant-B_v8QtHd.js +1 -0
  44. package/dist/interface/assets/ConfigActionAssistant-B_v8QtHd.js.br +0 -0
  45. package/dist/interface/assets/ConfigActionAssistant-B_v8QtHd.js.gz +0 -0
  46. package/dist/interface/assets/ConfigActionCameraControl-Cp9htIfC.js +1 -0
  47. package/dist/interface/assets/ConfigActionCameraControl-Cp9htIfC.js.br +0 -0
  48. package/dist/interface/assets/ConfigActionCameraControl-Cp9htIfC.js.gz +0 -0
  49. package/dist/interface/assets/ConfigActionHttp-BrzVENpN.js +1 -0
  50. package/dist/interface/assets/ConfigActionHttp-BrzVENpN.js.br +0 -0
  51. package/dist/interface/assets/ConfigActionHttp-BrzVENpN.js.gz +0 -0
  52. package/dist/interface/assets/ConfigActionImageInput-CH0TW4SM.js +1 -0
  53. package/dist/interface/assets/ConfigActionImageInput-CH0TW4SM.js.br +0 -0
  54. package/dist/interface/assets/ConfigActionImageInput-CH0TW4SM.js.gz +0 -0
  55. package/dist/interface/assets/ConfigActionMqtt-CCMPJXSw.js +1 -0
  56. package/dist/interface/assets/ConfigActionMqtt-CCMPJXSw.js.br +0 -0
  57. package/dist/interface/assets/ConfigActionMqtt-CCMPJXSw.js.gz +0 -0
  58. package/dist/interface/assets/ConfigActionNotification-C2Tu80Lc.js +1 -0
  59. package/dist/interface/assets/ConfigActionNotification-C2Tu80Lc.js.br +0 -0
  60. package/dist/interface/assets/ConfigActionNotification-C2Tu80Lc.js.gz +0 -0
  61. package/dist/interface/assets/ConfigActionNotificationControl-CgED5yJ1.js +1 -0
  62. package/dist/interface/assets/ConfigActionNotificationControl-CgED5yJ1.js.br +0 -0
  63. package/dist/interface/assets/ConfigActionNotificationControl-CgED5yJ1.js.gz +0 -0
  64. package/dist/interface/assets/ConfigActionOutput-CCl-Kmbr.js +1 -0
  65. package/dist/interface/assets/ConfigActionOutput-CCl-Kmbr.js.br +0 -0
  66. package/dist/interface/assets/ConfigActionOutput-CCl-Kmbr.js.gz +0 -0
  67. package/dist/interface/assets/ConfigActionPlugin-D0mqVxPX.js +1 -0
  68. package/dist/interface/assets/ConfigActionPlugin-D0mqVxPX.js.br +0 -0
  69. package/dist/interface/assets/ConfigActionPlugin-D0mqVxPX.js.gz +0 -0
  70. package/dist/interface/assets/ConfigActionSensor-e7FD2s99.js +1 -0
  71. package/dist/interface/assets/ConfigActionSensor-e7FD2s99.js.br +0 -0
  72. package/dist/interface/assets/ConfigActionSensor-e7FD2s99.js.gz +0 -0
  73. package/dist/interface/assets/ConfigActionSnapshot-i5bUsx36.js +1 -0
  74. package/dist/interface/assets/ConfigActionSnapshot-i5bUsx36.js.br +0 -0
  75. package/dist/interface/assets/ConfigActionSnapshot-i5bUsx36.js.gz +0 -0
  76. package/dist/interface/assets/ConfigActionVariable-CVLSQ7C-.js +1 -0
  77. package/dist/interface/assets/ConfigActionVariable-CVLSQ7C-.js.br +0 -0
  78. package/dist/interface/assets/ConfigActionVariable-CVLSQ7C-.js.gz +0 -0
  79. package/dist/interface/assets/ConfigConditionIfElse-CiBQjdcM.js +1 -0
  80. package/dist/interface/assets/ConfigConditionIfElse-CiBQjdcM.js.br +0 -0
  81. package/dist/interface/assets/ConfigConditionIfElse-CiBQjdcM.js.gz +0 -0
  82. package/dist/interface/assets/ConfigConditionSensorState-BsoyEGCq.js +1 -0
  83. package/dist/interface/assets/ConfigConditionSensorState-BsoyEGCq.js.br +0 -0
  84. package/dist/interface/assets/ConfigConditionSensorState-BsoyEGCq.js.gz +0 -0
  85. package/dist/interface/assets/ConfigConditionSwitch-B_nuglnE.js +1 -0
  86. package/dist/interface/assets/ConfigConditionSwitch-B_nuglnE.js.br +0 -0
  87. package/dist/interface/assets/ConfigConditionSwitch-B_nuglnE.js.gz +0 -0
  88. package/dist/interface/assets/ConfigSensorValueInput-CUbuCYJc.js +1 -0
  89. package/dist/interface/assets/ConfigSensorValueInput-CUbuCYJc.js.br +0 -0
  90. package/dist/interface/assets/ConfigSensorValueInput-CUbuCYJc.js.gz +0 -0
  91. package/dist/interface/assets/ConfigTriggerDetection-Bl8KDz38.js +1 -0
  92. package/dist/interface/assets/ConfigTriggerDetection-Bl8KDz38.js.br +0 -0
  93. package/dist/interface/assets/ConfigTriggerDetection-Bl8KDz38.js.gz +0 -0
  94. package/dist/interface/assets/ConfigTriggerGeofence-Cq2fqDc1.js +1 -0
  95. package/dist/interface/assets/ConfigTriggerGeofence-Cq2fqDc1.js.br +0 -0
  96. package/dist/interface/assets/ConfigTriggerGeofence-Cq2fqDc1.js.gz +0 -0
  97. package/dist/interface/assets/ConfigTriggerMqtt-CxJ2kuT0.js +1 -0
  98. package/dist/interface/assets/ConfigTriggerMqtt-CxJ2kuT0.js.br +0 -0
  99. package/dist/interface/assets/ConfigTriggerMqtt-CxJ2kuT0.js.gz +0 -0
  100. package/dist/interface/assets/ConfigTriggerSensor-rxkiy0es.js +1 -0
  101. package/dist/interface/assets/ConfigTriggerSensor-rxkiy0es.js.br +0 -0
  102. package/dist/interface/assets/ConfigTriggerSensor-rxkiy0es.js.gz +0 -0
  103. package/dist/interface/assets/ConfigTriggerSystem-ZqkR-n7U.js +1 -0
  104. package/dist/interface/assets/ConfigTriggerSystem-ZqkR-n7U.js.br +0 -0
  105. package/dist/interface/assets/ConfigTriggerSystem-ZqkR-n7U.js.gz +0 -0
  106. package/dist/interface/assets/ConfigTriggerWebhook-Bwk3dOMV.js +1 -0
  107. package/dist/interface/assets/ConfigTriggerWebhook-Bwk3dOMV.js.br +0 -0
  108. package/dist/interface/assets/ConfigTriggerWebhook-Bwk3dOMV.js.gz +0 -0
  109. package/dist/interface/assets/Console-B1IGz3XF.js +1 -0
  110. package/dist/interface/assets/Console-B1IGz3XF.js.br +0 -0
  111. package/dist/interface/assets/Console-B1IGz3XF.js.gz +0 -0
  112. package/dist/interface/assets/CuiAssistantConversation-COHgYzWP.js +5 -0
  113. package/dist/interface/assets/CuiAssistantConversation-COHgYzWP.js.br +0 -0
  114. package/dist/interface/assets/CuiAssistantConversation-COHgYzWP.js.gz +0 -0
  115. package/dist/interface/assets/CuiAutomationRunsDialog-DHCxr6ag.js +1 -0
  116. package/dist/interface/assets/CuiAutomationRunsDialog-DHCxr6ag.js.br +0 -0
  117. package/dist/interface/assets/CuiAutomationRunsDialog-DHCxr6ag.js.gz +0 -0
  118. package/dist/interface/assets/CuiBottomSheet-BYifCbSl.js +1 -0
  119. package/dist/interface/assets/CuiBottomSheet-BYifCbSl.js.br +0 -0
  120. package/dist/interface/assets/CuiBottomSheet-BYifCbSl.js.gz +0 -0
  121. package/dist/interface/assets/CuiBottomSheet-Dlk-laff.js +1 -0
  122. package/dist/interface/assets/CuiBottomSheet-Dlk-laff.js.br +0 -0
  123. package/dist/interface/assets/CuiBottomSheet-Dlk-laff.js.gz +0 -0
  124. package/dist/interface/assets/CuiCameraPipCard-DiAAKOB3.js +1 -0
  125. package/dist/interface/assets/CuiCameraPipCard-DiAAKOB3.js.br +0 -0
  126. package/dist/interface/assets/CuiCameraPipCard-DiAAKOB3.js.gz +0 -0
  127. package/dist/interface/assets/CuiCameraRecordings-cr_gatvr.js +1 -0
  128. package/dist/interface/assets/CuiCameraRecordings-cr_gatvr.js.br +0 -0
  129. package/dist/interface/assets/CuiCameraRecordings-cr_gatvr.js.gz +0 -0
  130. package/dist/interface/assets/CuiCameraShares-Bs0rA-xA.js +1 -0
  131. package/dist/interface/assets/CuiCameraShares-Bs0rA-xA.js.br +0 -0
  132. package/dist/interface/assets/CuiCameraShares-Bs0rA-xA.js.gz +0 -0
  133. package/dist/interface/assets/CuiCameraTable-CMQYM_iK.js +2 -0
  134. package/dist/interface/assets/CuiCameraTable-CMQYM_iK.js.br +0 -0
  135. package/dist/interface/assets/CuiCameraTable-CMQYM_iK.js.gz +0 -0
  136. package/dist/interface/assets/CuiCameraTable-Zn0xVNzU.js +1 -0
  137. package/dist/interface/assets/CuiCameraTable-Zn0xVNzU.js.br +1 -0
  138. package/dist/interface/assets/CuiCameraTable-Zn0xVNzU.js.gz +0 -0
  139. package/dist/interface/assets/CuiChartTable-Dnr59YcD.js +1 -0
  140. package/dist/interface/assets/CuiChartTable-Dnr59YcD.js.br +0 -0
  141. package/dist/interface/assets/CuiChartTable-Dnr59YcD.js.gz +0 -0
  142. package/dist/interface/assets/CuiConsole-DvxwlxJS.js +5 -0
  143. package/dist/interface/assets/CuiConsole-DvxwlxJS.js.br +0 -0
  144. package/dist/interface/assets/CuiConsole-DvxwlxJS.js.gz +0 -0
  145. package/dist/interface/assets/CuiDataTable-UUvO2yqR.js +1 -0
  146. package/dist/interface/assets/CuiDataTable-UUvO2yqR.js.br +0 -0
  147. package/dist/interface/assets/CuiDataTable-UUvO2yqR.js.gz +0 -0
  148. package/dist/interface/assets/CuiLightControl-X27HMxwD.js +1 -0
  149. package/dist/interface/assets/CuiLightControl-X27HMxwD.js.br +0 -0
  150. package/dist/interface/assets/CuiLightControl-X27HMxwD.js.gz +0 -0
  151. package/dist/interface/assets/CuiMoveCodeForm-D8tUtI-h.js +1 -0
  152. package/dist/interface/assets/CuiMoveCodeForm-D8tUtI-h.js.br +0 -0
  153. package/dist/interface/assets/CuiMoveCodeForm-D8tUtI-h.js.gz +0 -0
  154. package/dist/interface/assets/CuiPluginCard-quiY2N5M.js +2 -0
  155. package/dist/interface/assets/CuiPluginCard-quiY2N5M.js.br +0 -0
  156. package/dist/interface/assets/CuiPluginCard-quiY2N5M.js.gz +0 -0
  157. package/dist/interface/assets/CuiPluginCategoryChip-TPE8kEfF.js +1 -0
  158. package/dist/interface/assets/CuiPluginCategoryChip-TPE8kEfF.js.br +0 -0
  159. package/dist/interface/assets/CuiPluginCategoryChip-TPE8kEfF.js.gz +0 -0
  160. package/dist/interface/assets/CuiPluginOAuthButton-OAaZwA8I.js +2 -0
  161. package/dist/interface/assets/CuiPluginOAuthButton-OAaZwA8I.js.br +0 -0
  162. package/dist/interface/assets/CuiPluginOAuthButton-OAaZwA8I.js.gz +0 -0
  163. package/dist/interface/assets/CuiPluginTrustBadge-DGE2Rk83.js +1 -0
  164. package/dist/interface/assets/CuiPluginTrustBadge-DGE2Rk83.js.br +0 -0
  165. package/dist/interface/assets/CuiPluginTrustBadge-DGE2Rk83.js.gz +0 -0
  166. package/dist/interface/assets/CuiQRCode-lR7MLV88.js +1 -0
  167. package/dist/interface/assets/CuiQRCode-lR7MLV88.js.br +0 -0
  168. package/dist/interface/assets/CuiQRCode-lR7MLV88.js.gz +0 -0
  169. package/dist/interface/assets/CuiSchema-XtfUw6ph.js +1 -0
  170. package/dist/interface/assets/CuiSchema-XtfUw6ph.js.br +0 -0
  171. package/dist/interface/assets/CuiSchema-XtfUw6ph.js.gz +0 -0
  172. package/dist/interface/assets/CuiTopNavbarItem-DTcQlETL.js +1 -0
  173. package/dist/interface/assets/CuiTopNavbarItem-DTcQlETL.js.br +0 -0
  174. package/dist/interface/assets/CuiTopNavbarItem-DTcQlETL.js.gz +0 -0
  175. package/dist/interface/assets/Faces-CTGfzxVA.js +1 -0
  176. package/dist/interface/assets/Faces-CTGfzxVA.js.br +0 -0
  177. package/dist/interface/assets/Faces-CTGfzxVA.js.gz +0 -0
  178. package/dist/interface/assets/FirstSteps-Co4eY2L1.js +1 -0
  179. package/dist/interface/assets/FirstSteps-Co4eY2L1.js.br +0 -0
  180. package/dist/interface/assets/FirstSteps-Co4eY2L1.js.gz +0 -0
  181. package/dist/interface/assets/Floorplan-DKNUfJ1z.js +1 -0
  182. package/dist/interface/assets/Floorplan-DKNUfJ1z.js.br +0 -0
  183. package/dist/interface/assets/Floorplan-DKNUfJ1z.js.gz +0 -0
  184. package/dist/interface/assets/Instances-s7y4bMLZ.js +1 -0
  185. package/dist/interface/assets/Instances-s7y4bMLZ.js.br +0 -0
  186. package/dist/interface/assets/Instances-s7y4bMLZ.js.gz +0 -0
  187. package/dist/interface/assets/Logs-LXnQHfYz.js +6 -0
  188. package/dist/interface/assets/Logs-LXnQHfYz.js.br +0 -0
  189. package/dist/interface/assets/Logs-LXnQHfYz.js.gz +0 -0
  190. package/dist/interface/assets/Menu-CUBh0as4.js +1 -0
  191. package/dist/interface/assets/Menu-CUBh0as4.js.br +0 -0
  192. package/dist/interface/assets/Menu-CUBh0as4.js.gz +0 -0
  193. package/dist/interface/assets/Metrics-BZeB3ViS.js +12 -0
  194. package/dist/interface/assets/Metrics-BZeB3ViS.js.br +0 -0
  195. package/dist/interface/assets/Metrics-BZeB3ViS.js.gz +0 -0
  196. package/dist/interface/assets/OAuthDeviceFlow-B4UyugZs.js +1 -0
  197. package/dist/interface/assets/OAuthDeviceFlow-B4UyugZs.js.br +0 -0
  198. package/dist/interface/assets/OAuthDeviceFlow-B4UyugZs.js.gz +0 -0
  199. package/dist/interface/assets/Plugin-tIUUIABi.js +1 -0
  200. package/dist/interface/assets/Plugin-tIUUIABi.js.br +0 -0
  201. package/dist/interface/assets/Plugin-tIUUIABi.js.gz +0 -0
  202. package/dist/interface/assets/PluginConsole-BNnLHoE0.js +7 -0
  203. package/dist/interface/assets/PluginConsole-BNnLHoE0.js.br +4 -0
  204. package/dist/interface/assets/PluginConsole-BNnLHoE0.js.gz +0 -0
  205. package/dist/interface/assets/PluginDetail-BNNHJ6VT.js +2 -0
  206. package/dist/interface/assets/PluginDetail-BNNHJ6VT.js.br +0 -0
  207. package/dist/interface/assets/PluginDetail-BNNHJ6VT.js.gz +0 -0
  208. package/dist/interface/assets/PluginSchema-BRhnXEuo.js +1 -0
  209. package/dist/interface/assets/PluginSchema-BRhnXEuo.js.br +0 -0
  210. package/dist/interface/assets/PluginSchema-BRhnXEuo.js.gz +0 -0
  211. package/dist/interface/assets/PluginSearch-C4enqdv2.js +2 -0
  212. package/dist/interface/assets/PluginSearch-C4enqdv2.js.br +0 -0
  213. package/dist/interface/assets/PluginSearch-C4enqdv2.js.gz +0 -0
  214. package/dist/interface/assets/PluginSearch-C7HjU4oV.js +1 -0
  215. package/dist/interface/assets/PluginSearch-C7HjU4oV.js.br +1 -0
  216. package/dist/interface/assets/PluginSearch-C7HjU4oV.js.gz +0 -0
  217. package/dist/interface/assets/PluginUpdateProgress-DpJR1951.js +1 -0
  218. package/dist/interface/assets/PluginUpdateProgress-DpJR1951.js.br +0 -0
  219. package/dist/interface/assets/PluginUpdateProgress-DpJR1951.js.gz +0 -0
  220. package/dist/interface/assets/Plugins-d4IPovAj.js +1 -0
  221. package/dist/interface/assets/Plugins-d4IPovAj.js.br +0 -0
  222. package/dist/interface/assets/Plugins-d4IPovAj.js.gz +0 -0
  223. package/dist/interface/assets/RecentEventsFilter-CjRJnw2W.js +1 -0
  224. package/dist/interface/assets/RecentEventsFilter-CjRJnw2W.js.br +0 -0
  225. package/dist/interface/assets/RecentEventsFilter-CjRJnw2W.js.gz +0 -0
  226. package/dist/interface/assets/Recordings-0XmIQL9c.js +1 -0
  227. package/dist/interface/assets/Recordings-0XmIQL9c.js.br +0 -0
  228. package/dist/interface/assets/Recordings-0XmIQL9c.js.gz +0 -0
  229. package/dist/interface/assets/SensorEdit-9nlxNGSS.js +1 -0
  230. package/dist/interface/assets/SensorEdit-9nlxNGSS.js.br +0 -0
  231. package/dist/interface/assets/SensorEdit-9nlxNGSS.js.gz +0 -0
  232. package/dist/interface/assets/SensorHistory-DHa4mmXp.js +1 -0
  233. package/dist/interface/assets/SensorHistory-DHa4mmXp.js.br +0 -0
  234. package/dist/interface/assets/SensorHistory-DHa4mmXp.js.gz +0 -0
  235. package/dist/interface/assets/Sensors-BkI7JNPH.js +2 -0
  236. package/dist/interface/assets/Sensors-BkI7JNPH.js.br +0 -0
  237. package/dist/interface/assets/Sensors-BkI7JNPH.js.gz +0 -0
  238. package/dist/interface/assets/Settings-B4-Rn_Fh.js +1 -0
  239. package/dist/interface/assets/Settings-B4-Rn_Fh.js.br +0 -0
  240. package/dist/interface/assets/Settings-B4-Rn_Fh.js.gz +0 -0
  241. package/dist/interface/assets/SettingsAccount-7Yd2_xCe.js +1 -0
  242. package/dist/interface/assets/SettingsAccount-7Yd2_xCe.js.br +0 -0
  243. package/dist/interface/assets/SettingsAccount-7Yd2_xCe.js.gz +0 -0
  244. package/dist/interface/assets/SettingsAccount-C5TbJjlz.css +1 -0
  245. package/dist/interface/assets/SettingsAccount-C5TbJjlz.css.br +0 -0
  246. package/dist/interface/assets/SettingsAccount-C5TbJjlz.css.gz +0 -0
  247. package/dist/interface/assets/SettingsAccount-Cp56tnsV.js +1 -0
  248. package/dist/interface/assets/SettingsAccount-Cp56tnsV.js.br +0 -0
  249. package/dist/interface/assets/SettingsAccount-Cp56tnsV.js.gz +0 -0
  250. package/dist/interface/assets/SettingsAppearance-BWnr6fl7.js +1 -0
  251. package/dist/interface/assets/SettingsAppearance-BWnr6fl7.js.br +0 -0
  252. package/dist/interface/assets/SettingsAppearance-BWnr6fl7.js.gz +0 -0
  253. package/dist/interface/assets/SettingsAppearance-Bna45w8P.js +1 -0
  254. package/dist/interface/assets/SettingsAppearance-Bna45w8P.js.br +0 -0
  255. package/dist/interface/assets/SettingsAppearance-Bna45w8P.js.gz +0 -0
  256. package/dist/interface/assets/SettingsAssistant-Dy_fTPCt.js +1 -0
  257. package/dist/interface/assets/SettingsAssistant-Dy_fTPCt.js.br +0 -0
  258. package/dist/interface/assets/SettingsAssistant-Dy_fTPCt.js.gz +0 -0
  259. package/dist/interface/assets/SettingsBackup-DCW1lM-Z.js +1 -0
  260. package/dist/interface/assets/SettingsBackup-DCW1lM-Z.js.br +0 -0
  261. package/dist/interface/assets/SettingsBackup-DCW1lM-Z.js.gz +0 -0
  262. package/dist/interface/assets/SettingsList-DcvafqMi.js +1 -0
  263. package/dist/interface/assets/SettingsList-DcvafqMi.js.br +0 -0
  264. package/dist/interface/assets/SettingsList-DcvafqMi.js.gz +0 -0
  265. package/dist/interface/assets/SettingsMqtt-BuPLGzAI.js +1 -0
  266. package/dist/interface/assets/SettingsMqtt-BuPLGzAI.js.br +0 -0
  267. package/dist/interface/assets/SettingsMqtt-BuPLGzAI.js.gz +0 -0
  268. package/dist/interface/assets/SettingsNotifications-CtXPMwEL.js +1 -0
  269. package/dist/interface/assets/SettingsNotifications-CtXPMwEL.js.br +0 -0
  270. package/dist/interface/assets/SettingsNotifications-CtXPMwEL.js.gz +0 -0
  271. package/dist/interface/assets/SettingsPermissions-CskWvMC-.js +1 -0
  272. package/dist/interface/assets/SettingsPermissions-CskWvMC-.js.br +0 -0
  273. package/dist/interface/assets/SettingsPermissions-CskWvMC-.js.gz +0 -0
  274. package/dist/interface/assets/SettingsRecordings-Cw3hykd4.js +1 -0
  275. package/dist/interface/assets/SettingsRecordings-Cw3hykd4.js.br +0 -0
  276. package/dist/interface/assets/SettingsRecordings-Cw3hykd4.js.gz +0 -0
  277. package/dist/interface/assets/SettingsRemote-C5pT1BpH.js +2 -0
  278. package/dist/interface/assets/SettingsRemote-C5pT1BpH.js.br +0 -0
  279. package/dist/interface/assets/SettingsRemote-C5pT1BpH.js.gz +0 -0
  280. package/dist/interface/assets/SettingsSystem-CPpKePdR.js +2 -0
  281. package/dist/interface/assets/SettingsSystem-CPpKePdR.js.br +0 -0
  282. package/dist/interface/assets/SettingsSystem-CPpKePdR.js.gz +0 -0
  283. package/dist/interface/assets/SettingsUsers-DHyf9Fh2.js +1 -0
  284. package/dist/interface/assets/SettingsUsers-DHyf9Fh2.js.br +0 -0
  285. package/dist/interface/assets/SettingsUsers-DHyf9Fh2.js.gz +0 -0
  286. package/dist/interface/assets/Terminal-PSzgxyUK.js +4 -0
  287. package/dist/interface/assets/Terminal-PSzgxyUK.js.br +0 -0
  288. package/dist/interface/assets/Terminal-PSzgxyUK.js.gz +0 -0
  289. package/dist/interface/assets/Training-B8y5oggc.js +1 -0
  290. package/dist/interface/assets/Training-B8y5oggc.js.br +0 -0
  291. package/dist/interface/assets/Training-B8y5oggc.js.gz +0 -0
  292. package/dist/interface/assets/Updates-DM0Q2isz.js +2 -0
  293. package/dist/interface/assets/Updates-DM0Q2isz.js.br +0 -0
  294. package/dist/interface/assets/Updates-DM0Q2isz.js.gz +0 -0
  295. package/dist/interface/assets/VariableInput-CEEKNFMa.js +1 -0
  296. package/dist/interface/assets/VariableInput-CEEKNFMa.js.br +0 -0
  297. package/dist/interface/assets/VariableInput-CEEKNFMa.js.gz +0 -0
  298. package/dist/interface/assets/VersionsHandler-BX_H4fKa.js +7 -0
  299. package/dist/interface/assets/VersionsHandler-BX_H4fKa.js.br +0 -0
  300. package/dist/interface/assets/VersionsHandler-BX_H4fKa.js.gz +0 -0
  301. package/dist/interface/assets/VirtualSensorCreate-V1Ge5Ua1.js +1 -0
  302. package/dist/interface/assets/VirtualSensorCreate-V1Ge5Ua1.js.br +0 -0
  303. package/dist/interface/assets/VirtualSensorCreate-V1Ge5Ua1.js.gz +0 -0
  304. package/dist/interface/assets/Workers-CuICoAdY.js +2 -0
  305. package/dist/interface/assets/Workers-CuICoAdY.js.br +0 -0
  306. package/dist/interface/assets/Workers-CuICoAdY.js.gz +0 -0
  307. package/dist/interface/assets/api-DrGMJXjR.js +1 -0
  308. package/dist/interface/assets/api-DrGMJXjR.js.br +0 -0
  309. package/dist/interface/assets/api-DrGMJXjR.js.gz +0 -0
  310. package/dist/interface/assets/api-TS3iFwhp.js +4 -0
  311. package/dist/interface/assets/api-TS3iFwhp.js.br +0 -0
  312. package/dist/interface/assets/api-TS3iFwhp.js.gz +0 -0
  313. package/dist/interface/assets/api-bOGDCWMd.css +2 -0
  314. package/dist/interface/assets/api-bOGDCWMd.css.br +0 -0
  315. package/dist/interface/assets/api-bOGDCWMd.css.gz +0 -0
  316. package/dist/interface/assets/assistant-BPhn6mY4.js +1 -0
  317. package/dist/interface/assets/assistant-BPhn6mY4.js.br +0 -0
  318. package/dist/interface/assets/assistant-BPhn6mY4.js.gz +0 -0
  319. package/dist/interface/assets/auth-DIf-rMc2.js +1 -0
  320. package/dist/interface/assets/auth-DIf-rMc2.js.br +0 -0
  321. package/dist/interface/assets/auth-DIf-rMc2.js.gz +0 -0
  322. package/dist/interface/assets/automations-LH5xFY2x.js +1 -0
  323. package/dist/interface/assets/automations-LH5xFY2x.js.br +0 -0
  324. package/dist/interface/assets/automations-LH5xFY2x.js.gz +0 -0
  325. package/dist/interface/assets/cameraSources-DlHjs6nH.js +1 -0
  326. package/dist/interface/assets/cameraSources-DlHjs6nH.js.br +0 -0
  327. package/dist/interface/assets/cameraSources-DlHjs6nH.js.gz +0 -0
  328. package/dist/interface/assets/cloudHandoff-CVVUJLRm.js +1 -0
  329. package/dist/interface/assets/cloudHandoff-CVVUJLRm.js.br +1 -0
  330. package/dist/interface/assets/cloudHandoff-CVVUJLRm.js.gz +0 -0
  331. package/dist/interface/assets/config-DN5_kiR_.js +1 -0
  332. package/dist/interface/assets/config-DN5_kiR_.js.br +0 -0
  333. package/dist/interface/assets/config-DN5_kiR_.js.gz +0 -0
  334. package/dist/interface/assets/flowSchema-Bmgr2vJ6.js +1 -0
  335. package/dist/interface/assets/flowSchema-Bmgr2vJ6.js.br +0 -0
  336. package/dist/interface/assets/flowSchema-Bmgr2vJ6.js.gz +0 -0
  337. package/dist/interface/assets/intercomService-Dmpnyb2n.js +1 -0
  338. package/dist/interface/assets/intercomService-Dmpnyb2n.js.br +0 -0
  339. package/dist/interface/assets/intercomService-Dmpnyb2n.js.gz +0 -0
  340. package/dist/interface/assets/main-BsuMuoqd.js +3 -0
  341. package/dist/interface/assets/main-BsuMuoqd.js.br +0 -0
  342. package/dist/interface/assets/main-BsuMuoqd.js.gz +0 -0
  343. package/dist/interface/assets/mqtt-BQ12PoIy.js +1 -0
  344. package/dist/interface/assets/mqtt-BQ12PoIy.js.br +3 -0
  345. package/dist/interface/assets/mqtt-BQ12PoIy.js.gz +0 -0
  346. package/dist/interface/assets/notifications-BboM5nUI.js +1 -0
  347. package/dist/interface/assets/notifications-BboM5nUI.js.br +0 -0
  348. package/dist/interface/assets/notifications-BboM5nUI.js.gz +0 -0
  349. package/dist/interface/assets/plugins-DYcMG0ja.js +1 -0
  350. package/dist/interface/assets/plugins-DYcMG0ja.js.br +0 -0
  351. package/dist/interface/assets/plugins-DYcMG0ja.js.gz +0 -0
  352. package/dist/interface/assets/rooms-D19GFS0T.js +1 -0
  353. package/dist/interface/assets/rooms-D19GFS0T.js.br +4 -0
  354. package/dist/interface/assets/rooms-D19GFS0T.js.gz +0 -0
  355. package/dist/interface/assets/sensorIcons-CG4oAxFn.js +1 -0
  356. package/dist/interface/assets/sensorIcons-CG4oAxFn.js.br +0 -0
  357. package/dist/interface/assets/sensorIcons-CG4oAxFn.js.gz +0 -0
  358. package/dist/interface/assets/sensorSlots-W8up8ZKb.js +1 -0
  359. package/dist/interface/assets/sensorSlots-W8up8ZKb.js.br +1 -0
  360. package/dist/interface/assets/sensorSlots-W8up8ZKb.js.gz +0 -0
  361. package/dist/interface/assets/sensors-BV0Trrvb.js +1 -0
  362. package/dist/interface/assets/sensors-BV0Trrvb.js.br +0 -0
  363. package/dist/interface/assets/sensors-BV0Trrvb.js.gz +0 -0
  364. package/dist/interface/assets/server-DK3nj5jh.js +1 -0
  365. package/dist/interface/assets/server-DK3nj5jh.js.br +0 -0
  366. package/dist/interface/assets/server-DK3nj5jh.js.gz +0 -0
  367. package/dist/interface/assets/theme-1Z9zEekC.js +1 -0
  368. package/dist/interface/assets/theme-1Z9zEekC.js.br +0 -0
  369. package/dist/interface/assets/theme-1Z9zEekC.js.gz +0 -0
  370. package/dist/interface/assets/types-B2RZ2n73.js +1 -0
  371. package/dist/interface/assets/types-B2RZ2n73.js.br +0 -0
  372. package/dist/interface/assets/types-B2RZ2n73.js.gz +0 -0
  373. package/dist/interface/assets/types-C4g382tE.js +1 -0
  374. package/dist/interface/assets/types-C4g382tE.js.br +0 -0
  375. package/dist/interface/assets/types-C4g382tE.js.gz +0 -0
  376. package/dist/interface/assets/types-CWY4rVYg.js +1 -0
  377. package/dist/interface/assets/types-CWY4rVYg.js.br +0 -0
  378. package/dist/interface/assets/types-CWY4rVYg.js.gz +0 -0
  379. package/dist/interface/assets/updates-C8KPyVl4.js +2 -0
  380. package/dist/interface/assets/updates-C8KPyVl4.js.br +0 -0
  381. package/dist/interface/assets/updates-C8KPyVl4.js.gz +0 -0
  382. package/dist/interface/assets/useAppVersion-B5cYcDW5.js +1 -0
  383. package/dist/interface/assets/useAppVersion-B5cYcDW5.js.br +0 -0
  384. package/dist/interface/assets/useAppVersion-B5cYcDW5.js.gz +0 -0
  385. package/dist/interface/assets/useCameraOptions-DnC7rx7V.js +1 -0
  386. package/dist/interface/assets/useCameraOptions-DnC7rx7V.js.br +0 -0
  387. package/dist/interface/assets/useCameraOptions-DnC7rx7V.js.gz +0 -0
  388. package/dist/interface/assets/useKeyboardInset-DzWAPvpD.js +1 -0
  389. package/dist/interface/assets/useKeyboardInset-DzWAPvpD.js.br +0 -0
  390. package/dist/interface/assets/useKeyboardInset-DzWAPvpD.js.gz +0 -0
  391. package/dist/interface/assets/useLogsSocket-DRCl-9rN.js +1 -0
  392. package/dist/interface/assets/useLogsSocket-DRCl-9rN.js.br +0 -0
  393. package/dist/interface/assets/useLogsSocket-DRCl-9rN.js.gz +0 -0
  394. package/dist/interface/assets/useNavLayout-DNoKsxiD.js +1 -0
  395. package/dist/interface/assets/useNavLayout-DNoKsxiD.js.br +0 -0
  396. package/dist/interface/assets/useNavLayout-DNoKsxiD.js.gz +0 -0
  397. package/dist/interface/assets/usePermissions-BhN_r4yu.js +1 -0
  398. package/dist/interface/assets/usePermissions-BhN_r4yu.js.br +0 -0
  399. package/dist/interface/assets/usePermissions-BhN_r4yu.js.gz +0 -0
  400. package/dist/interface/assets/usePlacementLabel-Dnd48LTa.js +1 -0
  401. package/dist/interface/assets/usePlacementLabel-Dnd48LTa.js.br +0 -0
  402. package/dist/interface/assets/usePlacementLabel-Dnd48LTa.js.gz +0 -0
  403. package/dist/interface/assets/usePlacementSocket-DyS_dG0O.js +1 -0
  404. package/dist/interface/assets/usePlacementSocket-DyS_dG0O.js.br +0 -0
  405. package/dist/interface/assets/usePlacementSocket-DyS_dG0O.js.gz +0 -0
  406. package/dist/interface/assets/usePluginUpdates-C9KRZVbI.js +1 -0
  407. package/dist/interface/assets/usePluginUpdates-C9KRZVbI.js.br +0 -0
  408. package/dist/interface/assets/usePluginUpdates-C9KRZVbI.js.gz +0 -0
  409. package/dist/interface/assets/usePluginsSocket-Dkrwgo_a.js +1 -0
  410. package/dist/interface/assets/usePluginsSocket-Dkrwgo_a.js.br +0 -0
  411. package/dist/interface/assets/usePluginsSocket-Dkrwgo_a.js.gz +0 -0
  412. package/dist/interface/assets/usePushRegistration-419l1m2J.js +2 -0
  413. package/dist/interface/assets/usePushRegistration-419l1m2J.js.br +0 -0
  414. package/dist/interface/assets/usePushRegistration-419l1m2J.js.gz +0 -0
  415. package/dist/interface/assets/useServerRestart-svjj-eQC.js +1 -0
  416. package/dist/interface/assets/useServerRestart-svjj-eQC.js.br +0 -0
  417. package/dist/interface/assets/useServerRestart-svjj-eQC.js.gz +0 -0
  418. package/dist/interface/assets/useTabSwipe-Bdr_wGrE.js +1 -0
  419. package/dist/interface/assets/useTabSwipe-Bdr_wGrE.js.br +0 -0
  420. package/dist/interface/assets/useTabSwipe-Bdr_wGrE.js.gz +0 -0
  421. package/dist/interface/assets/useUpdateChannel-DWQGivak.js +1 -0
  422. package/dist/interface/assets/useUpdateChannel-DWQGivak.js.br +0 -0
  423. package/dist/interface/assets/useUpdateChannel-DWQGivak.js.gz +0 -0
  424. package/dist/interface/assets/useUpdatesSocket-CjZRZpB7.js +1 -0
  425. package/dist/interface/assets/useUpdatesSocket-CjZRZpB7.js.br +0 -0
  426. package/dist/interface/assets/useUpdatesSocket-CjZRZpB7.js.gz +0 -0
  427. package/dist/interface/assets/useUserOptions-DrUS3Xze.js +1 -0
  428. package/dist/interface/assets/useUserOptions-DrUS3Xze.js.br +0 -0
  429. package/dist/interface/assets/useUserOptions-DrUS3Xze.js.gz +0 -0
  430. package/dist/interface/assets/vendor-cameraui-CA-wgTPI.css +1 -0
  431. package/dist/interface/assets/vendor-cameraui-CA-wgTPI.css.br +0 -0
  432. package/dist/interface/assets/vendor-cameraui-CA-wgTPI.css.gz +0 -0
  433. package/dist/interface/assets/vendor-cameraui-q2C0VTDU.js +8 -0
  434. package/dist/interface/assets/vendor-cameraui-q2C0VTDU.js.br +0 -0
  435. package/dist/interface/assets/vendor-cameraui-q2C0VTDU.js.gz +0 -0
  436. package/dist/interface/ha/404-Bl_FHw4S.js +60 -0
  437. package/dist/interface/ha/404-Bl_FHw4S.js.br +0 -0
  438. package/dist/interface/ha/404-Bl_FHw4S.js.gz +0 -0
  439. package/dist/interface/ha/About-C3LSLeW5.js +55 -0
  440. package/dist/interface/ha/About-C3LSLeW5.js.br +0 -0
  441. package/dist/interface/ha/About-C3LSLeW5.js.gz +0 -0
  442. package/dist/interface/ha/Assistant-BqTjwNPd.js +11071 -0
  443. package/dist/interface/ha/Assistant-BqTjwNPd.js.br +0 -0
  444. package/dist/interface/ha/Assistant-BqTjwNPd.js.gz +0 -0
  445. package/dist/interface/ha/Automation-Bt8_5TEo.js +2009 -0
  446. package/dist/interface/ha/Automation-Bt8_5TEo.js.br +0 -0
  447. package/dist/interface/ha/Automation-Bt8_5TEo.js.gz +0 -0
  448. package/dist/interface/ha/AutomationImport-CFunRLgJ.js +206 -0
  449. package/dist/interface/ha/AutomationImport-CFunRLgJ.js.br +0 -0
  450. package/dist/interface/ha/AutomationImport-CFunRLgJ.js.gz +0 -0
  451. package/dist/interface/ha/AutomationStore-C4DEABhG.js +336 -0
  452. package/dist/interface/ha/AutomationStore-C4DEABhG.js.br +0 -0
  453. package/dist/interface/ha/AutomationStore-C4DEABhG.js.gz +0 -0
  454. package/dist/interface/ha/AutomationStoreDetail-CfoXG1MC.js +121 -0
  455. package/dist/interface/ha/AutomationStoreDetail-CfoXG1MC.js.br +0 -0
  456. package/dist/interface/ha/AutomationStoreDetail-CfoXG1MC.js.gz +0 -0
  457. package/dist/interface/ha/Automations-BQ2bkyX_.js +423 -0
  458. package/dist/interface/ha/Automations-BQ2bkyX_.js.br +0 -0
  459. package/dist/interface/ha/Automations-BQ2bkyX_.js.gz +0 -0
  460. package/dist/interface/ha/Camera-B2B4G4od.js +740 -0
  461. package/dist/interface/ha/Camera-B2B4G4od.js.br +0 -0
  462. package/dist/interface/ha/Camera-B2B4G4od.js.gz +0 -0
  463. package/dist/interface/ha/CameraConsole-xFpvIWw_.js +52 -0
  464. package/dist/interface/ha/CameraConsole-xFpvIWw_.js.br +0 -0
  465. package/dist/interface/ha/CameraConsole-xFpvIWw_.js.gz +0 -0
  466. package/dist/interface/ha/Cameras-mQarYEDa.js +1934 -0
  467. package/dist/interface/ha/Cameras-mQarYEDa.js.br +0 -0
  468. package/dist/interface/ha/Cameras-mQarYEDa.js.gz +0 -0
  469. package/dist/interface/ha/Camview-Cxi3KsgB.js +1368 -0
  470. package/dist/interface/ha/Camview-Cxi3KsgB.js.br +0 -0
  471. package/dist/interface/ha/Camview-Cxi3KsgB.js.gz +0 -0
  472. package/dist/interface/ha/Config-CDmB9WLz.js +354 -0
  473. package/dist/interface/ha/Config-CDmB9WLz.js.br +0 -0
  474. package/dist/interface/ha/Config-CDmB9WLz.js.gz +0 -0
  475. package/dist/interface/ha/ConfigActionAssistant-4bgOEfWc.js +182 -0
  476. package/dist/interface/ha/ConfigActionAssistant-4bgOEfWc.js.br +0 -0
  477. package/dist/interface/ha/ConfigActionAssistant-4bgOEfWc.js.gz +0 -0
  478. package/dist/interface/ha/ConfigActionCameraControl-DHb4TaeM.js +152 -0
  479. package/dist/interface/ha/ConfigActionCameraControl-DHb4TaeM.js.br +0 -0
  480. package/dist/interface/ha/ConfigActionCameraControl-DHb4TaeM.js.gz +0 -0
  481. package/dist/interface/ha/ConfigActionHttp-Cf-KsMnx.js +134 -0
  482. package/dist/interface/ha/ConfigActionHttp-Cf-KsMnx.js.br +0 -0
  483. package/dist/interface/ha/ConfigActionHttp-Cf-KsMnx.js.gz +0 -0
  484. package/dist/interface/ha/ConfigActionImageInput-BojghoLq.js +170 -0
  485. package/dist/interface/ha/ConfigActionImageInput-BojghoLq.js.br +0 -0
  486. package/dist/interface/ha/ConfigActionImageInput-BojghoLq.js.gz +0 -0
  487. package/dist/interface/ha/ConfigActionMqtt-8I3xv7mW.js +78 -0
  488. package/dist/interface/ha/ConfigActionMqtt-8I3xv7mW.js.br +0 -0
  489. package/dist/interface/ha/ConfigActionMqtt-8I3xv7mW.js.gz +0 -0
  490. package/dist/interface/ha/ConfigActionNotification-CJ8AMA6m.js +198 -0
  491. package/dist/interface/ha/ConfigActionNotification-CJ8AMA6m.js.br +0 -0
  492. package/dist/interface/ha/ConfigActionNotification-CJ8AMA6m.js.gz +0 -0
  493. package/dist/interface/ha/ConfigActionNotificationControl-Jmal0N0N.js +111 -0
  494. package/dist/interface/ha/ConfigActionNotificationControl-Jmal0N0N.js.br +0 -0
  495. package/dist/interface/ha/ConfigActionNotificationControl-Jmal0N0N.js.gz +0 -0
  496. package/dist/interface/ha/ConfigActionOutput-Tjb8_M61.js +98 -0
  497. package/dist/interface/ha/ConfigActionOutput-Tjb8_M61.js.br +0 -0
  498. package/dist/interface/ha/ConfigActionOutput-Tjb8_M61.js.gz +0 -0
  499. package/dist/interface/ha/ConfigActionPlugin-BIZABnsj.js +171 -0
  500. package/dist/interface/ha/ConfigActionPlugin-BIZABnsj.js.br +0 -0
  501. package/dist/interface/ha/ConfigActionPlugin-BIZABnsj.js.gz +0 -0
  502. package/dist/interface/ha/ConfigActionSensor-CfdmXrhC.js +138 -0
  503. package/dist/interface/ha/ConfigActionSensor-CfdmXrhC.js.br +0 -0
  504. package/dist/interface/ha/ConfigActionSensor-CfdmXrhC.js.gz +0 -0
  505. package/dist/interface/ha/ConfigActionSnapshot-DZfadRAR.js +45 -0
  506. package/dist/interface/ha/ConfigActionSnapshot-DZfadRAR.js.br +0 -0
  507. package/dist/interface/ha/ConfigActionSnapshot-DZfadRAR.js.gz +0 -0
  508. package/dist/interface/ha/ConfigActionVariable-Bs6GAr-a.js +88 -0
  509. package/dist/interface/ha/ConfigActionVariable-Bs6GAr-a.js.br +0 -0
  510. package/dist/interface/ha/ConfigActionVariable-Bs6GAr-a.js.gz +0 -0
  511. package/dist/interface/ha/ConfigConditionIfElse-Djycw0JW.js +124 -0
  512. package/dist/interface/ha/ConfigConditionIfElse-Djycw0JW.js.br +0 -0
  513. package/dist/interface/ha/ConfigConditionIfElse-Djycw0JW.js.gz +0 -0
  514. package/dist/interface/ha/ConfigConditionSensorState-CMU8ZqA0.js +190 -0
  515. package/dist/interface/ha/ConfigConditionSensorState-CMU8ZqA0.js.br +0 -0
  516. package/dist/interface/ha/ConfigConditionSensorState-CMU8ZqA0.js.gz +0 -0
  517. package/dist/interface/ha/ConfigConditionSwitch-CgJOmOpa.js +128 -0
  518. package/dist/interface/ha/ConfigConditionSwitch-CgJOmOpa.js.br +0 -0
  519. package/dist/interface/ha/ConfigConditionSwitch-CgJOmOpa.js.gz +0 -0
  520. package/dist/interface/ha/ConfigSensorValueInput-Bf6Ok4pI.js +173 -0
  521. package/dist/interface/ha/ConfigSensorValueInput-Bf6Ok4pI.js.br +0 -0
  522. package/dist/interface/ha/ConfigSensorValueInput-Bf6Ok4pI.js.gz +0 -0
  523. package/dist/interface/ha/ConfigTriggerDetection-Dw1CThHp.js +241 -0
  524. package/dist/interface/ha/ConfigTriggerDetection-Dw1CThHp.js.br +0 -0
  525. package/dist/interface/ha/ConfigTriggerDetection-Dw1CThHp.js.gz +0 -0
  526. package/dist/interface/ha/ConfigTriggerGeofence-DdPHZNwK.js +4836 -0
  527. package/dist/interface/ha/ConfigTriggerGeofence-DdPHZNwK.js.br +0 -0
  528. package/dist/interface/ha/ConfigTriggerGeofence-DdPHZNwK.js.gz +0 -0
  529. package/dist/interface/ha/ConfigTriggerMqtt-Ca5Nyw3p.js +134 -0
  530. package/dist/interface/ha/ConfigTriggerMqtt-Ca5Nyw3p.js.br +0 -0
  531. package/dist/interface/ha/ConfigTriggerMqtt-Ca5Nyw3p.js.gz +0 -0
  532. package/dist/interface/ha/ConfigTriggerSensor-D9HhDzY2.js +73 -0
  533. package/dist/interface/ha/ConfigTriggerSensor-D9HhDzY2.js.br +0 -0
  534. package/dist/interface/ha/ConfigTriggerSensor-D9HhDzY2.js.gz +0 -0
  535. package/dist/interface/ha/ConfigTriggerSystem-DwjzJNEe.js +192 -0
  536. package/dist/interface/ha/ConfigTriggerSystem-DwjzJNEe.js.br +0 -0
  537. package/dist/interface/ha/ConfigTriggerSystem-DwjzJNEe.js.gz +0 -0
  538. package/dist/interface/ha/ConfigTriggerWebhook-BH4Tf_gl.js +94 -0
  539. package/dist/interface/ha/ConfigTriggerWebhook-BH4Tf_gl.js.br +0 -0
  540. package/dist/interface/ha/ConfigTriggerWebhook-BH4Tf_gl.js.gz +0 -0
  541. package/dist/interface/ha/Console--Fph-cv4.js +347 -0
  542. package/dist/interface/ha/Console--Fph-cv4.js.br +0 -0
  543. package/dist/interface/ha/Console--Fph-cv4.js.gz +0 -0
  544. package/dist/interface/ha/CuiAutomationRunsDialog-DTa_aU4B.js +129 -0
  545. package/dist/interface/ha/CuiAutomationRunsDialog-DTa_aU4B.js.br +0 -0
  546. package/dist/interface/ha/CuiAutomationRunsDialog-DTa_aU4B.js.gz +0 -0
  547. package/dist/interface/ha/CuiBottomSheet-C06koVFt.js +270 -0
  548. package/dist/interface/ha/CuiBottomSheet-C06koVFt.js.br +0 -0
  549. package/dist/interface/ha/CuiBottomSheet-C06koVFt.js.gz +0 -0
  550. package/dist/interface/ha/CuiCameraRecordings-DanVT3UG.js +575 -0
  551. package/dist/interface/ha/CuiCameraRecordings-DanVT3UG.js.br +0 -0
  552. package/dist/interface/ha/CuiCameraRecordings-DanVT3UG.js.gz +0 -0
  553. package/dist/interface/ha/CuiCameraShares-BdodP9gm.js +120 -0
  554. package/dist/interface/ha/CuiCameraShares-BdodP9gm.js.br +0 -0
  555. package/dist/interface/ha/CuiCameraShares-BdodP9gm.js.gz +0 -0
  556. package/dist/interface/ha/CuiCameraTable-DwKFkM_u.js +105 -0
  557. package/dist/interface/ha/CuiCameraTable-DwKFkM_u.js.br +0 -0
  558. package/dist/interface/ha/CuiCameraTable-DwKFkM_u.js.gz +0 -0
  559. package/dist/interface/ha/CuiChartTable-DRXQfdr1.js +6797 -0
  560. package/dist/interface/ha/CuiChartTable-DRXQfdr1.js.br +0 -0
  561. package/dist/interface/ha/CuiChartTable-DRXQfdr1.js.gz +0 -0
  562. package/dist/interface/ha/CuiConsole-Doi5SxCk.js +234 -0
  563. package/dist/interface/ha/CuiConsole-Doi5SxCk.js.br +0 -0
  564. package/dist/interface/ha/CuiConsole-Doi5SxCk.js.gz +0 -0
  565. package/dist/interface/ha/CuiDataTable-BFI82F5E.js +8860 -0
  566. package/dist/interface/ha/CuiDataTable-BFI82F5E.js.br +0 -0
  567. package/dist/interface/ha/CuiDataTable-BFI82F5E.js.gz +0 -0
  568. package/dist/interface/ha/CuiMoveCodeForm-CnghWGPw.js +89 -0
  569. package/dist/interface/ha/CuiMoveCodeForm-CnghWGPw.js.br +0 -0
  570. package/dist/interface/ha/CuiMoveCodeForm-CnghWGPw.js.gz +0 -0
  571. package/dist/interface/ha/CuiPluginCard-CGgQxSl7.js +778 -0
  572. package/dist/interface/ha/CuiPluginCard-CGgQxSl7.js.br +0 -0
  573. package/dist/interface/ha/CuiPluginCard-CGgQxSl7.js.gz +0 -0
  574. package/dist/interface/ha/CuiPluginOAuthButton-D8FJdgy9.js +74 -0
  575. package/dist/interface/ha/CuiPluginOAuthButton-D8FJdgy9.js.br +0 -0
  576. package/dist/interface/ha/CuiPluginOAuthButton-D8FJdgy9.js.gz +0 -0
  577. package/dist/interface/ha/CuiPluginTrustBadge-BnxyMthN.js +122 -0
  578. package/dist/interface/ha/CuiPluginTrustBadge-BnxyMthN.js.br +0 -0
  579. package/dist/interface/ha/CuiPluginTrustBadge-BnxyMthN.js.gz +0 -0
  580. package/dist/interface/ha/CuiQRCode-JSiQ_0PB.js +86 -0
  581. package/dist/interface/ha/CuiQRCode-JSiQ_0PB.js.br +0 -0
  582. package/dist/interface/ha/CuiQRCode-JSiQ_0PB.js.gz +0 -0
  583. package/dist/interface/ha/CuiSchema-DWR2Cu3w.js +952 -0
  584. package/dist/interface/ha/CuiSchema-DWR2Cu3w.js.br +0 -0
  585. package/dist/interface/ha/CuiSchema-DWR2Cu3w.js.gz +0 -0
  586. package/dist/interface/ha/CuiTopNavbarItem-DkijXvxk.js +141 -0
  587. package/dist/interface/ha/CuiTopNavbarItem-DkijXvxk.js.br +0 -0
  588. package/dist/interface/ha/CuiTopNavbarItem-DkijXvxk.js.gz +0 -0
  589. package/dist/interface/ha/Faces-foOYGnts.js +1659 -0
  590. package/dist/interface/ha/Faces-foOYGnts.js.br +0 -0
  591. package/dist/interface/ha/Faces-foOYGnts.js.gz +0 -0
  592. package/dist/interface/ha/FirstSteps-BC5oP04p.js +254 -0
  593. package/dist/interface/ha/FirstSteps-BC5oP04p.js.br +0 -0
  594. package/dist/interface/ha/FirstSteps-BC5oP04p.js.gz +0 -0
  595. package/dist/interface/ha/Floorplan-CBHoSOlq.js +3707 -0
  596. package/dist/interface/ha/Floorplan-CBHoSOlq.js.br +0 -0
  597. package/dist/interface/ha/Floorplan-CBHoSOlq.js.gz +0 -0
  598. package/dist/interface/ha/Instances-Bl_4pf1g.js +670 -0
  599. package/dist/interface/ha/Instances-Bl_4pf1g.js.br +0 -0
  600. package/dist/interface/ha/Instances-Bl_4pf1g.js.gz +0 -0
  601. package/dist/interface/ha/Logs-CqcG22n0.js +417 -0
  602. package/dist/interface/ha/Logs-CqcG22n0.js.br +0 -0
  603. package/dist/interface/ha/Logs-CqcG22n0.js.gz +0 -0
  604. package/dist/interface/ha/Menu-K235AI9d.js +159 -0
  605. package/dist/interface/ha/Menu-K235AI9d.js.br +0 -0
  606. package/dist/interface/ha/Menu-K235AI9d.js.gz +0 -0
  607. package/dist/interface/ha/Metrics-B9LmdPb8.js +1484 -0
  608. package/dist/interface/ha/Metrics-B9LmdPb8.js.br +0 -0
  609. package/dist/interface/ha/Metrics-B9LmdPb8.js.gz +0 -0
  610. package/dist/interface/ha/OAuthDeviceFlow-BRfNQrto.js +112 -0
  611. package/dist/interface/ha/OAuthDeviceFlow-BRfNQrto.js.br +0 -0
  612. package/dist/interface/ha/OAuthDeviceFlow-BRfNQrto.js.gz +0 -0
  613. package/dist/interface/ha/Plugin-DOfqAHfD.js +1746 -0
  614. package/dist/interface/ha/Plugin-DOfqAHfD.js.br +0 -0
  615. package/dist/interface/ha/Plugin-DOfqAHfD.js.gz +0 -0
  616. package/dist/interface/ha/PluginConsole-HCq1TtGP.js +56 -0
  617. package/dist/interface/ha/PluginConsole-HCq1TtGP.js.br +0 -0
  618. package/dist/interface/ha/PluginConsole-HCq1TtGP.js.gz +0 -0
  619. package/dist/interface/ha/PluginDetail-qmjMJZ6-.js +804 -0
  620. package/dist/interface/ha/PluginDetail-qmjMJZ6-.js.br +0 -0
  621. package/dist/interface/ha/PluginDetail-qmjMJZ6-.js.gz +0 -0
  622. package/dist/interface/ha/PluginSearch-CLuHh8A_.js +462 -0
  623. package/dist/interface/ha/PluginSearch-CLuHh8A_.js.br +0 -0
  624. package/dist/interface/ha/PluginSearch-CLuHh8A_.js.gz +0 -0
  625. package/dist/interface/ha/PluginUpdateProgress-ZUrKsC_B.js +34 -0
  626. package/dist/interface/ha/PluginUpdateProgress-ZUrKsC_B.js.br +0 -0
  627. package/dist/interface/ha/PluginUpdateProgress-ZUrKsC_B.js.gz +0 -0
  628. package/dist/interface/ha/Plugins-BzLdxtIt.js +697 -0
  629. package/dist/interface/ha/Plugins-BzLdxtIt.js.br +0 -0
  630. package/dist/interface/ha/Plugins-BzLdxtIt.js.gz +0 -0
  631. package/dist/interface/ha/Recordings-CIFmOqK1.js +1916 -0
  632. package/dist/interface/ha/Recordings-CIFmOqK1.js.br +0 -0
  633. package/dist/interface/ha/Recordings-CIFmOqK1.js.gz +0 -0
  634. package/dist/interface/ha/SensorEdit-NmH5BT2-.js +1466 -0
  635. package/dist/interface/ha/SensorEdit-NmH5BT2-.js.br +0 -0
  636. package/dist/interface/ha/SensorEdit-NmH5BT2-.js.gz +0 -0
  637. package/dist/interface/ha/SensorHistory-yJNAhOsS.js +54 -0
  638. package/dist/interface/ha/SensorHistory-yJNAhOsS.js.br +0 -0
  639. package/dist/interface/ha/SensorHistory-yJNAhOsS.js.gz +0 -0
  640. package/dist/interface/ha/Sensors-BWiodX1x.js +1400 -0
  641. package/dist/interface/ha/Sensors-BWiodX1x.js.br +0 -0
  642. package/dist/interface/ha/Sensors-BWiodX1x.js.gz +0 -0
  643. package/dist/interface/ha/Settings-BI81b55S.js +218 -0
  644. package/dist/interface/ha/Settings-BI81b55S.js.br +0 -0
  645. package/dist/interface/ha/Settings-BI81b55S.js.gz +0 -0
  646. package/dist/interface/ha/SettingsAccount-CdjWQCPu.js +968 -0
  647. package/dist/interface/ha/SettingsAccount-CdjWQCPu.js.br +0 -0
  648. package/dist/interface/ha/SettingsAccount-CdjWQCPu.js.gz +0 -0
  649. package/dist/interface/ha/SettingsAppearance-XIYoSRsN.js +201 -0
  650. package/dist/interface/ha/SettingsAppearance-XIYoSRsN.js.br +0 -0
  651. package/dist/interface/ha/SettingsAppearance-XIYoSRsN.js.gz +0 -0
  652. package/dist/interface/ha/SettingsAssistant-kyqD6iRN.js +2134 -0
  653. package/dist/interface/ha/SettingsAssistant-kyqD6iRN.js.br +0 -0
  654. package/dist/interface/ha/SettingsAssistant-kyqD6iRN.js.gz +0 -0
  655. package/dist/interface/ha/SettingsBackup-CwQZCEBK.js +1047 -0
  656. package/dist/interface/ha/SettingsBackup-CwQZCEBK.js.br +0 -0
  657. package/dist/interface/ha/SettingsBackup-CwQZCEBK.js.gz +0 -0
  658. package/dist/interface/ha/SettingsList-DGFZj9DR.js +40 -0
  659. package/dist/interface/ha/SettingsList-DGFZj9DR.js.br +0 -0
  660. package/dist/interface/ha/SettingsList-DGFZj9DR.js.gz +0 -0
  661. package/dist/interface/ha/SettingsMqtt-C3LiDHjt.js +512 -0
  662. package/dist/interface/ha/SettingsMqtt-C3LiDHjt.js.br +0 -0
  663. package/dist/interface/ha/SettingsMqtt-C3LiDHjt.js.gz +0 -0
  664. package/dist/interface/ha/SettingsNotifications-1nOlxIiU.js +514 -0
  665. package/dist/interface/ha/SettingsNotifications-1nOlxIiU.js.br +0 -0
  666. package/dist/interface/ha/SettingsNotifications-1nOlxIiU.js.gz +0 -0
  667. package/dist/interface/ha/SettingsRecordings-JNunCb_2.js +152 -0
  668. package/dist/interface/ha/SettingsRecordings-JNunCb_2.js.br +0 -0
  669. package/dist/interface/ha/SettingsRecordings-JNunCb_2.js.gz +0 -0
  670. package/dist/interface/ha/SettingsRemote-BMPH9q5l.js +1523 -0
  671. package/dist/interface/ha/SettingsRemote-BMPH9q5l.js.br +0 -0
  672. package/dist/interface/ha/SettingsRemote-BMPH9q5l.js.gz +0 -0
  673. package/dist/interface/ha/SettingsSystem-DDH4f0Vx.js +382 -0
  674. package/dist/interface/ha/SettingsSystem-DDH4f0Vx.js.br +0 -0
  675. package/dist/interface/ha/SettingsSystem-DDH4f0Vx.js.gz +0 -0
  676. package/dist/interface/ha/SettingsUsers-CFTsI0cg.js +370 -0
  677. package/dist/interface/ha/SettingsUsers-CFTsI0cg.js.br +0 -0
  678. package/dist/interface/ha/SettingsUsers-CFTsI0cg.js.gz +0 -0
  679. package/dist/interface/ha/Terminal-DSDOuCjQ.js +611 -0
  680. package/dist/interface/ha/Terminal-DSDOuCjQ.js.br +0 -0
  681. package/dist/interface/ha/Terminal-DSDOuCjQ.js.gz +0 -0
  682. package/dist/interface/ha/Training-Bz7zeaiv.js +1829 -0
  683. package/dist/interface/ha/Training-Bz7zeaiv.js.br +0 -0
  684. package/dist/interface/ha/Training-Bz7zeaiv.js.gz +0 -0
  685. package/dist/interface/ha/Updates-Dia2pdZq.js +357 -0
  686. package/dist/interface/ha/Updates-Dia2pdZq.js.br +0 -0
  687. package/dist/interface/ha/Updates-Dia2pdZq.js.gz +0 -0
  688. package/dist/interface/ha/VariableInput-BJNBozvt.js +52 -0
  689. package/dist/interface/ha/VariableInput-BJNBozvt.js.br +0 -0
  690. package/dist/interface/ha/VariableInput-BJNBozvt.js.gz +0 -0
  691. package/dist/interface/ha/VersionsHandler-nZZLPTIy.js +221 -0
  692. package/dist/interface/ha/VersionsHandler-nZZLPTIy.js.br +0 -0
  693. package/dist/interface/ha/VersionsHandler-nZZLPTIy.js.gz +0 -0
  694. package/dist/interface/ha/VirtualSensorCreate-BEY_5Moy.js +102 -0
  695. package/dist/interface/ha/VirtualSensorCreate-BEY_5Moy.js.br +0 -0
  696. package/dist/interface/ha/VirtualSensorCreate-BEY_5Moy.js.gz +0 -0
  697. package/dist/interface/ha/Workers-Cz7uqDB1.js +1270 -0
  698. package/dist/interface/ha/Workers-Cz7uqDB1.js.br +0 -0
  699. package/dist/interface/ha/Workers-Cz7uqDB1.js.gz +0 -0
  700. package/dist/interface/ha/api-CQn_HFOl.js +29 -0
  701. package/dist/interface/ha/api-CQn_HFOl.js.br +0 -0
  702. package/dist/interface/ha/api-CQn_HFOl.js.gz +0 -0
  703. package/dist/interface/ha/api-DUn3L5D7.js +69083 -0
  704. package/dist/interface/ha/api-DUn3L5D7.js.br +0 -0
  705. package/dist/interface/ha/api-DUn3L5D7.js.gz +0 -0
  706. package/dist/interface/ha/assistant-BN7Ii0r0.js +349 -0
  707. package/dist/interface/ha/assistant-BN7Ii0r0.js.br +0 -0
  708. package/dist/interface/ha/assistant-BN7Ii0r0.js.gz +0 -0
  709. package/dist/interface/ha/auth-BPmMlAAg.js +271 -0
  710. package/dist/interface/ha/auth-BPmMlAAg.js.br +0 -0
  711. package/dist/interface/ha/auth-BPmMlAAg.js.gz +0 -0
  712. package/dist/interface/ha/automationBlueprint-DLWpQex2.js +250 -0
  713. package/dist/interface/ha/automationBlueprint-DLWpQex2.js.br +0 -0
  714. package/dist/interface/ha/automationBlueprint-DLWpQex2.js.gz +0 -0
  715. package/dist/interface/ha/cameraui-cards.js +2 -2
  716. package/dist/interface/ha/cards-DESDf3mL.js +13315 -0
  717. package/dist/interface/ha/cards-DESDf3mL.js.br +0 -0
  718. package/dist/interface/ha/cards-DESDf3mL.js.gz +0 -0
  719. package/dist/interface/ha/config-D8j5zflt.js +116 -0
  720. package/dist/interface/ha/config-D8j5zflt.js.br +0 -0
  721. package/dist/interface/ha/config-D8j5zflt.js.gz +0 -0
  722. package/dist/interface/ha/dist-DTq7_9I6.js +4434 -0
  723. package/dist/interface/ha/dist-DTq7_9I6.js.br +0 -0
  724. package/dist/interface/ha/dist-DTq7_9I6.js.gz +0 -0
  725. package/dist/interface/ha/mqtt-e7J98M0X.js +56 -0
  726. package/dist/interface/ha/mqtt-e7J98M0X.js.br +0 -0
  727. package/dist/interface/ha/mqtt-e7J98M0X.js.gz +0 -0
  728. package/dist/interface/ha/notifications-CKfUQZcf.js +159 -0
  729. package/dist/interface/ha/notifications-CKfUQZcf.js.br +0 -0
  730. package/dist/interface/ha/notifications-CKfUQZcf.js.gz +0 -0
  731. package/dist/interface/ha/plugins-DHEWLE-_.js +592 -0
  732. package/dist/interface/ha/plugins-DHEWLE-_.js.br +0 -0
  733. package/dist/interface/ha/plugins-DHEWLE-_.js.gz +0 -0
  734. package/dist/interface/ha/rooms-B8un3Qdi.js +45 -0
  735. package/dist/interface/ha/rooms-B8un3Qdi.js.br +0 -0
  736. package/dist/interface/ha/rooms-B8un3Qdi.js.gz +0 -0
  737. package/dist/interface/ha/server-D2PcGC9A.js +244 -0
  738. package/dist/interface/ha/server-D2PcGC9A.js.br +0 -0
  739. package/dist/interface/ha/server-D2PcGC9A.js.gz +0 -0
  740. package/dist/interface/ha/speeddial-Cxa_1lY2.js +941 -0
  741. package/dist/interface/ha/speeddial-Cxa_1lY2.js.br +0 -0
  742. package/dist/interface/ha/speeddial-Cxa_1lY2.js.gz +0 -0
  743. package/dist/interface/ha/types-4TNJU75d.js +1073 -0
  744. package/dist/interface/ha/types-4TNJU75d.js.br +0 -0
  745. package/dist/interface/ha/types-4TNJU75d.js.gz +0 -0
  746. package/dist/interface/ha/updates-C7C7vE8R.js +414 -0
  747. package/dist/interface/ha/updates-C7C7vE8R.js.br +0 -0
  748. package/dist/interface/ha/updates-C7C7vE8R.js.gz +0 -0
  749. package/dist/interface/ha/useAppVersion-BJg6yGaM.js +22 -0
  750. package/dist/interface/ha/useAppVersion-BJg6yGaM.js.br +3 -0
  751. package/dist/interface/ha/useAppVersion-BJg6yGaM.js.gz +0 -0
  752. package/dist/interface/ha/useKeyboardInset-B4Ta0MYT.js +27 -0
  753. package/dist/interface/ha/useKeyboardInset-B4Ta0MYT.js.br +0 -0
  754. package/dist/interface/ha/useKeyboardInset-B4Ta0MYT.js.gz +0 -0
  755. package/dist/interface/ha/useLogsSocket-B_i59MM_.js +74 -0
  756. package/dist/interface/ha/useLogsSocket-B_i59MM_.js.br +0 -0
  757. package/dist/interface/ha/useLogsSocket-B_i59MM_.js.gz +0 -0
  758. package/dist/interface/ha/useNavLayout-DboStdqA.js +125 -0
  759. package/dist/interface/ha/useNavLayout-DboStdqA.js.br +0 -0
  760. package/dist/interface/ha/useNavLayout-DboStdqA.js.gz +0 -0
  761. package/dist/interface/ha/usePlacementLabel-DCu74x82.js +49 -0
  762. package/dist/interface/ha/usePlacementLabel-DCu74x82.js.br +0 -0
  763. package/dist/interface/ha/usePlacementLabel-DCu74x82.js.gz +0 -0
  764. package/dist/interface/ha/useTabSwipe-DjexjTaU.js +45 -0
  765. package/dist/interface/ha/useTabSwipe-DjexjTaU.js.br +0 -0
  766. package/dist/interface/ha/useTabSwipe-DjexjTaU.js.gz +0 -0
  767. package/dist/interface/ha/useUpdateChannel-BPWUr4Hf.js +22 -0
  768. package/dist/interface/ha/useUpdateChannel-BPWUr4Hf.js.br +0 -0
  769. package/dist/interface/ha/useUpdateChannel-BPWUr4Hf.js.gz +0 -0
  770. package/dist/interface/ha/useUpdatesSocket-M7K1vFu-.js +34 -0
  771. package/dist/interface/ha/useUpdatesSocket-M7K1vFu-.js.br +0 -0
  772. package/dist/interface/ha/useUpdatesSocket-M7K1vFu-.js.gz +0 -0
  773. package/dist/interface/ha/useUserOptions-BYC5YXhG.js +15 -0
  774. package/dist/interface/ha/useUserOptions-BYC5YXhG.js.br +0 -0
  775. package/dist/interface/ha/useUserOptions-BYC5YXhG.js.gz +0 -0
  776. package/dist/interface/index.html +29 -29
  777. package/dist/interface/sw.js +1 -1
  778. package/dist/server/assets/docs.json +1 -1
  779. package/dist/server/package.json +7 -7
  780. package/dist/server/requirements.txt +2 -2
  781. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +16 -1
  782. package/dist/server/src/api/controllers/cameras.controller.js +1 -2
  783. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  784. package/dist/server/src/assistant/tools/cameras.js +1 -2
  785. package/dist/server/src/assistant/tools/cameras.js.map +1 -1
  786. package/dist/server/src/automations/actions/snapshot.js +2 -4
  787. package/dist/server/src/automations/actions/snapshot.js.map +1 -1
  788. package/dist/server/src/camera/controller.d.ts +0 -1
  789. package/dist/server/src/camera/controller.js +4 -8
  790. package/dist/server/src/camera/controller.js.map +1 -1
  791. package/dist/server/src/camera/decoder/worker.js +2 -3
  792. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  793. package/dist/server/src/camera/index.d.ts +4 -2
  794. package/dist/server/src/camera/index.js +8 -1
  795. package/dist/server/src/camera/index.js.map +1 -1
  796. package/dist/server/src/camera/snapshot-store.d.ts +1 -1
  797. package/dist/server/src/camera/snapshot-store.js +6 -2
  798. package/dist/server/src/camera/snapshot-store.js.map +1 -1
  799. package/dist/server/src/camera/streaming/fmp4-session.js +7 -1
  800. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  801. package/dist/server/src/camera/streaming/rtp-session.d.ts +1 -0
  802. package/dist/server/src/camera/streaming/rtp-session.js +7 -0
  803. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
  804. package/dist/server/src/mqtt/bridge.js +1 -1
  805. package/dist/server/src/mqtt/bridge.js.map +1 -1
  806. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +12 -4
  807. package/npm-shrinkwrap.json +117 -117
  808. package/package.json +7 -7
  809. package/dist/interface/assets/404-BMj79XjT.js +0 -1
  810. package/dist/interface/assets/404-BMj79XjT.js.br +0 -0
  811. package/dist/interface/assets/404-BMj79XjT.js.gz +0 -0
  812. package/dist/interface/assets/About-GuOorOsw.js +0 -1
  813. package/dist/interface/assets/About-GuOorOsw.js.br +0 -5
  814. package/dist/interface/assets/About-GuOorOsw.js.gz +0 -0
  815. package/dist/interface/assets/Assistant-BCmv7r12.js +0 -1
  816. package/dist/interface/assets/Assistant-BCmv7r12.js.br +0 -0
  817. package/dist/interface/assets/Assistant-BCmv7r12.js.gz +0 -0
  818. package/dist/interface/assets/Automation-DiCBllSc.js +0 -3
  819. package/dist/interface/assets/Automation-DiCBllSc.js.br +0 -0
  820. package/dist/interface/assets/Automation-DiCBllSc.js.gz +0 -0
  821. package/dist/interface/assets/AutomationImport-DxbW0MBD.js +0 -2
  822. package/dist/interface/assets/AutomationImport-DxbW0MBD.js.br +0 -0
  823. package/dist/interface/assets/AutomationImport-DxbW0MBD.js.gz +0 -0
  824. package/dist/interface/assets/AutomationStore-D2xJRXIr.js +0 -2
  825. package/dist/interface/assets/AutomationStore-D2xJRXIr.js.br +0 -0
  826. package/dist/interface/assets/AutomationStore-D2xJRXIr.js.gz +0 -0
  827. package/dist/interface/assets/AutomationStoreDetail-6UfqyhXv.js +0 -2
  828. package/dist/interface/assets/AutomationStoreDetail-6UfqyhXv.js.br +0 -0
  829. package/dist/interface/assets/AutomationStoreDetail-6UfqyhXv.js.gz +0 -0
  830. package/dist/interface/assets/Automations-B5D6uMR9.js +0 -2
  831. package/dist/interface/assets/Automations-B5D6uMR9.js.br +0 -0
  832. package/dist/interface/assets/Automations-B5D6uMR9.js.gz +0 -0
  833. package/dist/interface/assets/BackupRestore-CWYSA-p9.js +0 -1
  834. package/dist/interface/assets/BackupRestore-CWYSA-p9.js.br +0 -0
  835. package/dist/interface/assets/BackupRestore-CWYSA-p9.js.gz +0 -0
  836. package/dist/interface/assets/Camera-nAhvtDPM.js +0 -2
  837. package/dist/interface/assets/Camera-nAhvtDPM.js.br +0 -0
  838. package/dist/interface/assets/Camera-nAhvtDPM.js.gz +0 -0
  839. package/dist/interface/assets/CameraConsole-BubkOXIn.js +0 -7
  840. package/dist/interface/assets/CameraConsole-BubkOXIn.js.br +0 -0
  841. package/dist/interface/assets/CameraConsole-BubkOXIn.js.gz +0 -0
  842. package/dist/interface/assets/Cameras-_za6U1fG.js +0 -651
  843. package/dist/interface/assets/Cameras-_za6U1fG.js.br +0 -0
  844. package/dist/interface/assets/Cameras-_za6U1fG.js.gz +0 -0
  845. package/dist/interface/assets/Camview-Dz37ulQ3.js +0 -1
  846. package/dist/interface/assets/Camview-Dz37ulQ3.js.br +0 -0
  847. package/dist/interface/assets/Camview-Dz37ulQ3.js.gz +0 -0
  848. package/dist/interface/assets/Config-DJjqahmx.js +0 -2
  849. package/dist/interface/assets/Config-DJjqahmx.js.br +0 -0
  850. package/dist/interface/assets/Config-DJjqahmx.js.gz +0 -0
  851. package/dist/interface/assets/ConfigActionAssistant-DKrLo3aR.js +0 -1
  852. package/dist/interface/assets/ConfigActionAssistant-DKrLo3aR.js.br +0 -0
  853. package/dist/interface/assets/ConfigActionAssistant-DKrLo3aR.js.gz +0 -0
  854. package/dist/interface/assets/ConfigActionCameraControl-DQJouc3y.js +0 -1
  855. package/dist/interface/assets/ConfigActionCameraControl-DQJouc3y.js.br +0 -0
  856. package/dist/interface/assets/ConfigActionCameraControl-DQJouc3y.js.gz +0 -0
  857. package/dist/interface/assets/ConfigActionHttp-BnJFthTT.js +0 -1
  858. package/dist/interface/assets/ConfigActionHttp-BnJFthTT.js.br +0 -0
  859. package/dist/interface/assets/ConfigActionHttp-BnJFthTT.js.gz +0 -0
  860. package/dist/interface/assets/ConfigActionImageInput-ALM7KAw2.js +0 -1
  861. package/dist/interface/assets/ConfigActionImageInput-ALM7KAw2.js.br +0 -0
  862. package/dist/interface/assets/ConfigActionImageInput-ALM7KAw2.js.gz +0 -0
  863. package/dist/interface/assets/ConfigActionMqtt-nS3RS1Gk.js +0 -1
  864. package/dist/interface/assets/ConfigActionMqtt-nS3RS1Gk.js.br +0 -0
  865. package/dist/interface/assets/ConfigActionMqtt-nS3RS1Gk.js.gz +0 -0
  866. package/dist/interface/assets/ConfigActionNotification-CKHAbwQC.js +0 -1
  867. package/dist/interface/assets/ConfigActionNotification-CKHAbwQC.js.br +0 -0
  868. package/dist/interface/assets/ConfigActionNotification-CKHAbwQC.js.gz +0 -0
  869. package/dist/interface/assets/ConfigActionNotificationControl-BnSGHsU1.js +0 -1
  870. package/dist/interface/assets/ConfigActionNotificationControl-BnSGHsU1.js.br +0 -0
  871. package/dist/interface/assets/ConfigActionNotificationControl-BnSGHsU1.js.gz +0 -0
  872. package/dist/interface/assets/ConfigActionOutput-D4Wel3De.js +0 -1
  873. package/dist/interface/assets/ConfigActionOutput-D4Wel3De.js.br +0 -0
  874. package/dist/interface/assets/ConfigActionOutput-D4Wel3De.js.gz +0 -0
  875. package/dist/interface/assets/ConfigActionPlugin-bh6rI0um.js +0 -1
  876. package/dist/interface/assets/ConfigActionPlugin-bh6rI0um.js.br +0 -0
  877. package/dist/interface/assets/ConfigActionPlugin-bh6rI0um.js.gz +0 -0
  878. package/dist/interface/assets/ConfigActionSensor-O4MJd0M1.js +0 -1
  879. package/dist/interface/assets/ConfigActionSensor-O4MJd0M1.js.br +0 -0
  880. package/dist/interface/assets/ConfigActionSensor-O4MJd0M1.js.gz +0 -0
  881. package/dist/interface/assets/ConfigActionSnapshot-Bv1LvsN5.js +0 -1
  882. package/dist/interface/assets/ConfigActionSnapshot-Bv1LvsN5.js.br +0 -0
  883. package/dist/interface/assets/ConfigActionSnapshot-Bv1LvsN5.js.gz +0 -0
  884. package/dist/interface/assets/ConfigActionVariable-BhIOexZq.js +0 -1
  885. package/dist/interface/assets/ConfigActionVariable-BhIOexZq.js.br +0 -0
  886. package/dist/interface/assets/ConfigActionVariable-BhIOexZq.js.gz +0 -0
  887. package/dist/interface/assets/ConfigConditionIfElse-smevwPDS.js +0 -1
  888. package/dist/interface/assets/ConfigConditionIfElse-smevwPDS.js.br +0 -0
  889. package/dist/interface/assets/ConfigConditionIfElse-smevwPDS.js.gz +0 -0
  890. package/dist/interface/assets/ConfigConditionSensorState-BvqEGzvU.js +0 -1
  891. package/dist/interface/assets/ConfigConditionSensorState-BvqEGzvU.js.br +0 -0
  892. package/dist/interface/assets/ConfigConditionSensorState-BvqEGzvU.js.gz +0 -0
  893. package/dist/interface/assets/ConfigConditionSwitch-BarJmiQY.js +0 -1
  894. package/dist/interface/assets/ConfigConditionSwitch-BarJmiQY.js.br +0 -0
  895. package/dist/interface/assets/ConfigConditionSwitch-BarJmiQY.js.gz +0 -0
  896. package/dist/interface/assets/ConfigSensorValueInput-C4afzn70.js +0 -1
  897. package/dist/interface/assets/ConfigSensorValueInput-C4afzn70.js.br +0 -0
  898. package/dist/interface/assets/ConfigSensorValueInput-C4afzn70.js.gz +0 -0
  899. package/dist/interface/assets/ConfigTriggerDetection-CIiFBNYv.js +0 -1
  900. package/dist/interface/assets/ConfigTriggerDetection-CIiFBNYv.js.br +0 -0
  901. package/dist/interface/assets/ConfigTriggerDetection-CIiFBNYv.js.gz +0 -0
  902. package/dist/interface/assets/ConfigTriggerGeofence-DthsSDZs.js +0 -1
  903. package/dist/interface/assets/ConfigTriggerGeofence-DthsSDZs.js.br +0 -0
  904. package/dist/interface/assets/ConfigTriggerGeofence-DthsSDZs.js.gz +0 -0
  905. package/dist/interface/assets/ConfigTriggerMqtt-CmERgsUS.js +0 -1
  906. package/dist/interface/assets/ConfigTriggerMqtt-CmERgsUS.js.br +0 -0
  907. package/dist/interface/assets/ConfigTriggerMqtt-CmERgsUS.js.gz +0 -0
  908. package/dist/interface/assets/ConfigTriggerSensor-Cu6yNORc.js +0 -1
  909. package/dist/interface/assets/ConfigTriggerSensor-Cu6yNORc.js.br +0 -0
  910. package/dist/interface/assets/ConfigTriggerSensor-Cu6yNORc.js.gz +0 -0
  911. package/dist/interface/assets/ConfigTriggerSystem-GnAYuh6W.js +0 -1
  912. package/dist/interface/assets/ConfigTriggerSystem-GnAYuh6W.js.br +0 -0
  913. package/dist/interface/assets/ConfigTriggerSystem-GnAYuh6W.js.gz +0 -0
  914. package/dist/interface/assets/ConfigTriggerWebhook-BKLfeJO1.js +0 -1
  915. package/dist/interface/assets/ConfigTriggerWebhook-BKLfeJO1.js.br +0 -0
  916. package/dist/interface/assets/ConfigTriggerWebhook-BKLfeJO1.js.gz +0 -0
  917. package/dist/interface/assets/Console-B2LJUI0g.js +0 -1
  918. package/dist/interface/assets/Console-B2LJUI0g.js.br +0 -0
  919. package/dist/interface/assets/Console-B2LJUI0g.js.gz +0 -0
  920. package/dist/interface/assets/CuiAssistantConversation-CixQUjS9.js +0 -5
  921. package/dist/interface/assets/CuiAssistantConversation-CixQUjS9.js.br +0 -0
  922. package/dist/interface/assets/CuiAssistantConversation-CixQUjS9.js.gz +0 -0
  923. package/dist/interface/assets/CuiAutomationRunsDialog-6uaXrJS5.js +0 -1
  924. package/dist/interface/assets/CuiAutomationRunsDialog-6uaXrJS5.js.br +0 -0
  925. package/dist/interface/assets/CuiAutomationRunsDialog-6uaXrJS5.js.gz +0 -0
  926. package/dist/interface/assets/CuiBottomSheet-CAOO-nWU.js +0 -1
  927. package/dist/interface/assets/CuiBottomSheet-CAOO-nWU.js.br +0 -0
  928. package/dist/interface/assets/CuiBottomSheet-CAOO-nWU.js.gz +0 -0
  929. package/dist/interface/assets/CuiBottomSheet-Cs8U_ja7.js +0 -1
  930. package/dist/interface/assets/CuiBottomSheet-Cs8U_ja7.js.br +0 -1
  931. package/dist/interface/assets/CuiBottomSheet-Cs8U_ja7.js.gz +0 -0
  932. package/dist/interface/assets/CuiCameraPipCard-CIhq8eot.js +0 -1
  933. package/dist/interface/assets/CuiCameraPipCard-CIhq8eot.js.br +0 -0
  934. package/dist/interface/assets/CuiCameraPipCard-CIhq8eot.js.gz +0 -0
  935. package/dist/interface/assets/CuiCameraRecordings-DF_sMli8.js +0 -1
  936. package/dist/interface/assets/CuiCameraRecordings-DF_sMli8.js.br +0 -0
  937. package/dist/interface/assets/CuiCameraRecordings-DF_sMli8.js.gz +0 -0
  938. package/dist/interface/assets/CuiCameraShares-BFYlATKA.js +0 -1
  939. package/dist/interface/assets/CuiCameraShares-BFYlATKA.js.br +0 -0
  940. package/dist/interface/assets/CuiCameraShares-BFYlATKA.js.gz +0 -0
  941. package/dist/interface/assets/CuiCameraTable-Bnkb5yFU.js +0 -2
  942. package/dist/interface/assets/CuiCameraTable-Bnkb5yFU.js.br +0 -0
  943. package/dist/interface/assets/CuiCameraTable-Bnkb5yFU.js.gz +0 -0
  944. package/dist/interface/assets/CuiCameraTable-DFINjvlg.js +0 -1
  945. package/dist/interface/assets/CuiCameraTable-DFINjvlg.js.br +0 -1
  946. package/dist/interface/assets/CuiCameraTable-DFINjvlg.js.gz +0 -0
  947. package/dist/interface/assets/CuiChartTable-CGgKsEsq.js +0 -1
  948. package/dist/interface/assets/CuiChartTable-CGgKsEsq.js.br +0 -0
  949. package/dist/interface/assets/CuiChartTable-CGgKsEsq.js.gz +0 -0
  950. package/dist/interface/assets/CuiConsole-Bfg49Yzx.js +0 -5
  951. package/dist/interface/assets/CuiConsole-Bfg49Yzx.js.br +0 -0
  952. package/dist/interface/assets/CuiConsole-Bfg49Yzx.js.gz +0 -0
  953. package/dist/interface/assets/CuiDataTable-CfRZXOio.js +0 -1
  954. package/dist/interface/assets/CuiDataTable-CfRZXOio.js.br +0 -0
  955. package/dist/interface/assets/CuiDataTable-CfRZXOio.js.gz +0 -0
  956. package/dist/interface/assets/CuiLightControl-DJh1UfRy.js +0 -1
  957. package/dist/interface/assets/CuiLightControl-DJh1UfRy.js.br +0 -0
  958. package/dist/interface/assets/CuiLightControl-DJh1UfRy.js.gz +0 -0
  959. package/dist/interface/assets/CuiMoveCodeForm-Cbcc3Rds.js +0 -1
  960. package/dist/interface/assets/CuiMoveCodeForm-Cbcc3Rds.js.br +0 -0
  961. package/dist/interface/assets/CuiMoveCodeForm-Cbcc3Rds.js.gz +0 -0
  962. package/dist/interface/assets/CuiPluginCard-D5o7bz82.js +0 -2
  963. package/dist/interface/assets/CuiPluginCard-D5o7bz82.js.br +0 -0
  964. package/dist/interface/assets/CuiPluginCard-D5o7bz82.js.gz +0 -0
  965. package/dist/interface/assets/CuiPluginCategoryChip-DMxs_ZwE.js +0 -1
  966. package/dist/interface/assets/CuiPluginCategoryChip-DMxs_ZwE.js.br +0 -0
  967. package/dist/interface/assets/CuiPluginCategoryChip-DMxs_ZwE.js.gz +0 -0
  968. package/dist/interface/assets/CuiPluginOAuthButton-BZ5GiClf.js +0 -2
  969. package/dist/interface/assets/CuiPluginOAuthButton-BZ5GiClf.js.br +0 -0
  970. package/dist/interface/assets/CuiPluginOAuthButton-BZ5GiClf.js.gz +0 -0
  971. package/dist/interface/assets/CuiPluginTrustBadge-CXPARdCH.js +0 -1
  972. package/dist/interface/assets/CuiPluginTrustBadge-CXPARdCH.js.br +0 -0
  973. package/dist/interface/assets/CuiPluginTrustBadge-CXPARdCH.js.gz +0 -0
  974. package/dist/interface/assets/CuiQRCode-UBWUs5tI.js +0 -1
  975. package/dist/interface/assets/CuiQRCode-UBWUs5tI.js.br +0 -0
  976. package/dist/interface/assets/CuiQRCode-UBWUs5tI.js.gz +0 -0
  977. package/dist/interface/assets/CuiSchema-CWj38bGw.js +0 -1
  978. package/dist/interface/assets/CuiSchema-CWj38bGw.js.br +0 -0
  979. package/dist/interface/assets/CuiSchema-CWj38bGw.js.gz +0 -0
  980. package/dist/interface/assets/CuiTopNavbarItem-DVEK1s5d.js +0 -1
  981. package/dist/interface/assets/CuiTopNavbarItem-DVEK1s5d.js.br +0 -0
  982. package/dist/interface/assets/CuiTopNavbarItem-DVEK1s5d.js.gz +0 -0
  983. package/dist/interface/assets/Faces-Bo3AYgKe.js +0 -1
  984. package/dist/interface/assets/Faces-Bo3AYgKe.js.br +0 -0
  985. package/dist/interface/assets/Faces-Bo3AYgKe.js.gz +0 -0
  986. package/dist/interface/assets/FirstSteps-BGR7npQx.js +0 -1
  987. package/dist/interface/assets/FirstSteps-BGR7npQx.js.br +0 -0
  988. package/dist/interface/assets/FirstSteps-BGR7npQx.js.gz +0 -0
  989. package/dist/interface/assets/Floorplan-DEAXLv_l.js +0 -1
  990. package/dist/interface/assets/Floorplan-DEAXLv_l.js.br +0 -0
  991. package/dist/interface/assets/Floorplan-DEAXLv_l.js.gz +0 -0
  992. package/dist/interface/assets/Instances-BWRmmXbE.js +0 -1
  993. package/dist/interface/assets/Instances-BWRmmXbE.js.br +0 -0
  994. package/dist/interface/assets/Instances-BWRmmXbE.js.gz +0 -0
  995. package/dist/interface/assets/Logs-Dk47dJCa.js +0 -6
  996. package/dist/interface/assets/Logs-Dk47dJCa.js.br +0 -0
  997. package/dist/interface/assets/Logs-Dk47dJCa.js.gz +0 -0
  998. package/dist/interface/assets/Menu-ByNNjqJn.js +0 -1
  999. package/dist/interface/assets/Menu-ByNNjqJn.js.br +0 -0
  1000. package/dist/interface/assets/Menu-ByNNjqJn.js.gz +0 -0
  1001. package/dist/interface/assets/Metrics-dwRXd0D8.js +0 -12
  1002. package/dist/interface/assets/Metrics-dwRXd0D8.js.br +0 -0
  1003. package/dist/interface/assets/Metrics-dwRXd0D8.js.gz +0 -0
  1004. package/dist/interface/assets/OAuthDeviceFlow-DN3VwFHC.js +0 -1
  1005. package/dist/interface/assets/OAuthDeviceFlow-DN3VwFHC.js.br +0 -0
  1006. package/dist/interface/assets/OAuthDeviceFlow-DN3VwFHC.js.gz +0 -0
  1007. package/dist/interface/assets/Plugin-CIH0TF3a.js +0 -1
  1008. package/dist/interface/assets/Plugin-CIH0TF3a.js.br +0 -0
  1009. package/dist/interface/assets/Plugin-CIH0TF3a.js.gz +0 -0
  1010. package/dist/interface/assets/PluginConsole-OUbDe_Qi.js +0 -7
  1011. package/dist/interface/assets/PluginConsole-OUbDe_Qi.js.br +0 -0
  1012. package/dist/interface/assets/PluginConsole-OUbDe_Qi.js.gz +0 -0
  1013. package/dist/interface/assets/PluginDetail-DzDdyA_n.js +0 -2
  1014. package/dist/interface/assets/PluginDetail-DzDdyA_n.js.br +0 -0
  1015. package/dist/interface/assets/PluginDetail-DzDdyA_n.js.gz +0 -0
  1016. package/dist/interface/assets/PluginSchema-CDiNUijO.js +0 -1
  1017. package/dist/interface/assets/PluginSchema-CDiNUijO.js.br +0 -0
  1018. package/dist/interface/assets/PluginSchema-CDiNUijO.js.gz +0 -0
  1019. package/dist/interface/assets/PluginSearch-6nfv0rUZ.js +0 -1
  1020. package/dist/interface/assets/PluginSearch-6nfv0rUZ.js.br +0 -1
  1021. package/dist/interface/assets/PluginSearch-6nfv0rUZ.js.gz +0 -0
  1022. package/dist/interface/assets/PluginSearch-CpjvGZ1K.js +0 -2
  1023. package/dist/interface/assets/PluginSearch-CpjvGZ1K.js.br +0 -0
  1024. package/dist/interface/assets/PluginSearch-CpjvGZ1K.js.gz +0 -0
  1025. package/dist/interface/assets/PluginUpdateProgress-BpxK2MxE.js +0 -1
  1026. package/dist/interface/assets/PluginUpdateProgress-BpxK2MxE.js.br +0 -0
  1027. package/dist/interface/assets/PluginUpdateProgress-BpxK2MxE.js.gz +0 -0
  1028. package/dist/interface/assets/Plugins-DRbDoh8f.js +0 -1
  1029. package/dist/interface/assets/Plugins-DRbDoh8f.js.br +0 -0
  1030. package/dist/interface/assets/Plugins-DRbDoh8f.js.gz +0 -0
  1031. package/dist/interface/assets/RecentEventsFilter-BFlbTCVN.js +0 -1
  1032. package/dist/interface/assets/RecentEventsFilter-BFlbTCVN.js.br +0 -0
  1033. package/dist/interface/assets/RecentEventsFilter-BFlbTCVN.js.gz +0 -0
  1034. package/dist/interface/assets/Recordings-JmKjg1rv.js +0 -1
  1035. package/dist/interface/assets/Recordings-JmKjg1rv.js.br +0 -0
  1036. package/dist/interface/assets/Recordings-JmKjg1rv.js.gz +0 -0
  1037. package/dist/interface/assets/SensorEdit-5iXuq1hX.js +0 -1
  1038. package/dist/interface/assets/SensorEdit-5iXuq1hX.js.br +0 -0
  1039. package/dist/interface/assets/SensorEdit-5iXuq1hX.js.gz +0 -0
  1040. package/dist/interface/assets/SensorHistory-DvW4ylhc.js +0 -1
  1041. package/dist/interface/assets/SensorHistory-DvW4ylhc.js.br +0 -0
  1042. package/dist/interface/assets/SensorHistory-DvW4ylhc.js.gz +0 -0
  1043. package/dist/interface/assets/Sensors-CJRgHg24.js +0 -2
  1044. package/dist/interface/assets/Sensors-CJRgHg24.js.br +0 -0
  1045. package/dist/interface/assets/Sensors-CJRgHg24.js.gz +0 -0
  1046. package/dist/interface/assets/Settings-gP6KvlhW.js +0 -1
  1047. package/dist/interface/assets/Settings-gP6KvlhW.js.br +0 -0
  1048. package/dist/interface/assets/Settings-gP6KvlhW.js.gz +0 -0
  1049. package/dist/interface/assets/SettingsAccount-DxBaSiP3.js +0 -1
  1050. package/dist/interface/assets/SettingsAccount-DxBaSiP3.js.br +0 -0
  1051. package/dist/interface/assets/SettingsAccount-DxBaSiP3.js.gz +0 -0
  1052. package/dist/interface/assets/SettingsAccount-UaKygscf.css +0 -1
  1053. package/dist/interface/assets/SettingsAccount-UaKygscf.css.br +0 -0
  1054. package/dist/interface/assets/SettingsAccount-UaKygscf.css.gz +0 -0
  1055. package/dist/interface/assets/SettingsAccount-UyW8Rdbu.js +0 -1
  1056. package/dist/interface/assets/SettingsAccount-UyW8Rdbu.js.br +0 -0
  1057. package/dist/interface/assets/SettingsAccount-UyW8Rdbu.js.gz +0 -0
  1058. package/dist/interface/assets/SettingsAppearance-CklnBo48.js +0 -1
  1059. package/dist/interface/assets/SettingsAppearance-CklnBo48.js.br +0 -0
  1060. package/dist/interface/assets/SettingsAppearance-CklnBo48.js.gz +0 -0
  1061. package/dist/interface/assets/SettingsAppearance-CyRil5A6.js +0 -1
  1062. package/dist/interface/assets/SettingsAppearance-CyRil5A6.js.br +0 -0
  1063. package/dist/interface/assets/SettingsAppearance-CyRil5A6.js.gz +0 -0
  1064. package/dist/interface/assets/SettingsAssistant-BpoC9nuP.js +0 -1
  1065. package/dist/interface/assets/SettingsAssistant-BpoC9nuP.js.br +0 -0
  1066. package/dist/interface/assets/SettingsAssistant-BpoC9nuP.js.gz +0 -0
  1067. package/dist/interface/assets/SettingsBackup-qF_Tg4EV.js +0 -1
  1068. package/dist/interface/assets/SettingsBackup-qF_Tg4EV.js.br +0 -0
  1069. package/dist/interface/assets/SettingsBackup-qF_Tg4EV.js.gz +0 -0
  1070. package/dist/interface/assets/SettingsList-DVIZe748.js +0 -1
  1071. package/dist/interface/assets/SettingsList-DVIZe748.js.br +0 -0
  1072. package/dist/interface/assets/SettingsList-DVIZe748.js.gz +0 -0
  1073. package/dist/interface/assets/SettingsMqtt-B-vy3STG.js +0 -1
  1074. package/dist/interface/assets/SettingsMqtt-B-vy3STG.js.br +0 -0
  1075. package/dist/interface/assets/SettingsMqtt-B-vy3STG.js.gz +0 -0
  1076. package/dist/interface/assets/SettingsNotifications-DxkB07uF.js +0 -1
  1077. package/dist/interface/assets/SettingsNotifications-DxkB07uF.js.br +0 -0
  1078. package/dist/interface/assets/SettingsNotifications-DxkB07uF.js.gz +0 -0
  1079. package/dist/interface/assets/SettingsPermissions-GDUHm4Dy.js +0 -1
  1080. package/dist/interface/assets/SettingsPermissions-GDUHm4Dy.js.br +0 -0
  1081. package/dist/interface/assets/SettingsPermissions-GDUHm4Dy.js.gz +0 -0
  1082. package/dist/interface/assets/SettingsRecordings-yoLYy5Ye.js +0 -1
  1083. package/dist/interface/assets/SettingsRecordings-yoLYy5Ye.js.br +0 -0
  1084. package/dist/interface/assets/SettingsRecordings-yoLYy5Ye.js.gz +0 -0
  1085. package/dist/interface/assets/SettingsRemote-Bl6CSoS0.js +0 -2
  1086. package/dist/interface/assets/SettingsRemote-Bl6CSoS0.js.br +0 -0
  1087. package/dist/interface/assets/SettingsRemote-Bl6CSoS0.js.gz +0 -0
  1088. package/dist/interface/assets/SettingsSystem-CSXyXTlu.js +0 -2
  1089. package/dist/interface/assets/SettingsSystem-CSXyXTlu.js.br +0 -0
  1090. package/dist/interface/assets/SettingsSystem-CSXyXTlu.js.gz +0 -0
  1091. package/dist/interface/assets/SettingsUsers-BWGACbPP.js +0 -1
  1092. package/dist/interface/assets/SettingsUsers-BWGACbPP.js.br +0 -0
  1093. package/dist/interface/assets/SettingsUsers-BWGACbPP.js.gz +0 -0
  1094. package/dist/interface/assets/Terminal-B6u7U9CX.js +0 -4
  1095. package/dist/interface/assets/Terminal-B6u7U9CX.js.br +0 -0
  1096. package/dist/interface/assets/Terminal-B6u7U9CX.js.gz +0 -0
  1097. package/dist/interface/assets/Training-Cn7kcb1P.js +0 -1
  1098. package/dist/interface/assets/Training-Cn7kcb1P.js.br +0 -0
  1099. package/dist/interface/assets/Training-Cn7kcb1P.js.gz +0 -0
  1100. package/dist/interface/assets/Updates-BtcOsKwD.js +0 -2
  1101. package/dist/interface/assets/Updates-BtcOsKwD.js.br +0 -0
  1102. package/dist/interface/assets/Updates-BtcOsKwD.js.gz +0 -0
  1103. package/dist/interface/assets/VariableInput-BmTqWbr7.js +0 -1
  1104. package/dist/interface/assets/VariableInput-BmTqWbr7.js.br +0 -4
  1105. package/dist/interface/assets/VariableInput-BmTqWbr7.js.gz +0 -0
  1106. package/dist/interface/assets/VersionsHandler-B11ImKTw.js +0 -7
  1107. package/dist/interface/assets/VersionsHandler-B11ImKTw.js.br +0 -0
  1108. package/dist/interface/assets/VersionsHandler-B11ImKTw.js.gz +0 -0
  1109. package/dist/interface/assets/VirtualSensorCreate-Bk6dDT3N.js +0 -1
  1110. package/dist/interface/assets/VirtualSensorCreate-Bk6dDT3N.js.br +0 -0
  1111. package/dist/interface/assets/VirtualSensorCreate-Bk6dDT3N.js.gz +0 -0
  1112. package/dist/interface/assets/Workers-BVY0gIZ6.js +0 -2
  1113. package/dist/interface/assets/Workers-BVY0gIZ6.js.br +0 -0
  1114. package/dist/interface/assets/Workers-BVY0gIZ6.js.gz +0 -0
  1115. package/dist/interface/assets/api-CQ3LkXuk.js +0 -4
  1116. package/dist/interface/assets/api-CQ3LkXuk.js.br +0 -0
  1117. package/dist/interface/assets/api-CQ3LkXuk.js.gz +0 -0
  1118. package/dist/interface/assets/api-D5pj1z4u.js +0 -1
  1119. package/dist/interface/assets/api-D5pj1z4u.js.br +0 -2
  1120. package/dist/interface/assets/api-D5pj1z4u.js.gz +0 -0
  1121. package/dist/interface/assets/api-Dh8jUlae.css +0 -2
  1122. package/dist/interface/assets/api-Dh8jUlae.css.br +0 -0
  1123. package/dist/interface/assets/api-Dh8jUlae.css.gz +0 -0
  1124. package/dist/interface/assets/assistant-Ak1qQkQD.js +0 -1
  1125. package/dist/interface/assets/assistant-Ak1qQkQD.js.br +0 -0
  1126. package/dist/interface/assets/assistant-Ak1qQkQD.js.gz +0 -0
  1127. package/dist/interface/assets/auth-C5r5IkMf.js +0 -1
  1128. package/dist/interface/assets/auth-C5r5IkMf.js.br +0 -0
  1129. package/dist/interface/assets/auth-C5r5IkMf.js.gz +0 -0
  1130. package/dist/interface/assets/automations-DCanZA4l.js +0 -1
  1131. package/dist/interface/assets/automations-DCanZA4l.js.br +0 -0
  1132. package/dist/interface/assets/automations-DCanZA4l.js.gz +0 -0
  1133. package/dist/interface/assets/cameraSources-C-oeWnEa.js +0 -1
  1134. package/dist/interface/assets/cameraSources-C-oeWnEa.js.br +0 -0
  1135. package/dist/interface/assets/cameraSources-C-oeWnEa.js.gz +0 -0
  1136. package/dist/interface/assets/cloudHandoff-gh1JjFoB.js +0 -1
  1137. package/dist/interface/assets/cloudHandoff-gh1JjFoB.js.br +0 -1
  1138. package/dist/interface/assets/cloudHandoff-gh1JjFoB.js.gz +0 -0
  1139. package/dist/interface/assets/config-CaeB2xoR.js +0 -1
  1140. package/dist/interface/assets/config-CaeB2xoR.js.br +0 -0
  1141. package/dist/interface/assets/config-CaeB2xoR.js.gz +0 -0
  1142. package/dist/interface/assets/flowSchema-DDR5Bkwp.js +0 -1
  1143. package/dist/interface/assets/flowSchema-DDR5Bkwp.js.br +0 -0
  1144. package/dist/interface/assets/flowSchema-DDR5Bkwp.js.gz +0 -0
  1145. package/dist/interface/assets/intercomService-CrNJqjSQ.js +0 -1
  1146. package/dist/interface/assets/intercomService-CrNJqjSQ.js.br +0 -0
  1147. package/dist/interface/assets/intercomService-CrNJqjSQ.js.gz +0 -0
  1148. package/dist/interface/assets/main-81DFrOv-.js +0 -3
  1149. package/dist/interface/assets/main-81DFrOv-.js.br +0 -0
  1150. package/dist/interface/assets/main-81DFrOv-.js.gz +0 -0
  1151. package/dist/interface/assets/mqtt-dxw2twZb.js +0 -1
  1152. package/dist/interface/assets/mqtt-dxw2twZb.js.br +0 -0
  1153. package/dist/interface/assets/mqtt-dxw2twZb.js.gz +0 -0
  1154. package/dist/interface/assets/notifications-wddGMkjM.js +0 -1
  1155. package/dist/interface/assets/notifications-wddGMkjM.js.br +0 -0
  1156. package/dist/interface/assets/notifications-wddGMkjM.js.gz +0 -0
  1157. package/dist/interface/assets/plugins-BtRZhMzq.js +0 -1
  1158. package/dist/interface/assets/plugins-BtRZhMzq.js.br +0 -0
  1159. package/dist/interface/assets/plugins-BtRZhMzq.js.gz +0 -0
  1160. package/dist/interface/assets/rooms-BdUbpVQC.js +0 -1
  1161. package/dist/interface/assets/rooms-BdUbpVQC.js.br +0 -0
  1162. package/dist/interface/assets/rooms-BdUbpVQC.js.gz +0 -0
  1163. package/dist/interface/assets/sensorIcons-BqRrUC21.js +0 -1
  1164. package/dist/interface/assets/sensorIcons-BqRrUC21.js.br +0 -0
  1165. package/dist/interface/assets/sensorIcons-BqRrUC21.js.gz +0 -0
  1166. package/dist/interface/assets/sensorSlots-CZ1jzvW0.js +0 -1
  1167. package/dist/interface/assets/sensorSlots-CZ1jzvW0.js.br +0 -0
  1168. package/dist/interface/assets/sensorSlots-CZ1jzvW0.js.gz +0 -0
  1169. package/dist/interface/assets/sensors-vvTTj4i4.js +0 -1
  1170. package/dist/interface/assets/sensors-vvTTj4i4.js.br +0 -0
  1171. package/dist/interface/assets/sensors-vvTTj4i4.js.gz +0 -0
  1172. package/dist/interface/assets/server-tY100hue.js +0 -1
  1173. package/dist/interface/assets/server-tY100hue.js.br +0 -0
  1174. package/dist/interface/assets/server-tY100hue.js.gz +0 -0
  1175. package/dist/interface/assets/theme-BstpTBPu.js +0 -1
  1176. package/dist/interface/assets/theme-BstpTBPu.js.br +0 -0
  1177. package/dist/interface/assets/theme-BstpTBPu.js.gz +0 -0
  1178. package/dist/interface/assets/types-Bo-NWCAC.js +0 -1
  1179. package/dist/interface/assets/types-Bo-NWCAC.js.br +0 -0
  1180. package/dist/interface/assets/types-Bo-NWCAC.js.gz +0 -0
  1181. package/dist/interface/assets/types-DY8IfyYP.js +0 -1
  1182. package/dist/interface/assets/types-DY8IfyYP.js.br +0 -0
  1183. package/dist/interface/assets/types-DY8IfyYP.js.gz +0 -0
  1184. package/dist/interface/assets/types-OT17v6kT.js +0 -1
  1185. package/dist/interface/assets/types-OT17v6kT.js.br +0 -0
  1186. package/dist/interface/assets/types-OT17v6kT.js.gz +0 -0
  1187. package/dist/interface/assets/updates-Cy0UvDur.js +0 -2
  1188. package/dist/interface/assets/updates-Cy0UvDur.js.br +0 -0
  1189. package/dist/interface/assets/updates-Cy0UvDur.js.gz +0 -0
  1190. package/dist/interface/assets/useAppVersion-BDm52JIU.js +0 -1
  1191. package/dist/interface/assets/useAppVersion-BDm52JIU.js.br +0 -0
  1192. package/dist/interface/assets/useAppVersion-BDm52JIU.js.gz +0 -0
  1193. package/dist/interface/assets/useCameraOptions-qvQUXrOM.js +0 -1
  1194. package/dist/interface/assets/useCameraOptions-qvQUXrOM.js.br +0 -0
  1195. package/dist/interface/assets/useCameraOptions-qvQUXrOM.js.gz +0 -0
  1196. package/dist/interface/assets/useKeyboardInset-CQKU4-0b.js +0 -1
  1197. package/dist/interface/assets/useKeyboardInset-CQKU4-0b.js.br +0 -0
  1198. package/dist/interface/assets/useKeyboardInset-CQKU4-0b.js.gz +0 -0
  1199. package/dist/interface/assets/useLogsSocket-DW6j2kMx.js +0 -1
  1200. package/dist/interface/assets/useLogsSocket-DW6j2kMx.js.br +0 -0
  1201. package/dist/interface/assets/useLogsSocket-DW6j2kMx.js.gz +0 -0
  1202. package/dist/interface/assets/useNavLayout-Dst4SfJr.js +0 -1
  1203. package/dist/interface/assets/useNavLayout-Dst4SfJr.js.br +0 -0
  1204. package/dist/interface/assets/useNavLayout-Dst4SfJr.js.gz +0 -0
  1205. package/dist/interface/assets/usePermissions-Bh_myrIK.js +0 -1
  1206. package/dist/interface/assets/usePermissions-Bh_myrIK.js.br +0 -0
  1207. package/dist/interface/assets/usePermissions-Bh_myrIK.js.gz +0 -0
  1208. package/dist/interface/assets/usePlacementLabel-C2Prw5hU.js +0 -1
  1209. package/dist/interface/assets/usePlacementLabel-C2Prw5hU.js.br +0 -0
  1210. package/dist/interface/assets/usePlacementLabel-C2Prw5hU.js.gz +0 -0
  1211. package/dist/interface/assets/usePlacementSocket-xLhwFZgQ.js +0 -1
  1212. package/dist/interface/assets/usePlacementSocket-xLhwFZgQ.js.br +0 -0
  1213. package/dist/interface/assets/usePlacementSocket-xLhwFZgQ.js.gz +0 -0
  1214. package/dist/interface/assets/usePluginUpdates-9mTaq1uR.js +0 -1
  1215. package/dist/interface/assets/usePluginUpdates-9mTaq1uR.js.br +0 -0
  1216. package/dist/interface/assets/usePluginUpdates-9mTaq1uR.js.gz +0 -0
  1217. package/dist/interface/assets/usePluginsSocket-TdmWm307.js +0 -1
  1218. package/dist/interface/assets/usePluginsSocket-TdmWm307.js.br +0 -0
  1219. package/dist/interface/assets/usePluginsSocket-TdmWm307.js.gz +0 -0
  1220. package/dist/interface/assets/usePushRegistration-Bbf8WqlP.js +0 -2
  1221. package/dist/interface/assets/usePushRegistration-Bbf8WqlP.js.br +0 -0
  1222. package/dist/interface/assets/usePushRegistration-Bbf8WqlP.js.gz +0 -0
  1223. package/dist/interface/assets/useServerRestart-BqYQ-1Fg.js +0 -1
  1224. package/dist/interface/assets/useServerRestart-BqYQ-1Fg.js.br +0 -0
  1225. package/dist/interface/assets/useServerRestart-BqYQ-1Fg.js.gz +0 -0
  1226. package/dist/interface/assets/useTabSwipe-kd6jHGXB.js +0 -1
  1227. package/dist/interface/assets/useTabSwipe-kd6jHGXB.js.br +0 -0
  1228. package/dist/interface/assets/useTabSwipe-kd6jHGXB.js.gz +0 -0
  1229. package/dist/interface/assets/useUpdateChannel-Dfk91JvX.js +0 -1
  1230. package/dist/interface/assets/useUpdateChannel-Dfk91JvX.js.br +0 -0
  1231. package/dist/interface/assets/useUpdateChannel-Dfk91JvX.js.gz +0 -0
  1232. package/dist/interface/assets/useUpdatesSocket-fqaXJCdb.js +0 -1
  1233. package/dist/interface/assets/useUpdatesSocket-fqaXJCdb.js.br +0 -0
  1234. package/dist/interface/assets/useUpdatesSocket-fqaXJCdb.js.gz +0 -0
  1235. package/dist/interface/assets/useUserOptions-DyE_X9iJ.js +0 -1
  1236. package/dist/interface/assets/useUserOptions-DyE_X9iJ.js.br +0 -0
  1237. package/dist/interface/assets/useUserOptions-DyE_X9iJ.js.gz +0 -0
  1238. package/dist/interface/assets/vendor-cameraui-CFuqYfdj.js +0 -8
  1239. package/dist/interface/assets/vendor-cameraui-CFuqYfdj.js.br +0 -0
  1240. package/dist/interface/assets/vendor-cameraui-CFuqYfdj.js.gz +0 -0
  1241. package/dist/interface/assets/vendor-cameraui-zEcMwDN6.css +0 -1
  1242. package/dist/interface/assets/vendor-cameraui-zEcMwDN6.css.br +0 -0
  1243. package/dist/interface/assets/vendor-cameraui-zEcMwDN6.css.gz +0 -0
  1244. package/dist/interface/ha/404-GEJ7Ktz6.js +0 -60
  1245. package/dist/interface/ha/404-GEJ7Ktz6.js.br +0 -0
  1246. package/dist/interface/ha/404-GEJ7Ktz6.js.gz +0 -0
  1247. package/dist/interface/ha/About-DCpvPgLH.js +0 -55
  1248. package/dist/interface/ha/About-DCpvPgLH.js.br +0 -0
  1249. package/dist/interface/ha/About-DCpvPgLH.js.gz +0 -0
  1250. package/dist/interface/ha/Assistant-DW7Ji5Rq.js +0 -11071
  1251. package/dist/interface/ha/Assistant-DW7Ji5Rq.js.br +0 -0
  1252. package/dist/interface/ha/Assistant-DW7Ji5Rq.js.gz +0 -0
  1253. package/dist/interface/ha/Automation-igwD7Gn1.js +0 -2009
  1254. package/dist/interface/ha/Automation-igwD7Gn1.js.br +0 -0
  1255. package/dist/interface/ha/Automation-igwD7Gn1.js.gz +0 -0
  1256. package/dist/interface/ha/AutomationImport-ClhpDYCk.js +0 -206
  1257. package/dist/interface/ha/AutomationImport-ClhpDYCk.js.br +0 -0
  1258. package/dist/interface/ha/AutomationImport-ClhpDYCk.js.gz +0 -0
  1259. package/dist/interface/ha/AutomationStore-Cow2m1WS.js +0 -336
  1260. package/dist/interface/ha/AutomationStore-Cow2m1WS.js.br +0 -0
  1261. package/dist/interface/ha/AutomationStore-Cow2m1WS.js.gz +0 -0
  1262. package/dist/interface/ha/AutomationStoreDetail-DbgmNVZA.js +0 -121
  1263. package/dist/interface/ha/AutomationStoreDetail-DbgmNVZA.js.br +0 -0
  1264. package/dist/interface/ha/AutomationStoreDetail-DbgmNVZA.js.gz +0 -0
  1265. package/dist/interface/ha/Automations-DMoaF0m5.js +0 -423
  1266. package/dist/interface/ha/Automations-DMoaF0m5.js.br +0 -0
  1267. package/dist/interface/ha/Automations-DMoaF0m5.js.gz +0 -0
  1268. package/dist/interface/ha/Camera-CMJ5iJAs.js +0 -740
  1269. package/dist/interface/ha/Camera-CMJ5iJAs.js.br +0 -0
  1270. package/dist/interface/ha/Camera-CMJ5iJAs.js.gz +0 -0
  1271. package/dist/interface/ha/CameraConsole-DOG0ivnD.js +0 -52
  1272. package/dist/interface/ha/CameraConsole-DOG0ivnD.js.br +0 -0
  1273. package/dist/interface/ha/CameraConsole-DOG0ivnD.js.gz +0 -0
  1274. package/dist/interface/ha/Cameras-CTvWFekL.js +0 -1934
  1275. package/dist/interface/ha/Cameras-CTvWFekL.js.br +0 -0
  1276. package/dist/interface/ha/Cameras-CTvWFekL.js.gz +0 -0
  1277. package/dist/interface/ha/Camview-DhjdhCR6.js +0 -1368
  1278. package/dist/interface/ha/Camview-DhjdhCR6.js.br +0 -0
  1279. package/dist/interface/ha/Camview-DhjdhCR6.js.gz +0 -0
  1280. package/dist/interface/ha/Config-DvpZ-GkT.js +0 -354
  1281. package/dist/interface/ha/Config-DvpZ-GkT.js.br +0 -0
  1282. package/dist/interface/ha/Config-DvpZ-GkT.js.gz +0 -0
  1283. package/dist/interface/ha/ConfigActionAssistant-CYdWIg9z.js +0 -182
  1284. package/dist/interface/ha/ConfigActionAssistant-CYdWIg9z.js.br +0 -0
  1285. package/dist/interface/ha/ConfigActionAssistant-CYdWIg9z.js.gz +0 -0
  1286. package/dist/interface/ha/ConfigActionCameraControl-CxBJelQl.js +0 -152
  1287. package/dist/interface/ha/ConfigActionCameraControl-CxBJelQl.js.br +0 -0
  1288. package/dist/interface/ha/ConfigActionCameraControl-CxBJelQl.js.gz +0 -0
  1289. package/dist/interface/ha/ConfigActionHttp-B6gQwkvP.js +0 -134
  1290. package/dist/interface/ha/ConfigActionHttp-B6gQwkvP.js.br +0 -0
  1291. package/dist/interface/ha/ConfigActionHttp-B6gQwkvP.js.gz +0 -0
  1292. package/dist/interface/ha/ConfigActionImageInput-DJVauVUw.js +0 -170
  1293. package/dist/interface/ha/ConfigActionImageInput-DJVauVUw.js.br +0 -0
  1294. package/dist/interface/ha/ConfigActionImageInput-DJVauVUw.js.gz +0 -0
  1295. package/dist/interface/ha/ConfigActionMqtt-BUa-HrP3.js +0 -78
  1296. package/dist/interface/ha/ConfigActionMqtt-BUa-HrP3.js.br +0 -0
  1297. package/dist/interface/ha/ConfigActionMqtt-BUa-HrP3.js.gz +0 -0
  1298. package/dist/interface/ha/ConfigActionNotification-CHJDWRRJ.js +0 -198
  1299. package/dist/interface/ha/ConfigActionNotification-CHJDWRRJ.js.br +0 -0
  1300. package/dist/interface/ha/ConfigActionNotification-CHJDWRRJ.js.gz +0 -0
  1301. package/dist/interface/ha/ConfigActionNotificationControl-BKMaUQZT.js +0 -111
  1302. package/dist/interface/ha/ConfigActionNotificationControl-BKMaUQZT.js.br +0 -0
  1303. package/dist/interface/ha/ConfigActionNotificationControl-BKMaUQZT.js.gz +0 -0
  1304. package/dist/interface/ha/ConfigActionOutput-cEels_Xm.js +0 -98
  1305. package/dist/interface/ha/ConfigActionOutput-cEels_Xm.js.br +0 -0
  1306. package/dist/interface/ha/ConfigActionOutput-cEels_Xm.js.gz +0 -0
  1307. package/dist/interface/ha/ConfigActionPlugin-B-x3ZGbV.js +0 -171
  1308. package/dist/interface/ha/ConfigActionPlugin-B-x3ZGbV.js.br +0 -0
  1309. package/dist/interface/ha/ConfigActionPlugin-B-x3ZGbV.js.gz +0 -0
  1310. package/dist/interface/ha/ConfigActionSensor-2N2FUkVu.js +0 -138
  1311. package/dist/interface/ha/ConfigActionSensor-2N2FUkVu.js.br +0 -0
  1312. package/dist/interface/ha/ConfigActionSensor-2N2FUkVu.js.gz +0 -0
  1313. package/dist/interface/ha/ConfigActionSnapshot-DfNDWDx9.js +0 -45
  1314. package/dist/interface/ha/ConfigActionSnapshot-DfNDWDx9.js.br +0 -0
  1315. package/dist/interface/ha/ConfigActionSnapshot-DfNDWDx9.js.gz +0 -0
  1316. package/dist/interface/ha/ConfigActionVariable-v0e-sIMS.js +0 -88
  1317. package/dist/interface/ha/ConfigActionVariable-v0e-sIMS.js.br +0 -0
  1318. package/dist/interface/ha/ConfigActionVariable-v0e-sIMS.js.gz +0 -0
  1319. package/dist/interface/ha/ConfigConditionIfElse-C0WandPI.js +0 -124
  1320. package/dist/interface/ha/ConfigConditionIfElse-C0WandPI.js.br +0 -0
  1321. package/dist/interface/ha/ConfigConditionIfElse-C0WandPI.js.gz +0 -0
  1322. package/dist/interface/ha/ConfigConditionSensorState-BeLtrLOX.js +0 -190
  1323. package/dist/interface/ha/ConfigConditionSensorState-BeLtrLOX.js.br +0 -0
  1324. package/dist/interface/ha/ConfigConditionSensorState-BeLtrLOX.js.gz +0 -0
  1325. package/dist/interface/ha/ConfigConditionSwitch-B-M1Vqkg.js +0 -128
  1326. package/dist/interface/ha/ConfigConditionSwitch-B-M1Vqkg.js.br +0 -0
  1327. package/dist/interface/ha/ConfigConditionSwitch-B-M1Vqkg.js.gz +0 -0
  1328. package/dist/interface/ha/ConfigSensorValueInput-DtZnPmIW.js +0 -173
  1329. package/dist/interface/ha/ConfigSensorValueInput-DtZnPmIW.js.br +0 -0
  1330. package/dist/interface/ha/ConfigSensorValueInput-DtZnPmIW.js.gz +0 -0
  1331. package/dist/interface/ha/ConfigTriggerDetection-CgOWAkNy.js +0 -241
  1332. package/dist/interface/ha/ConfigTriggerDetection-CgOWAkNy.js.br +0 -0
  1333. package/dist/interface/ha/ConfigTriggerDetection-CgOWAkNy.js.gz +0 -0
  1334. package/dist/interface/ha/ConfigTriggerGeofence-BPRYWDZy.js +0 -4836
  1335. package/dist/interface/ha/ConfigTriggerGeofence-BPRYWDZy.js.br +0 -0
  1336. package/dist/interface/ha/ConfigTriggerGeofence-BPRYWDZy.js.gz +0 -0
  1337. package/dist/interface/ha/ConfigTriggerMqtt-DPUaal2K.js +0 -134
  1338. package/dist/interface/ha/ConfigTriggerMqtt-DPUaal2K.js.br +0 -0
  1339. package/dist/interface/ha/ConfigTriggerMqtt-DPUaal2K.js.gz +0 -0
  1340. package/dist/interface/ha/ConfigTriggerSensor-DJRM2X3t.js +0 -73
  1341. package/dist/interface/ha/ConfigTriggerSensor-DJRM2X3t.js.br +0 -0
  1342. package/dist/interface/ha/ConfigTriggerSensor-DJRM2X3t.js.gz +0 -0
  1343. package/dist/interface/ha/ConfigTriggerSystem-Df7sI0VY.js +0 -192
  1344. package/dist/interface/ha/ConfigTriggerSystem-Df7sI0VY.js.br +0 -0
  1345. package/dist/interface/ha/ConfigTriggerSystem-Df7sI0VY.js.gz +0 -0
  1346. package/dist/interface/ha/ConfigTriggerWebhook-W9NUmjTn.js +0 -94
  1347. package/dist/interface/ha/ConfigTriggerWebhook-W9NUmjTn.js.br +0 -0
  1348. package/dist/interface/ha/ConfigTriggerWebhook-W9NUmjTn.js.gz +0 -0
  1349. package/dist/interface/ha/Console-BwA46zsU.js +0 -347
  1350. package/dist/interface/ha/Console-BwA46zsU.js.br +0 -0
  1351. package/dist/interface/ha/Console-BwA46zsU.js.gz +0 -0
  1352. package/dist/interface/ha/CuiAutomationRunsDialog-B07r5tMe.js +0 -129
  1353. package/dist/interface/ha/CuiAutomationRunsDialog-B07r5tMe.js.br +0 -0
  1354. package/dist/interface/ha/CuiAutomationRunsDialog-B07r5tMe.js.gz +0 -0
  1355. package/dist/interface/ha/CuiBottomSheet-B5uQgEqB.js +0 -270
  1356. package/dist/interface/ha/CuiBottomSheet-B5uQgEqB.js.br +0 -0
  1357. package/dist/interface/ha/CuiBottomSheet-B5uQgEqB.js.gz +0 -0
  1358. package/dist/interface/ha/CuiCameraRecordings-xoThi8Kj.js +0 -575
  1359. package/dist/interface/ha/CuiCameraRecordings-xoThi8Kj.js.br +0 -0
  1360. package/dist/interface/ha/CuiCameraRecordings-xoThi8Kj.js.gz +0 -0
  1361. package/dist/interface/ha/CuiCameraShares-BzvAMAbb.js +0 -120
  1362. package/dist/interface/ha/CuiCameraShares-BzvAMAbb.js.br +0 -0
  1363. package/dist/interface/ha/CuiCameraShares-BzvAMAbb.js.gz +0 -0
  1364. package/dist/interface/ha/CuiCameraTable-BIgtm8mF.js +0 -105
  1365. package/dist/interface/ha/CuiCameraTable-BIgtm8mF.js.br +0 -0
  1366. package/dist/interface/ha/CuiCameraTable-BIgtm8mF.js.gz +0 -0
  1367. package/dist/interface/ha/CuiChartTable-DNcdhXqp.js +0 -6797
  1368. package/dist/interface/ha/CuiChartTable-DNcdhXqp.js.br +0 -0
  1369. package/dist/interface/ha/CuiChartTable-DNcdhXqp.js.gz +0 -0
  1370. package/dist/interface/ha/CuiConsole-CpD0nhAD.js +0 -234
  1371. package/dist/interface/ha/CuiConsole-CpD0nhAD.js.br +0 -0
  1372. package/dist/interface/ha/CuiConsole-CpD0nhAD.js.gz +0 -0
  1373. package/dist/interface/ha/CuiDataTable-CTRZF9Ia.js +0 -8860
  1374. package/dist/interface/ha/CuiDataTable-CTRZF9Ia.js.br +0 -0
  1375. package/dist/interface/ha/CuiDataTable-CTRZF9Ia.js.gz +0 -0
  1376. package/dist/interface/ha/CuiMoveCodeForm-B0MKxC53.js +0 -89
  1377. package/dist/interface/ha/CuiMoveCodeForm-B0MKxC53.js.br +0 -0
  1378. package/dist/interface/ha/CuiMoveCodeForm-B0MKxC53.js.gz +0 -0
  1379. package/dist/interface/ha/CuiPluginCard-CHZ4DaRv.js +0 -778
  1380. package/dist/interface/ha/CuiPluginCard-CHZ4DaRv.js.br +0 -0
  1381. package/dist/interface/ha/CuiPluginCard-CHZ4DaRv.js.gz +0 -0
  1382. package/dist/interface/ha/CuiPluginOAuthButton-uZT2viFR.js +0 -74
  1383. package/dist/interface/ha/CuiPluginOAuthButton-uZT2viFR.js.br +0 -0
  1384. package/dist/interface/ha/CuiPluginOAuthButton-uZT2viFR.js.gz +0 -0
  1385. package/dist/interface/ha/CuiPluginTrustBadge-1MhUw5es.js +0 -122
  1386. package/dist/interface/ha/CuiPluginTrustBadge-1MhUw5es.js.br +0 -0
  1387. package/dist/interface/ha/CuiPluginTrustBadge-1MhUw5es.js.gz +0 -0
  1388. package/dist/interface/ha/CuiQRCode-Grr7tjGw.js +0 -86
  1389. package/dist/interface/ha/CuiQRCode-Grr7tjGw.js.br +0 -0
  1390. package/dist/interface/ha/CuiQRCode-Grr7tjGw.js.gz +0 -0
  1391. package/dist/interface/ha/CuiSchema-BHm9vNRI.js +0 -952
  1392. package/dist/interface/ha/CuiSchema-BHm9vNRI.js.br +0 -0
  1393. package/dist/interface/ha/CuiSchema-BHm9vNRI.js.gz +0 -0
  1394. package/dist/interface/ha/CuiTopNavbarItem-KI3ljdF5.js +0 -141
  1395. package/dist/interface/ha/CuiTopNavbarItem-KI3ljdF5.js.br +0 -0
  1396. package/dist/interface/ha/CuiTopNavbarItem-KI3ljdF5.js.gz +0 -0
  1397. package/dist/interface/ha/Faces-Qjkjd__-.js +0 -1659
  1398. package/dist/interface/ha/Faces-Qjkjd__-.js.br +0 -0
  1399. package/dist/interface/ha/Faces-Qjkjd__-.js.gz +0 -0
  1400. package/dist/interface/ha/FirstSteps-CMPZcVGm.js +0 -254
  1401. package/dist/interface/ha/FirstSteps-CMPZcVGm.js.br +0 -0
  1402. package/dist/interface/ha/FirstSteps-CMPZcVGm.js.gz +0 -0
  1403. package/dist/interface/ha/Floorplan-CrozNTqV.js +0 -3707
  1404. package/dist/interface/ha/Floorplan-CrozNTqV.js.br +0 -0
  1405. package/dist/interface/ha/Floorplan-CrozNTqV.js.gz +0 -0
  1406. package/dist/interface/ha/Instances-DBwRzClE.js +0 -670
  1407. package/dist/interface/ha/Instances-DBwRzClE.js.br +0 -0
  1408. package/dist/interface/ha/Instances-DBwRzClE.js.gz +0 -0
  1409. package/dist/interface/ha/Logs-Ua7xzSrk.js +0 -417
  1410. package/dist/interface/ha/Logs-Ua7xzSrk.js.br +0 -0
  1411. package/dist/interface/ha/Logs-Ua7xzSrk.js.gz +0 -0
  1412. package/dist/interface/ha/Menu-BUIjRr5o.js +0 -159
  1413. package/dist/interface/ha/Menu-BUIjRr5o.js.br +0 -0
  1414. package/dist/interface/ha/Menu-BUIjRr5o.js.gz +0 -0
  1415. package/dist/interface/ha/Metrics-BHEKh6IC.js +0 -1484
  1416. package/dist/interface/ha/Metrics-BHEKh6IC.js.br +0 -0
  1417. package/dist/interface/ha/Metrics-BHEKh6IC.js.gz +0 -0
  1418. package/dist/interface/ha/OAuthDeviceFlow-C_bEkfff.js +0 -112
  1419. package/dist/interface/ha/OAuthDeviceFlow-C_bEkfff.js.br +0 -9
  1420. package/dist/interface/ha/OAuthDeviceFlow-C_bEkfff.js.gz +0 -0
  1421. package/dist/interface/ha/Plugin-CVxXmLva.js +0 -1746
  1422. package/dist/interface/ha/Plugin-CVxXmLva.js.br +0 -0
  1423. package/dist/interface/ha/Plugin-CVxXmLva.js.gz +0 -0
  1424. package/dist/interface/ha/PluginConsole-ChOzllUF.js +0 -56
  1425. package/dist/interface/ha/PluginConsole-ChOzllUF.js.br +0 -0
  1426. package/dist/interface/ha/PluginConsole-ChOzllUF.js.gz +0 -0
  1427. package/dist/interface/ha/PluginDetail-DkM9ow6C.js +0 -804
  1428. package/dist/interface/ha/PluginDetail-DkM9ow6C.js.br +0 -0
  1429. package/dist/interface/ha/PluginDetail-DkM9ow6C.js.gz +0 -0
  1430. package/dist/interface/ha/PluginSearch-CSCTK5iK.js +0 -462
  1431. package/dist/interface/ha/PluginSearch-CSCTK5iK.js.br +0 -0
  1432. package/dist/interface/ha/PluginSearch-CSCTK5iK.js.gz +0 -0
  1433. package/dist/interface/ha/PluginUpdateProgress-DaRg6gt1.js +0 -34
  1434. package/dist/interface/ha/PluginUpdateProgress-DaRg6gt1.js.br +0 -0
  1435. package/dist/interface/ha/PluginUpdateProgress-DaRg6gt1.js.gz +0 -0
  1436. package/dist/interface/ha/Plugins-BmIKxTQu.js +0 -697
  1437. package/dist/interface/ha/Plugins-BmIKxTQu.js.br +0 -0
  1438. package/dist/interface/ha/Plugins-BmIKxTQu.js.gz +0 -0
  1439. package/dist/interface/ha/Recordings-CU6D4Een.js +0 -1916
  1440. package/dist/interface/ha/Recordings-CU6D4Een.js.br +0 -0
  1441. package/dist/interface/ha/Recordings-CU6D4Een.js.gz +0 -0
  1442. package/dist/interface/ha/SensorEdit-BOQCEFrt.js +0 -1466
  1443. package/dist/interface/ha/SensorEdit-BOQCEFrt.js.br +0 -0
  1444. package/dist/interface/ha/SensorEdit-BOQCEFrt.js.gz +0 -0
  1445. package/dist/interface/ha/SensorHistory-Bslkq7Kj.js +0 -54
  1446. package/dist/interface/ha/SensorHistory-Bslkq7Kj.js.br +0 -0
  1447. package/dist/interface/ha/SensorHistory-Bslkq7Kj.js.gz +0 -0
  1448. package/dist/interface/ha/Sensors-uoK_jFo8.js +0 -1400
  1449. package/dist/interface/ha/Sensors-uoK_jFo8.js.br +0 -0
  1450. package/dist/interface/ha/Sensors-uoK_jFo8.js.gz +0 -0
  1451. package/dist/interface/ha/Settings-3vjjQ3o3.js +0 -218
  1452. package/dist/interface/ha/Settings-3vjjQ3o3.js.br +0 -0
  1453. package/dist/interface/ha/Settings-3vjjQ3o3.js.gz +0 -0
  1454. package/dist/interface/ha/SettingsAccount-DYU_xa5v.js +0 -968
  1455. package/dist/interface/ha/SettingsAccount-DYU_xa5v.js.br +0 -0
  1456. package/dist/interface/ha/SettingsAccount-DYU_xa5v.js.gz +0 -0
  1457. package/dist/interface/ha/SettingsAppearance-CpgnJYLf.js +0 -201
  1458. package/dist/interface/ha/SettingsAppearance-CpgnJYLf.js.br +0 -0
  1459. package/dist/interface/ha/SettingsAppearance-CpgnJYLf.js.gz +0 -0
  1460. package/dist/interface/ha/SettingsAssistant-CXrllafp.js +0 -2134
  1461. package/dist/interface/ha/SettingsAssistant-CXrllafp.js.br +0 -0
  1462. package/dist/interface/ha/SettingsAssistant-CXrllafp.js.gz +0 -0
  1463. package/dist/interface/ha/SettingsBackup-BbEfaQ1e.js +0 -1047
  1464. package/dist/interface/ha/SettingsBackup-BbEfaQ1e.js.br +0 -0
  1465. package/dist/interface/ha/SettingsBackup-BbEfaQ1e.js.gz +0 -0
  1466. package/dist/interface/ha/SettingsList-Dieayk1W.js +0 -40
  1467. package/dist/interface/ha/SettingsList-Dieayk1W.js.br +0 -0
  1468. package/dist/interface/ha/SettingsList-Dieayk1W.js.gz +0 -0
  1469. package/dist/interface/ha/SettingsMqtt-DagskW76.js +0 -512
  1470. package/dist/interface/ha/SettingsMqtt-DagskW76.js.br +0 -0
  1471. package/dist/interface/ha/SettingsMqtt-DagskW76.js.gz +0 -0
  1472. package/dist/interface/ha/SettingsNotifications-B3bcsE4m.js +0 -514
  1473. package/dist/interface/ha/SettingsNotifications-B3bcsE4m.js.br +0 -0
  1474. package/dist/interface/ha/SettingsNotifications-B3bcsE4m.js.gz +0 -0
  1475. package/dist/interface/ha/SettingsRecordings-UqTgc63f.js +0 -152
  1476. package/dist/interface/ha/SettingsRecordings-UqTgc63f.js.br +0 -0
  1477. package/dist/interface/ha/SettingsRecordings-UqTgc63f.js.gz +0 -0
  1478. package/dist/interface/ha/SettingsRemote-Biy7URGf.js +0 -1523
  1479. package/dist/interface/ha/SettingsRemote-Biy7URGf.js.br +0 -0
  1480. package/dist/interface/ha/SettingsRemote-Biy7URGf.js.gz +0 -0
  1481. package/dist/interface/ha/SettingsSystem-6geFXXRq.js +0 -382
  1482. package/dist/interface/ha/SettingsSystem-6geFXXRq.js.br +0 -0
  1483. package/dist/interface/ha/SettingsSystem-6geFXXRq.js.gz +0 -0
  1484. package/dist/interface/ha/SettingsUsers-BXUZX3Dv.js +0 -370
  1485. package/dist/interface/ha/SettingsUsers-BXUZX3Dv.js.br +0 -0
  1486. package/dist/interface/ha/SettingsUsers-BXUZX3Dv.js.gz +0 -0
  1487. package/dist/interface/ha/Terminal-CAsT_c5K.js +0 -611
  1488. package/dist/interface/ha/Terminal-CAsT_c5K.js.br +0 -0
  1489. package/dist/interface/ha/Terminal-CAsT_c5K.js.gz +0 -0
  1490. package/dist/interface/ha/Training-Cs-X3tTu.js +0 -1829
  1491. package/dist/interface/ha/Training-Cs-X3tTu.js.br +0 -0
  1492. package/dist/interface/ha/Training-Cs-X3tTu.js.gz +0 -0
  1493. package/dist/interface/ha/Updates-BRwFnbJd.js +0 -357
  1494. package/dist/interface/ha/Updates-BRwFnbJd.js.br +0 -0
  1495. package/dist/interface/ha/Updates-BRwFnbJd.js.gz +0 -0
  1496. package/dist/interface/ha/VariableInput-q03fAY9F.js +0 -52
  1497. package/dist/interface/ha/VariableInput-q03fAY9F.js.br +0 -0
  1498. package/dist/interface/ha/VariableInput-q03fAY9F.js.gz +0 -0
  1499. package/dist/interface/ha/VersionsHandler-DDk482uv.js +0 -221
  1500. package/dist/interface/ha/VersionsHandler-DDk482uv.js.br +0 -0
  1501. package/dist/interface/ha/VersionsHandler-DDk482uv.js.gz +0 -0
  1502. package/dist/interface/ha/VirtualSensorCreate-CdxwTlbd.js +0 -102
  1503. package/dist/interface/ha/VirtualSensorCreate-CdxwTlbd.js.br +0 -0
  1504. package/dist/interface/ha/VirtualSensorCreate-CdxwTlbd.js.gz +0 -0
  1505. package/dist/interface/ha/Workers-D4MZqg97.js +0 -1270
  1506. package/dist/interface/ha/Workers-D4MZqg97.js.br +0 -0
  1507. package/dist/interface/ha/Workers-D4MZqg97.js.gz +0 -0
  1508. package/dist/interface/ha/api-CNQ6bAly.js +0 -29
  1509. package/dist/interface/ha/api-CNQ6bAly.js.br +0 -0
  1510. package/dist/interface/ha/api-CNQ6bAly.js.gz +0 -0
  1511. package/dist/interface/ha/api-xWofDMK3.js +0 -69075
  1512. package/dist/interface/ha/api-xWofDMK3.js.br +0 -0
  1513. package/dist/interface/ha/api-xWofDMK3.js.gz +0 -0
  1514. package/dist/interface/ha/assistant-Dwelc7yC.js +0 -349
  1515. package/dist/interface/ha/assistant-Dwelc7yC.js.br +0 -0
  1516. package/dist/interface/ha/assistant-Dwelc7yC.js.gz +0 -0
  1517. package/dist/interface/ha/auth-CUnSYAeS.js +0 -271
  1518. package/dist/interface/ha/auth-CUnSYAeS.js.br +0 -0
  1519. package/dist/interface/ha/auth-CUnSYAeS.js.gz +0 -0
  1520. package/dist/interface/ha/automationBlueprint-ZizU2N5n.js +0 -250
  1521. package/dist/interface/ha/automationBlueprint-ZizU2N5n.js.br +0 -0
  1522. package/dist/interface/ha/automationBlueprint-ZizU2N5n.js.gz +0 -0
  1523. package/dist/interface/ha/cards-DZEFY6FW.js +0 -13296
  1524. package/dist/interface/ha/cards-DZEFY6FW.js.br +0 -0
  1525. package/dist/interface/ha/cards-DZEFY6FW.js.gz +0 -0
  1526. package/dist/interface/ha/config-nCVNp-au.js +0 -116
  1527. package/dist/interface/ha/config-nCVNp-au.js.br +0 -0
  1528. package/dist/interface/ha/config-nCVNp-au.js.gz +0 -0
  1529. package/dist/interface/ha/dist-rrvfmgLd.js +0 -4425
  1530. package/dist/interface/ha/dist-rrvfmgLd.js.br +0 -0
  1531. package/dist/interface/ha/dist-rrvfmgLd.js.gz +0 -0
  1532. package/dist/interface/ha/mqtt-D_nDqDyk.js +0 -56
  1533. package/dist/interface/ha/mqtt-D_nDqDyk.js.br +0 -3
  1534. package/dist/interface/ha/mqtt-D_nDqDyk.js.gz +0 -0
  1535. package/dist/interface/ha/notifications-BTJTCdXR.js +0 -159
  1536. package/dist/interface/ha/notifications-BTJTCdXR.js.br +0 -0
  1537. package/dist/interface/ha/notifications-BTJTCdXR.js.gz +0 -0
  1538. package/dist/interface/ha/plugins-C7XSgstR.js +0 -592
  1539. package/dist/interface/ha/plugins-C7XSgstR.js.br +0 -0
  1540. package/dist/interface/ha/plugins-C7XSgstR.js.gz +0 -0
  1541. package/dist/interface/ha/rooms-La0MdVF7.js +0 -45
  1542. package/dist/interface/ha/rooms-La0MdVF7.js.br +0 -0
  1543. package/dist/interface/ha/rooms-La0MdVF7.js.gz +0 -0
  1544. package/dist/interface/ha/server-CElgG4N0.js +0 -244
  1545. package/dist/interface/ha/server-CElgG4N0.js.br +0 -0
  1546. package/dist/interface/ha/server-CElgG4N0.js.gz +0 -0
  1547. package/dist/interface/ha/speeddial-C70QgR0r.js +0 -941
  1548. package/dist/interface/ha/speeddial-C70QgR0r.js.br +0 -0
  1549. package/dist/interface/ha/speeddial-C70QgR0r.js.gz +0 -0
  1550. package/dist/interface/ha/types-zKLgkZPc.js +0 -1073
  1551. package/dist/interface/ha/types-zKLgkZPc.js.br +0 -0
  1552. package/dist/interface/ha/types-zKLgkZPc.js.gz +0 -0
  1553. package/dist/interface/ha/updates-b6EERiem.js +0 -414
  1554. package/dist/interface/ha/updates-b6EERiem.js.br +0 -0
  1555. package/dist/interface/ha/updates-b6EERiem.js.gz +0 -0
  1556. package/dist/interface/ha/useAppVersion-DwqaMEI5.js +0 -22
  1557. package/dist/interface/ha/useAppVersion-DwqaMEI5.js.br +0 -0
  1558. package/dist/interface/ha/useAppVersion-DwqaMEI5.js.gz +0 -0
  1559. package/dist/interface/ha/useKeyboardInset-Crl1GPan.js +0 -27
  1560. package/dist/interface/ha/useKeyboardInset-Crl1GPan.js.br +0 -0
  1561. package/dist/interface/ha/useKeyboardInset-Crl1GPan.js.gz +0 -0
  1562. package/dist/interface/ha/useLogsSocket-BfmhLRN4.js +0 -74
  1563. package/dist/interface/ha/useLogsSocket-BfmhLRN4.js.br +0 -0
  1564. package/dist/interface/ha/useLogsSocket-BfmhLRN4.js.gz +0 -0
  1565. package/dist/interface/ha/useNavLayout-ue6sHO61.js +0 -125
  1566. package/dist/interface/ha/useNavLayout-ue6sHO61.js.br +0 -0
  1567. package/dist/interface/ha/useNavLayout-ue6sHO61.js.gz +0 -0
  1568. package/dist/interface/ha/usePlacementLabel-DZMzFDB5.js +0 -49
  1569. package/dist/interface/ha/usePlacementLabel-DZMzFDB5.js.br +0 -0
  1570. package/dist/interface/ha/usePlacementLabel-DZMzFDB5.js.gz +0 -0
  1571. package/dist/interface/ha/useTabSwipe-CZHGpGVQ.js +0 -45
  1572. package/dist/interface/ha/useTabSwipe-CZHGpGVQ.js.br +0 -0
  1573. package/dist/interface/ha/useTabSwipe-CZHGpGVQ.js.gz +0 -0
  1574. package/dist/interface/ha/useUpdateChannel-Rn843zLL.js +0 -22
  1575. package/dist/interface/ha/useUpdateChannel-Rn843zLL.js.br +0 -0
  1576. package/dist/interface/ha/useUpdateChannel-Rn843zLL.js.gz +0 -0
  1577. package/dist/interface/ha/useUpdatesSocket-CGOVegyc.js +0 -34
  1578. package/dist/interface/ha/useUpdatesSocket-CGOVegyc.js.br +0 -0
  1579. package/dist/interface/ha/useUpdatesSocket-CGOVegyc.js.gz +0 -0
  1580. package/dist/interface/ha/useUserOptions-ydSmcJA8.js +0 -15
  1581. package/dist/interface/ha/useUserOptions-ydSmcJA8.js.br +0 -0
  1582. package/dist/interface/ha/useUserOptions-ydSmcJA8.js.gz +0 -0
@@ -0,0 +1,4434 @@
1
+ import { Ct as e, D as t, I as n, St as r, Tt as i, ft as a, kt as o, l as s, ot as c, vt as l, xt as u } from "./runtime-core.esm-bundler-CrWKbcD2.js";
2
+ import { B as d, K as f, N as p, t as m } from "./protocol-BB4jdtUC-CGK3LRf3.js";
3
+ import { D as h } from "./dist-euRmladF.js";
4
+ //#region node_modules/@camera.ui/transport/dist/closeCodes-CltSRjdJ.js
5
+ function g(e) {
6
+ if (e === "insufficient_role" || e === "user_not_found") return "forbidden";
7
+ if (e === "invalid_token" || e === "unauthenticated" || e.startsWith("credentials_")) return "auth-expired";
8
+ }
9
+ function _(e) {
10
+ let t = typeof e == "string" ? void 0 : e, n = t?.wsCloseCode ?? t?.code;
11
+ if (n === 4401) return "auth-expired";
12
+ if (n === 4403 || n === 4400) return "forbidden";
13
+ let r = typeof t?.data == "object" && t.data !== null ? t.data.code : void 0, i = typeof r == "string" ? g(r) : void 0;
14
+ if (i) return i;
15
+ let a = (typeof e == "string" ? e : t?.reason ?? t?.message ?? "").toLowerCase();
16
+ return a ? a.includes("forbidden") || a.includes("403") ? "forbidden" : a.includes("unauthorized") || a.includes("unauthenticated") || a.includes("401") ? "auth-expired" : "other" : "other";
17
+ }
18
+ function v(e) {
19
+ if (typeof e != "object" || !e) return !1;
20
+ let { wsCloseCode: t, code: n, data: r } = e;
21
+ return _({
22
+ wsCloseCode: t,
23
+ code: n,
24
+ data: r
25
+ }) === "forbidden";
26
+ }
27
+ //#endregion
28
+ //#region node_modules/@camera.ui/rpc/dist/errors.js
29
+ var y = Symbol("rpc.localNoResponders"), b = class e extends Error {
30
+ code;
31
+ data;
32
+ constructor(e, t, n) {
33
+ super(t), this.name = "RPCException", this.code = e, this.data = n;
34
+ }
35
+ static fromJSON(t) {
36
+ return new e(t.code, t.message, t.data);
37
+ }
38
+ toJSON() {
39
+ return {
40
+ code: this.code,
41
+ message: this.message,
42
+ data: this.data
43
+ };
44
+ }
45
+ };
46
+ function x(e, t, n) {
47
+ return new b(e, t, n);
48
+ }
49
+ function S(e, t) {
50
+ return Object.defineProperty(e, y, { value: t }), e;
51
+ }
52
+ function C(e) {
53
+ if (typeof e != "object" || !e) return;
54
+ let t = e[y];
55
+ return typeof t == "string" ? t : void 0;
56
+ }
57
+ function w(e) {
58
+ if (!e || typeof e != "object") return !1;
59
+ if (e.name === "NoRespondersError") return !0;
60
+ let t = e.message;
61
+ return typeof t == "string" && t.includes("no responders");
62
+ }
63
+ //#endregion
64
+ //#region node_modules/@camera.ui/browser/dist/index.js
65
+ function T(e = {}) {
66
+ let { releaseDelay: t = 1e3, onRelease: n } = e, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
67
+ function a(e) {
68
+ let t = i.get(e);
69
+ t && (clearTimeout(t), i.delete(e));
70
+ }
71
+ function o(e) {
72
+ let t = r.get(e);
73
+ if (t) {
74
+ try {
75
+ n?.(e, t.value);
76
+ } catch {}
77
+ r.delete(e);
78
+ }
79
+ i.delete(e);
80
+ }
81
+ function s(e, t) {
82
+ a(e);
83
+ let n = r.get(e);
84
+ if (n) return n.refCount++, n.value;
85
+ let i = t();
86
+ return r.set(e, {
87
+ value: i,
88
+ refCount: 1
89
+ }), i;
90
+ }
91
+ function c(e, n) {
92
+ let a = r.get(e);
93
+ if (!(!a || a.refCount <= 0) && (n === void 0 || a.value === n) && (a.refCount--, a.refCount === 0)) {
94
+ let n = setTimeout(() => {
95
+ let t = r.get(e);
96
+ t && t.refCount <= 0 ? o(e) : i.delete(e);
97
+ }, t);
98
+ i.set(e, n);
99
+ }
100
+ }
101
+ function l(e) {
102
+ return r.get(e)?.value;
103
+ }
104
+ function u(e) {
105
+ return r.has(e);
106
+ }
107
+ function d(e) {
108
+ a(e), o(e);
109
+ }
110
+ function f() {
111
+ for (let e of i.keys()) a(e);
112
+ for (let e of r.keys()) o(e);
113
+ }
114
+ function p(e) {
115
+ return r.get(e)?.refCount ?? 0;
116
+ }
117
+ function m(e) {
118
+ for (let [t, n] of r) e(n.value, t);
119
+ }
120
+ return {
121
+ acquire: s,
122
+ release: c,
123
+ get: l,
124
+ has: u,
125
+ forceRelease: d,
126
+ clear: f,
127
+ getRefCount: p,
128
+ forEachValue: m
129
+ };
130
+ }
131
+ var E = 1e3, D = 3e4;
132
+ function O() {
133
+ let e, t = E;
134
+ function n(n) {
135
+ e || (e = setTimeout(() => {
136
+ e = void 0, n();
137
+ }, t), t = Math.min(t * 2, D));
138
+ }
139
+ function r() {
140
+ clearTimeout(e), e = void 0;
141
+ }
142
+ function i() {
143
+ t = E;
144
+ }
145
+ return {
146
+ schedule: n,
147
+ cancel: r,
148
+ reset: i
149
+ };
150
+ }
151
+ function k() {
152
+ let e = t(dr);
153
+ if (!e) throw Error("[camera.ui] useCameraUi() called without CameraUiPlugin installed. Make sure to call app.use(createCameraUiPlugin({ ... })) before using this composable.");
154
+ return e;
155
+ }
156
+ function A(e) {
157
+ return e.replace(/ /g, "_").toLowerCase();
158
+ }
159
+ function j(e, t) {
160
+ return `cui_${A(e)}_${A(t)}`;
161
+ }
162
+ var M = class {
163
+ static coreManagerNamespaces() {
164
+ return {
165
+ coreManagerSubject: "coreManager.subscriber",
166
+ coreManagerRpc: "coreManager.rpc"
167
+ };
168
+ }
169
+ static deviceManagerNamespaces() {
170
+ return {
171
+ deviceManagerSubject: "deviceManager.subscriber",
172
+ deviceManagerRpc: "deviceManager.rpc"
173
+ };
174
+ }
175
+ static sensorDiscoveryNamespaces() {
176
+ return { sensorDiscoverySubject: "sensorDiscovery.subscriber" };
177
+ }
178
+ static discoveryManagerNamespaces() {
179
+ return {
180
+ discoveryManagerSubject: "discoveryManager.subscriber",
181
+ discoveryManagerRpc: "discoveryManager.rpc"
182
+ };
183
+ }
184
+ static pluginNamespaces(e) {
185
+ return {
186
+ pluginDeviceManagerSubject: `plugin.${e}.deviceManager.subscriber`,
187
+ pluginChildRpc: `plugin.${e}.child.rpc`,
188
+ pluginChild: `plugin.${e}.child`,
189
+ pluginStorageRpc: `plugin.${e}.storage.rpc`,
190
+ pluginConfigStoreRpc: `plugin.${e}.configstore.rpc`
191
+ };
192
+ }
193
+ static pluginFileServeRpc(e) {
194
+ return `plugin.${e}.fileserve.rpc`;
195
+ }
196
+ static cameraNamespaces(e) {
197
+ return {
198
+ cameraSubject: `camera.${e}.subscriber`,
199
+ cameraStateSubject: `camera.${e}.state`,
200
+ cameraControllerRpc: `camera.${e}.controller.rpc`
201
+ };
202
+ }
203
+ static frameWorkerNamespaces(e) {
204
+ return {
205
+ frameWorkerChildRpc: `camera.${e}.frameWorker.child.rpc`,
206
+ frameWorkerChild: `camera.${e}.frameWorker.child`
207
+ };
208
+ }
209
+ static pluginCameraNamespaces(e, t) {
210
+ return {
211
+ cameraInterfacesRpc: `plugin.${e}.camera.${t}.cameraInterfaces.rpc`,
212
+ cameraStorageRpc: `plugin.${e}.camera.${t}.cameraStorage.rpc`,
213
+ cameraImplRpc: `plugin.${e}.camera.${t}.impl.rpc`
214
+ };
215
+ }
216
+ static pluginSensorNamespaces(e, t) {
217
+ return { sensorStorageRpc: `plugin.${e}.sensor.${t}.storage.rpc` };
218
+ }
219
+ static sensorRegistryNamespaces() {
220
+ return {
221
+ sensorsSubject: "sensors.subject",
222
+ sensorsRpc: "sensors.rpc"
223
+ };
224
+ }
225
+ static sensorCameraViewNamespaces(e) {
226
+ return { sensorWriteSubject: `camera.${e}.sensors.writes` };
227
+ }
228
+ static sensorEventNamespaces(e) {
229
+ return {
230
+ sensorSubject: `sensor.${e}.subject`,
231
+ sensorStateSubject: `sensor.${e}.state`
232
+ };
233
+ }
234
+ static sensorProviderNamespaces(e, t) {
235
+ return { sensorRpc: `plugin.${e}.sensor.${t}.rpc` };
236
+ }
237
+ static frameWorkerDetectionNamespaces(e) {
238
+ return { detectionRpc: `camera.${e}.frameWorker.detection.rpc` };
239
+ }
240
+ static detectionEventNamespaces(e) {
241
+ return { detectionEventSubject: `camera.${e}.events.subject` };
242
+ }
243
+ static terminalManagerNamespaces() {
244
+ return {
245
+ terminalManagerSubject: "terminalManager.subscriber",
246
+ terminalManagerRpc: "terminalManager.rpc"
247
+ };
248
+ }
249
+ static downloadManagerNamespaces() {
250
+ return { downloadManagerRpc: "downloadManager.rpc" };
251
+ }
252
+ static notificationManagerNamespaces() {
253
+ return { notificationsPublishSubject: "notifications.publish" };
254
+ }
255
+ static workerAgentRpc(e) {
256
+ return `worker.${e}.rpc`;
257
+ }
258
+ static workerManagerRpc(e) {
259
+ return `workers.${e}.manager.rpc`;
260
+ }
261
+ static sharedWorkerManagerRpc() {
262
+ return "workers.manager.rpc";
263
+ }
264
+ static workerSync(e) {
265
+ return `worker.${e}.sync`;
266
+ }
267
+ static workerLinkSubject(e) {
268
+ return `worker.${e}.link`;
269
+ }
270
+ static workerDisconnect(e) {
271
+ return `workers.${e}.disconnect`;
272
+ }
273
+ static sharedWorkerDisconnect() {
274
+ return "workers.disconnect";
275
+ }
276
+ static workerLogs(e) {
277
+ return `workers.${e}.logs`;
278
+ }
279
+ static sharedWorkerLogs() {
280
+ return "workers.logs";
281
+ }
282
+ }, ee = 3, te = 3e4, N = 3e4, P = /* @__PURE__ */ new Set(["Not connected", "rpc: not connected"]), ne = /* @__PURE__ */ new WeakMap();
283
+ function re(e) {
284
+ ne.set(e, Date.now());
285
+ }
286
+ function F(e) {
287
+ return Date.now() - (ne.get(e) ?? -Infinity) < N;
288
+ }
289
+ function ie(e) {
290
+ return e instanceof Error && e.code === void 0 && e.name === "NoResponders";
291
+ }
292
+ async function I(e, t, n = {}) {
293
+ let r = n.maxRetries ?? ee, i = n.awaitConnect ?? !0, a = n.connectTimeoutMs ?? te, o = n.retryDelayMs ?? L, s = n.shouldRetry, c = n.retryOnTimeout ?? !1, l = n.signal, u = 0, d = z(e, () => u++, { flush: "sync" }), f;
294
+ try {
295
+ for (let n = 0; n <= r; n++) {
296
+ if (l?.aborted) throw V();
297
+ let d = e.value;
298
+ if (!d) {
299
+ if (!i) throw Error("rpc: not connected");
300
+ d = await B(e, a, l);
301
+ }
302
+ let p = u;
303
+ try {
304
+ return await t(d);
305
+ } catch (t) {
306
+ if (f = t, n >= r || !(s ? s(t, n) : R(t, d, e, u !== p, c))) throw t;
307
+ await ae(o(n), l);
308
+ }
309
+ }
310
+ } finally {
311
+ d();
312
+ }
313
+ throw f ?? /* @__PURE__ */ Error("rpc: max retries exceeded");
314
+ }
315
+ function L(e) {
316
+ return Math.min(100 * 2 ** e, 1e3);
317
+ }
318
+ function R(e, t, n, r, i) {
319
+ if (n.value !== t || t.isConnected === !1 && t.isClosed === !1) return !0;
320
+ if (!(e instanceof Error)) return !1;
321
+ let a = e.code;
322
+ return a === void 0 && P.has(e.message) || ie(e) && F(n) ? !0 : a === "TIMEOUT" && (i || r);
323
+ }
324
+ function z(e, t, n) {
325
+ let r = a(!0);
326
+ return r.run(() => c(e, t, n)), () => r.stop();
327
+ }
328
+ async function B(e, t, n) {
329
+ return e.value ? e.value : new Promise((r, i) => {
330
+ let a = setTimeout(() => {
331
+ s(), n?.removeEventListener("abort", o), i(/* @__PURE__ */ Error("rpc: connect timeout"));
332
+ }, t), o = () => {
333
+ clearTimeout(a), s(), i(V());
334
+ };
335
+ n?.addEventListener("abort", o, { once: !0 });
336
+ let s = z(e, (e) => {
337
+ e && (clearTimeout(a), s(), n?.removeEventListener("abort", o), r(e));
338
+ });
339
+ });
340
+ }
341
+ async function ae(e, t) {
342
+ return new Promise((n, r) => {
343
+ if (t?.aborted) {
344
+ r(V());
345
+ return;
346
+ }
347
+ let i = setTimeout(() => {
348
+ t?.removeEventListener("abort", a), n();
349
+ }, e), a = () => {
350
+ clearTimeout(i), r(V());
351
+ };
352
+ t?.addEventListener("abort", a, { once: !0 });
353
+ });
354
+ }
355
+ function V() {
356
+ if (typeof DOMException < "u") return new DOMException("Aborted", "AbortError");
357
+ let e = /* @__PURE__ */ Error("Aborted");
358
+ return e.name = "AbortError", e;
359
+ }
360
+ var H = 2e3, oe = 6e4, se = /* @__PURE__ */ new WeakMap(), ce = /* @__PURE__ */ new WeakMap();
361
+ function le(e) {
362
+ let t = e?.value;
363
+ if (!e || !t) return;
364
+ let n = se.get(e);
365
+ if (!n || n.client !== t) return t;
366
+ performance.now() - n.since >= oe && !ce.has(t) && me(e, n);
367
+ }
368
+ function ue(e, t) {
369
+ if (e.value !== t || se.has(e)) return;
370
+ let n = z(e, () => he(e), { flush: "sync" });
371
+ se.set(e, {
372
+ client: t,
373
+ since: performance.now(),
374
+ stop: n
375
+ });
376
+ }
377
+ function de(e, t) {
378
+ e.value !== t || se.has(e) || fe(t).then((n) => {
379
+ n || ue(e, t);
380
+ });
381
+ }
382
+ function fe(e) {
383
+ let t = ce.get(e);
384
+ return t || (t = pe(e), ce.set(e, t), t.then(() => ce.delete(e))), t;
385
+ }
386
+ async function pe(e) {
387
+ try {
388
+ return await e.flush(H), !0;
389
+ } catch {
390
+ return !1;
391
+ }
392
+ }
393
+ function me(e, t) {
394
+ fe(t.client).then((n) => {
395
+ se.get(e) === t && (n ? he(e) : t.since = performance.now());
396
+ });
397
+ }
398
+ function he(e) {
399
+ se.get(e)?.stop(), se.delete(e);
400
+ }
401
+ var ge = 3e4, U = new m("TabVisibility"), _e = r(typeof document > "u" || document.visibilityState === "visible"), ve = null, ye = /* @__PURE__ */ new Set(), be = /* @__PURE__ */ new Set(), xe = /* @__PURE__ */ new Set(), Se = !1;
402
+ function W(e) {
403
+ U.debug(`paused listener fired (delay ${e.delayMs}ms reached)`);
404
+ try {
405
+ e.cb();
406
+ } catch (e) {
407
+ U.error("onTabPaused listener threw:", e);
408
+ }
409
+ }
410
+ function Ce(e) {
411
+ U.debug(`paused listener scheduled in ${e.delayMs}ms`), e.timer = setTimeout(() => {
412
+ e.timer = null, _e.value ? U.debug("paused listener skipped — tab visible before delay") : W(e);
413
+ }, e.delayMs);
414
+ }
415
+ function we() {
416
+ for (let e of be) e.timer !== null && (clearTimeout(e.timer), e.timer = null);
417
+ }
418
+ function Te() {
419
+ Se || typeof document > "u" || (Se = !0, document.addEventListener("visibilitychange", () => {
420
+ let e = document.visibilityState === "visible";
421
+ if (!e && _e.value) {
422
+ _e.value = !1, ve = Date.now(), U.debug(`tab → hidden (hidden=${ye.size} paused=${be.size})`);
423
+ for (let e of ye) try {
424
+ e.cb();
425
+ } catch (e) {
426
+ U.error("onTabHidden listener threw:", e);
427
+ }
428
+ for (let e of be) e.delayMs <= 0 ? W(e) : Ce(e);
429
+ } else if (e && !_e.value) {
430
+ we();
431
+ let e = ve == null ? 0 : Date.now() - ve;
432
+ ve = null, _e.value = !0, U.debug(`tab → visible (hiddenMs=${e}, visible-listeners=${xe.size})`);
433
+ for (let { cb: t } of xe) try {
434
+ t({ hiddenMs: e });
435
+ } catch (e) {
436
+ U.error("onTabVisible listener threw:", e);
437
+ }
438
+ }
439
+ }), document.addEventListener("freeze", () => {
440
+ for (let e of be) e.timer !== null && (clearTimeout(e.timer), e.timer = null, W(e));
441
+ }));
442
+ }
443
+ function G() {
444
+ Te();
445
+ let e = s(() => _e.value);
446
+ function t(e) {
447
+ let t = { cb: e };
448
+ ye.add(t);
449
+ let n = () => {
450
+ ye.delete(t);
451
+ };
452
+ return p(n), n;
453
+ }
454
+ function n(e, t = {}) {
455
+ let n = {
456
+ cb: e,
457
+ delayMs: t.delayMs ?? 3e4,
458
+ timer: null
459
+ };
460
+ be.add(n);
461
+ let r = () => {
462
+ n.timer !== null && (clearTimeout(n.timer), n.timer = null), be.delete(n);
463
+ };
464
+ return p(r), r;
465
+ }
466
+ function r(e) {
467
+ let t = { cb: e };
468
+ xe.add(t);
469
+ let n = () => {
470
+ xe.delete(t);
471
+ };
472
+ return p(n), n;
473
+ }
474
+ return {
475
+ isVisible: e,
476
+ onTabHidden: t,
477
+ onTabPaused: n,
478
+ onTabVisible: r
479
+ };
480
+ }
481
+ var Ee = 5e3, De = 6e4, K = /* @__PURE__ */ new Map(), Oe = /* @__PURE__ */ new Map(), ke = /* @__PURE__ */ new Map(), Ae = /* @__PURE__ */ new Map(), je = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), Me = /* @__PURE__ */ new Map();
482
+ function Ne(e) {
483
+ q.get(e)?.forEach((e) => e());
484
+ }
485
+ function Pe(e, t, n = !1) {
486
+ let r = Me.get(t);
487
+ if (r) return r;
488
+ let i = (async () => {
489
+ let r = await st(e, t);
490
+ try {
491
+ return r ? await r.fetchSnapshot(void 0, n ? !0 : void 0) ?? void 0 : void 0;
492
+ } finally {
493
+ r && lt(r);
494
+ }
495
+ })().finally(() => Me.delete(t));
496
+ return Me.set(t, i), i;
497
+ }
498
+ var Fe = /* @__PURE__ */ new WeakSet();
499
+ function Ie(e, t) {
500
+ Fe.has(e) || (Fe.add(e), e.on("reconnected", () => {
501
+ setTimeout(() => {
502
+ let e = 0;
503
+ for (let n of q.keys()) {
504
+ if ((q.get(n)?.size ?? 0) === 0) continue;
505
+ let r = n;
506
+ setTimeout(() => {
507
+ (q.get(r)?.size ?? 0) !== 0 && Pe(t, r).catch(() => void 0);
508
+ }, e), e += 150;
509
+ }
510
+ }, 0);
511
+ }));
512
+ }
513
+ function Le(e, t) {
514
+ if (!e || e.mode === "onDemand") return !1;
515
+ if (t === void 0) return !0;
516
+ let n = (e.mode === "interval" ? e.interval : e.maxAge) * 1e3;
517
+ return Date.now() - t > n;
518
+ }
519
+ function Re(e) {
520
+ setTimeout(() => URL.revokeObjectURL(e), Ee);
521
+ }
522
+ function ze(e, t, n) {
523
+ let r = Ae.get(e);
524
+ if (n && r) {
525
+ let e = r.fetchedAt - n.fetchedAt;
526
+ return e > 0 && e <= De;
527
+ }
528
+ return t !== void 0 && t < (ke.get(e) ?? -Infinity);
529
+ }
530
+ function Be(e, t, n, r, i) {
531
+ if (!ze(e, r, i)) {
532
+ if (ke.set(e, r ?? Date.now()), i ? Ae.set(e, i) : Ae.delete(e), K.get(e) !== t) {
533
+ let n = je.get(e);
534
+ n && (Re(n), je.delete(e)), K.set(e, t);
535
+ }
536
+ n !== void 0 && Oe.set(e, n), Ne(e);
537
+ }
538
+ }
539
+ function Ve(e) {
540
+ return K.get(e);
541
+ }
542
+ function He(e, t) {
543
+ let n = Ae.get(e);
544
+ return n?.sourceId === t ? n.fetchedAt : void 0;
545
+ }
546
+ function Ue(e, t) {
547
+ return q.has(e) || q.set(e, /* @__PURE__ */ new Set()), q.get(e).add(t), () => {
548
+ q.get(e)?.delete(t);
549
+ };
550
+ }
551
+ function We(e) {
552
+ let t = K.get(e);
553
+ if (!t) return;
554
+ let n = je.get(e);
555
+ return n || (n = URL.createObjectURL(new Blob([t], { type: "image/jpeg" })), je.set(e, n)), n;
556
+ }
557
+ function Ge() {
558
+ for (let e of je.values()) URL.revokeObjectURL(e);
559
+ je.clear(), K.clear(), Oe.clear(), ke.clear(), Ae.clear();
560
+ }
561
+ function Ke(e) {
562
+ let t = k(), { isConnected: n } = t, a = $e(), { onTabVisible: l } = G(), u = i(), d = r(!1), f = r(!1);
563
+ Ie(t, a);
564
+ let m = s(() => {
565
+ if (!u.value) return;
566
+ let t = o(e);
567
+ return We(typeof t == "string" ? t : t._id);
568
+ }), h = s(() => {
569
+ if (!u.value) return;
570
+ let t = o(e), n = typeof t == "string" ? t : t._id;
571
+ return Oe.get(n);
572
+ });
573
+ function g(e) {
574
+ q.has(e) || q.set(e, /* @__PURE__ */ new Set());
575
+ let t = () => {
576
+ u.value = K.get(e);
577
+ };
578
+ return q.get(e).add(t), () => {
579
+ q.get(e)?.delete(t);
580
+ };
581
+ }
582
+ let _, v, y, b, x = O(), S = !1;
583
+ function C() {
584
+ let t = o(e);
585
+ return typeof t == "string" ? t : t._id;
586
+ }
587
+ async function w(e) {
588
+ if (v !== e && b !== e) {
589
+ b = e;
590
+ try {
591
+ let t = await st(a, e);
592
+ if (!t) return;
593
+ if (S || C() !== e || v === e) {
594
+ lt(t);
595
+ return;
596
+ }
597
+ D(), v = e, y = t, E();
598
+ } catch {
599
+ C() === e && T(e);
600
+ } finally {
601
+ b = void 0;
602
+ }
603
+ }
604
+ }
605
+ function T(t) {
606
+ S || x.schedule(() => {
607
+ n.value && C() === t && !M(o(e)) && w(t).then(() => {
608
+ if (v === t) return j(t);
609
+ });
610
+ });
611
+ }
612
+ function E() {
613
+ x.cancel(), x.reset();
614
+ }
615
+ function D() {
616
+ v && (y && lt(y), v = void 0, y = void 0);
617
+ }
618
+ function A(e) {
619
+ let t = K.get(e);
620
+ return t ? (u.value = t, f.value = !0, !0) : !1;
621
+ }
622
+ async function j(e, t = !1) {
623
+ if (n.value && e && (t || !A(e))) {
624
+ d.value = !0;
625
+ try {
626
+ let t = await Pe(a, e);
627
+ t && (u.value = K.get(e) ?? t);
628
+ } catch {} finally {
629
+ d.value = !1, f.value = !0;
630
+ }
631
+ }
632
+ }
633
+ function M(e) {
634
+ return typeof e == "object" && e?.disabled === !0;
635
+ }
636
+ async function ee() {
637
+ let t = o(e), r = typeof t == "string" ? t : t._id;
638
+ if (r && n.value && !M(t)) {
639
+ d.value = !0;
640
+ try {
641
+ let e = await Pe(a, r, !0);
642
+ e && (u.value = K.get(r) ?? e);
643
+ } catch {} finally {
644
+ d.value = !1, f.value = !0;
645
+ }
646
+ }
647
+ }
648
+ return c([
649
+ n,
650
+ () => o(e),
651
+ () => M(o(e))
652
+ ], async ([e, t, n]) => {
653
+ E(), _?.(), _ = void 0;
654
+ let r = typeof t == "string" ? t : t._id;
655
+ e && r && !n ? (typeof t == "object" && rt(t.name, r), _ = g(r), A(r), await w(r), await j(r)) : r ? (D(), u.value = K.get(r), f.value = !0) : (D(), u.value = void 0);
656
+ }, { immediate: !0 }), l(() => {
657
+ let e = C();
658
+ n.value && y && v === e && Le(y.camera.value.snapshotSettings, Oe.get(e)) && Pe(a, e).catch(() => void 0);
659
+ }), p(() => {
660
+ S = !0, E(), _?.(), D();
661
+ }), {
662
+ snapshot: u,
663
+ snapshotSrc: m,
664
+ snapshotTimestamp: h,
665
+ isLoading: s(() => d.value || !f.value),
666
+ refresh: ee
667
+ };
668
+ }
669
+ var qe = "not-modified", Je = /* @__PURE__ */ new WeakMap(), Ye = /* @__PURE__ */ new WeakMap();
670
+ async function Xe(e, t) {
671
+ let n = M.cameraNamespaces(t._id), a = "rpc" in e && "value" in e.rpc ? e : void 0, o = a ? a.rpc : i(e), c = a?.bulkRpc, l, u, d = !1, f, p = !1, m = O(), g = 0, _ = 0, v, y, b = !1, x = i(t), S = r(!1), C = r(!1), w = i(Ve(t._id)), T = r(!1), E = r({}), D = Ue(t._id, () => {
672
+ w.value = Ve(t._id);
673
+ }), k = s(() => x.value.name), A = s(() => x.value.room), j = s(() => x.value.nativeId), ee = s(() => x.value.disabled), te = s(() => x.value.detectionSettings?.snooze ?? !1), N = s(() => x.value.isCloud), P = s(() => JSON.parse(JSON.stringify(x.value.sources)).map((e) => ({
674
+ ...e,
675
+ snapshot: async (t) => he(e._id, t),
676
+ probeStream: async (t, n = !1) => ye(e._id, t, n)
677
+ }))), ne = s(() => P.value.find((e) => e.role === "high-resolution")), re = s(() => P.value.find((e) => e.role === "mid-resolution")), L = s(() => P.value.find((e) => e.role === "low-resolution")), R = s(() => ne.value ?? re.value ?? L.value), z = s(() => P.value.find((e) => e.role === "snapshot") ?? P.value.find((e) => e.useForSnapshot)), B = s(() => {
678
+ let e = /* @__PURE__ */ new Set();
679
+ for (let t of Object.values(E.value)) e.add(t.type);
680
+ return e;
681
+ }), ae = s(() => Array.from(B.value)), V = s(() => B.value.has(h.Light)), H = s(() => B.value.has(h.Siren)), oe = s(() => B.value.has(h.Doorbell)), se = s(() => B.value.has(h.Battery)), ce = s(() => B.value.has(h.Audio)), de = s(() => B.value.has(h.Motion)), pe = s(() => B.value.has(h.Object)), me = s(() => B.value.has(h.PTZ));
682
+ async function he(e, n) {
683
+ T.value = !0;
684
+ let r = Date.now();
685
+ try {
686
+ let i = await ge(e, n);
687
+ if (i === qe) return Ve(t._id);
688
+ if (i && i.data.byteLength > 0) {
689
+ let n = i.stamp === void 0 ? void 0 : {
690
+ sourceId: e,
691
+ fetchedAt: i.stamp
692
+ };
693
+ return Be(t._id, i.data, i.fetchedAt, i.fetchedAt ?? r, n), i.data;
694
+ }
695
+ return;
696
+ } finally {
697
+ T.value = !1;
698
+ }
699
+ }
700
+ async function ge(e, t) {
701
+ let n, r = !1;
702
+ try {
703
+ return await I(o, async (i) => {
704
+ n = U(i, r);
705
+ try {
706
+ return await _e(n, e, t);
707
+ } catch (a) {
708
+ if (!c || n === i || a.code !== "TIMEOUT" || await fe(n)) throw a;
709
+ return r = !0, ue(c, n), n = i, _e(i, e, t);
710
+ }
711
+ }, { retryOnTimeout: !t });
712
+ } catch (i) {
713
+ if (i.code !== "TIMEOUT" || !n || Je.has(n)) throw i;
714
+ return I(o, (n) => ve(U(n, r), e, t));
715
+ }
716
+ }
717
+ function U(e, t = !1) {
718
+ return t ? e : le(c) ?? e;
719
+ }
720
+ async function _e(e, r, i) {
721
+ let a = Je.get(e);
722
+ if (a === !1) return ve(e, r, i);
723
+ try {
724
+ let a = e.createProxy(n.cameraControllerRpc), o = i ? void 0 : He(t._id, r), s = o === void 0 ? await a.snapshotWithMeta(r, i) : await a.snapshotWithMeta(r, i, o);
725
+ return Je.set(e, !0), s?.notModified ? qe : s?.data ? {
726
+ data: s.data,
727
+ fetchedAt: Date.now() - (s.ageMs ?? 0),
728
+ stamp: s.fetchedAt
729
+ } : void 0;
730
+ } catch (t) {
731
+ if (t.code === "METHOD_NOT_FOUND") return Je.set(e, !1), ve(e, r, i);
732
+ if (a || !ie(t)) throw t;
733
+ }
734
+ let s = await ve(e, r, i);
735
+ return F(o) || Je.set(e, !1), s;
736
+ }
737
+ async function ve(e, t, r) {
738
+ let i = await e.createProxy(n.cameraControllerRpc).snapshot(t, r);
739
+ return i ? {
740
+ data: i,
741
+ fetchedAt: r ? Date.now() : void 0
742
+ } : void 0;
743
+ }
744
+ async function ye(e, t, r = !1) {
745
+ return I(o, (i) => i.createProxy(n.cameraControllerRpc).probeStream(e, t, r), { retryOnTimeout: !r });
746
+ }
747
+ async function be(e) {
748
+ return I(o, (t) => t.createProxy(n.cameraControllerRpc).streamUrl(e));
749
+ }
750
+ function xe() {
751
+ return y = void 0, W();
752
+ }
753
+ function Se() {
754
+ if (y) return y;
755
+ if (!v) return W();
756
+ let e = g;
757
+ return y = v.catch(() => {}).then(() => g === e ? (y = void 0, W()) : v), y;
758
+ }
759
+ function W() {
760
+ let e = Ce(++g).finally(() => {
761
+ v === e && (v = void 0);
762
+ });
763
+ return v = e, e;
764
+ }
765
+ async function Ce(e) {
766
+ let t = await I(o, (e) => e.createProxy(n.cameraControllerRpc).refreshStates());
767
+ e < _ || (_ = e, x.value = t.camera, S.value = t.cameraState, C.value = t.frameWorkerState, E.value = t.sensorStates);
768
+ }
769
+ function we() {
770
+ b || d || (b = !0, queueMicrotask(() => {
771
+ b = !1, d || Se().catch(() => {});
772
+ }));
773
+ }
774
+ function Te(e) {
775
+ if (E.value[e] === void 0) return;
776
+ let t = { ...E.value };
777
+ delete t[e], E.value = t;
778
+ }
779
+ async function G(e) {
780
+ switch (e.type) {
781
+ case "removed":
782
+ await Ae();
783
+ break;
784
+ case "updated":
785
+ x.value = e.data;
786
+ break;
787
+ case "cameraState":
788
+ S.value = e.data;
789
+ break;
790
+ case "frameWorkerState":
791
+ C.value = e.data;
792
+ break;
793
+ case "snapshot:updated": {
794
+ let { sourceId: n, snapshot: r, fetchedAt: i } = e.data;
795
+ Be(t._id, r, i, void 0, n && i !== void 0 ? {
796
+ sourceId: n,
797
+ fetchedAt: i
798
+ } : void 0);
799
+ break;
800
+ }
801
+ }
802
+ }
803
+ function Ee(e) {
804
+ if (e.type === "sensor:added") {
805
+ let n = e.data;
806
+ if (!n.sensor.assignedCameraIds.includes(t._id) || !n.sensor.connected) return;
807
+ E.value = {
808
+ ...E.value,
809
+ [n.sensor.id]: n.state
810
+ };
811
+ } else if (e.type === "sensor:deleted") Te(e.data.sensorId);
812
+ else if (e.type === "sensor:connected:changed") {
813
+ let n = e.data;
814
+ if (n.connected) {
815
+ if (n.assignedCameraIds && !n.assignedCameraIds.includes(t._id)) return;
816
+ we();
817
+ } else Te(n.sensorId);
818
+ } else if (e.type === "sensor:assignment:changed") {
819
+ let n = e.data;
820
+ if (n.cameraId !== t._id) return;
821
+ n.assigned ? we() : Te(n.sensorId);
822
+ }
823
+ }
824
+ async function De() {
825
+ l?.(), l = void 0, u?.(), u = void 0;
826
+ let e = await I(o, (e) => e.subscribe(n.cameraSubject, G));
827
+ if (d) {
828
+ e();
829
+ return;
830
+ }
831
+ l = e;
832
+ let t = await I(o, (e) => Ze(e, Ee));
833
+ d ? t() : (u = t, await xe());
834
+ }
835
+ function K() {
836
+ return d ? Promise.resolve() : (m.cancel(), f ? (p = !0, f) : (f = Oe(), f));
837
+ }
838
+ async function Oe() {
839
+ try {
840
+ do
841
+ p = !1, await De();
842
+ while (p && !d);
843
+ m.reset();
844
+ } catch (e) {
845
+ throw ke(), e;
846
+ } finally {
847
+ f = void 0;
848
+ }
849
+ }
850
+ function ke() {
851
+ d || m.schedule(() => {
852
+ K().catch(() => {});
853
+ });
854
+ }
855
+ async function Ae() {
856
+ d = !0, m.cancel(), l?.(), l = void 0, u?.(), u = void 0, D();
857
+ }
858
+ async function je(e, t) {
859
+ let n = P.value.find((e) => e.useForSnapshot), r = P.value.find((e) => e.role === "snapshot"), i = e ?? r?._id ?? n?._id ?? L.value?._id ?? re.value?._id ?? ne.value?._id ?? R.value?._id;
860
+ return i ? he(i, t) : Promise.resolve(void 0);
861
+ }
862
+ async function q(e, t, n = !1) {
863
+ let r = e ?? R.value?._id;
864
+ return r ? ye(r, t, n) : Promise.resolve(void 0);
865
+ }
866
+ try {
867
+ await De();
868
+ } catch (e) {
869
+ throw await Ae(), e;
870
+ }
871
+ return {
872
+ id: t._id,
873
+ name: k,
874
+ room: A,
875
+ nativeId: j,
876
+ disabled: ee,
877
+ snooze: te,
878
+ isCloud: N,
879
+ connected: S,
880
+ frameWorkerConnected: C,
881
+ sources: P,
882
+ streamSource: R,
883
+ snapshotSource: z,
884
+ highResolutionSource: ne,
885
+ midResolutionSource: re,
886
+ lowResolutionSource: L,
887
+ capabilities: ae,
888
+ hasLight: V,
889
+ hasSiren: H,
890
+ hasDoorbell: oe,
891
+ hasBattery: se,
892
+ hasAudioSensor: ce,
893
+ hasMotionSensor: de,
894
+ hasObjectSensor: pe,
895
+ hasPtz: me,
896
+ camera: x,
897
+ snapshot: w,
898
+ snapshotLoading: T,
899
+ fetchSnapshot: je,
900
+ probeStream: q,
901
+ streamUrl: be,
902
+ refreshStates: xe,
903
+ reconnect: K,
904
+ close: Ae
905
+ };
906
+ }
907
+ async function Ze(e, t) {
908
+ let n = Ye.get(e);
909
+ if (!n) {
910
+ let t = /* @__PURE__ */ new Set(), r = M.sensorRegistryNamespaces().sensorsSubject;
911
+ n = {
912
+ handlers: t,
913
+ subscribed: e.subscribe(r, (e) => {
914
+ for (let n of t) try {
915
+ n(e);
916
+ } catch {}
917
+ })
918
+ }, Ye.set(e, n);
919
+ }
920
+ let r = n;
921
+ r.handlers.add(t);
922
+ try {
923
+ await r.subscribed;
924
+ } catch (n) {
925
+ throw r.handlers.delete(t), Ye.get(e) === r && Ye.delete(e), n;
926
+ }
927
+ return () => Qe(e, r, t);
928
+ }
929
+ function Qe(e, t, n) {
930
+ !t.handlers.delete(n) || t.handlers.size > 0 || (Ye.get(e) === t && Ye.delete(e), t.subscribed.then((e) => e()).catch(() => {}));
931
+ }
932
+ function $e() {
933
+ let e = k(), t = M.deviceManagerNamespaces();
934
+ async function n(n) {
935
+ let r = await I(e.rpc, (e) => e.createProxy(t.deviceManagerRpc).getCamera(n, "@camera.ui/browser"));
936
+ if (r) return Xe(e, r);
937
+ }
938
+ return { getCamera: n };
939
+ }
940
+ var J = T({
941
+ releaseDelay: 1e3,
942
+ onRelease: (e, t) => t.close()
943
+ }), et = /* @__PURE__ */ new Map(), tt = /* @__PURE__ */ new Map();
944
+ function nt() {
945
+ J.clear(), et.clear(), tt.clear();
946
+ }
947
+ function rt(e, t) {
948
+ e && t && e !== t && tt.set(e, t);
949
+ }
950
+ function it(e) {
951
+ if (J.has(e)) return e;
952
+ let t;
953
+ return J.forEachValue((n, r) => {
954
+ t === void 0 && n.name.value === e && (t = r);
955
+ }), t;
956
+ }
957
+ function at(e) {
958
+ let t = et.get(e);
959
+ if (t) return t;
960
+ for (let [t, n] of tt) {
961
+ let r = n === e ? et.get(t) : t === e ? et.get(n) : void 0;
962
+ if (r) return r;
963
+ }
964
+ }
965
+ function ot(e) {
966
+ let t = it(e);
967
+ if (t !== void 0) return J.acquire(t, () => {
968
+ throw Error("Should not create - already cached");
969
+ });
970
+ }
971
+ async function st(e, t) {
972
+ let n = ot(t);
973
+ if (n) return n;
974
+ let r = at(t);
975
+ if (r) {
976
+ let e = await r, n = ot(t);
977
+ if (n || !e) return n;
978
+ }
979
+ let i = e.getCamera(t);
980
+ et.set(t, i);
981
+ try {
982
+ let e = await i;
983
+ return e ? ct(e) : void 0;
984
+ } finally {
985
+ et.get(t) === i && et.delete(t);
986
+ }
987
+ }
988
+ function ct(e) {
989
+ let t = J.acquire(e.id, () => e);
990
+ return t !== e && e.close(), t;
991
+ }
992
+ function lt(e) {
993
+ J.release(e.id, e);
994
+ }
995
+ function ut() {
996
+ J.forEachValue((e) => {
997
+ e.reconnect().catch(() => {});
998
+ });
999
+ }
1000
+ function dt() {
1001
+ J.forEachValue((e) => {
1002
+ e.refreshStates().catch(() => e.reconnect().catch(() => {}));
1003
+ });
1004
+ }
1005
+ function ft(e) {
1006
+ let { isConnected: t } = k(), n = $e(), a = i(), l = r(!1), u = r(!1), d = r(), f, m = O(), h = !1;
1007
+ function g(e, t) {
1008
+ f = e, a.value = t, d.value = void 0, b();
1009
+ }
1010
+ function _() {
1011
+ a.value && lt(a.value), a.value = void 0, f = void 0;
1012
+ }
1013
+ function v(e, t) {
1014
+ d.value = t instanceof Error ? t : Error(String(t)), y(e);
1015
+ }
1016
+ function y(n) {
1017
+ h || m.schedule(() => {
1018
+ t.value && o(e) === n && f !== n && x(n, !0).catch(() => {});
1019
+ });
1020
+ }
1021
+ function b() {
1022
+ m.cancel(), m.reset();
1023
+ }
1024
+ async function x(r, i = !1) {
1025
+ if (h || !t.value || !r) return;
1026
+ if (f !== void 0 && f !== r) {
1027
+ if (a.value && (a.value.id === r || a.value.name.value === r)) {
1028
+ f = r;
1029
+ return;
1030
+ }
1031
+ _();
1032
+ }
1033
+ if (a.value) return;
1034
+ let s = ot(r);
1035
+ if (s) g(r, s), u.value = !0;
1036
+ else {
1037
+ i || (l.value = !0, d.value = void 0);
1038
+ try {
1039
+ let t = await st(n, r);
1040
+ if (!t) return;
1041
+ if (h || o(e) !== r || a.value) {
1042
+ lt(t);
1043
+ return;
1044
+ }
1045
+ g(r, t);
1046
+ } catch (e) {
1047
+ v(r, e);
1048
+ } finally {
1049
+ l.value = !1, u.value = !0;
1050
+ }
1051
+ }
1052
+ }
1053
+ async function S() {
1054
+ let t = o(e);
1055
+ if (!t) return;
1056
+ let n = a.value;
1057
+ n && (J.get(n.id) === n && J.getRefCount(n.id) <= 1 ? J.forceRelease(n.id) : lt(n), a.value = void 0, f = void 0), await x(t);
1058
+ }
1059
+ return c([t, () => o(e)], async ([e, t]) => {
1060
+ b(), e && t ? await x(t) : !e && f !== void 0 && _();
1061
+ }, { immediate: !0 }), p(() => {
1062
+ h = !0, b(), _();
1063
+ }), {
1064
+ camera: a,
1065
+ isLoading: s(() => l.value || !u.value),
1066
+ error: d,
1067
+ refresh: S
1068
+ };
1069
+ }
1070
+ var pt = /* @__PURE__ */ new Map(), mt = /* @__PURE__ */ new Map(), ht = /* @__PURE__ */ new Map();
1071
+ function gt() {
1072
+ pt.clear(), mt.clear();
1073
+ }
1074
+ function _t(e) {
1075
+ return mt.get(e);
1076
+ }
1077
+ function vt(e) {
1078
+ pt.delete(e);
1079
+ }
1080
+ async function yt(e, t) {
1081
+ let n = pt.get(t);
1082
+ if (n) return n;
1083
+ let r = ht.get(t);
1084
+ if (r) return r;
1085
+ let i = (async () => {
1086
+ let n = M.coreManagerNamespaces(), r = await I(e, (e) => e.createProxy(n.coreManagerRpc).getPlugin(t));
1087
+ if (r) return pt.set(t, r.id), mt.set(r.id, t), r.id;
1088
+ })().finally(() => ht.delete(t));
1089
+ return ht.set(t, i), i;
1090
+ }
1091
+ var bt = 1500, xt = 3e4, St = /* @__PURE__ */ new Map();
1092
+ function Ct() {
1093
+ for (let e of St.values()) e.stop();
1094
+ St.clear();
1095
+ }
1096
+ function wt(e) {
1097
+ let t = k(), n = r({ status: "disconnected" }), i = r(null), a, o = 0, s = 0, c = !1, l = 0, u = 0;
1098
+ function d(e, t) {
1099
+ return e.createProxy(M.pluginNamespaces(t).pluginChildRpc);
1100
+ }
1101
+ let f = (n) => I(t.rpc, async (r) => {
1102
+ let i = await yt(t.rpc, e);
1103
+ if (!i) throw Error(`Plugin "${e}" not found`);
1104
+ try {
1105
+ return await n(d(r, i));
1106
+ } catch (a) {
1107
+ if (!w(a)) throw a;
1108
+ vt(e);
1109
+ let o = await yt(t.rpc, e);
1110
+ if (!o || o === i) throw a;
1111
+ return n(d(r, o));
1112
+ }
1113
+ });
1114
+ function p(e, t = ++l) {
1115
+ t < u || (u = t, n.value = e, g());
1116
+ }
1117
+ async function m() {
1118
+ let e = ++l;
1119
+ p(await f((e) => e.getOAuthState()), e), i.value ||= await f((e) => e.getOAuthMetadata());
1120
+ }
1121
+ function h() {
1122
+ c || (c = !0, m().catch(() => void 0).finally(() => {
1123
+ c = !1;
1124
+ }));
1125
+ }
1126
+ function g() {
1127
+ let { status: e } = n.value, t = s === 0 ? 0 : e === "awaiting_user" || e === "polling" ? bt : xt;
1128
+ t !== o && (clearInterval(a), a = t ? setInterval(h, t) : void 0, o = t);
1129
+ }
1130
+ function _() {
1131
+ s++ > 0 || (g(), h());
1132
+ }
1133
+ function v() {
1134
+ s !== 0 && (s--, g());
1135
+ }
1136
+ function y() {
1137
+ s = 0, g();
1138
+ }
1139
+ return {
1140
+ state: n,
1141
+ metadata: i,
1142
+ call: f,
1143
+ refresh: m,
1144
+ apply: p,
1145
+ retain: _,
1146
+ release: v,
1147
+ stop: y
1148
+ };
1149
+ }
1150
+ function Tt(e) {
1151
+ St.has(e) || St.set(e, wt(e));
1152
+ let t = St.get(e), { state: n, metadata: r, call: i, refresh: a, apply: o } = t;
1153
+ t.retain(), p(t.release);
1154
+ async function s(e) {
1155
+ o(await i((t) => t.startDeviceFlow(e)));
1156
+ }
1157
+ async function c(e) {
1158
+ o(await i((t) => t.startAuthCodeFlow(e)));
1159
+ }
1160
+ async function l() {
1161
+ (n.value.status === "awaiting_user" || n.value.status === "polling") && await i((e) => e.cancelDeviceFlow?.() ?? e.cancelAuthCodeFlow?.() ?? Promise.resolve()), await a();
1162
+ }
1163
+ async function u() {
1164
+ await i((e) => e.disconnect()), await a();
1165
+ }
1166
+ return {
1167
+ state: n,
1168
+ metadata: r,
1169
+ startDeviceFlow: s,
1170
+ startAuthCodeFlow: c,
1171
+ cancel: l,
1172
+ disconnect: u,
1173
+ refresh: a
1174
+ };
1175
+ }
1176
+ var Et = 2e3, Dt = 3e4, Y = T({ releaseDelay: 1e3 }), Ot = /* @__PURE__ */ new Map(), kt = /* @__PURE__ */ new Map(), At = /* @__PURE__ */ new Set(), jt = /* @__PURE__ */ new Set(), Mt = /* @__PURE__ */ new Map(), Nt = /* @__PURE__ */ new Map(), Pt = /* @__PURE__ */ new Map(), Ft = /* @__PURE__ */ new Map(), It, Lt;
1177
+ function Rt() {
1178
+ Y.clear(), Ot.clear(), kt.clear(), Wt();
1179
+ for (let e of At) try {
1180
+ e();
1181
+ } catch {}
1182
+ }
1183
+ function zt(e) {
1184
+ for (let t of [...Nt.get(e) ?? []]) t();
1185
+ }
1186
+ function Bt(e) {
1187
+ let t = Pt.get(e);
1188
+ t && clearTimeout(t), Pt.delete(e), Ft.delete(e);
1189
+ }
1190
+ function Vt(e) {
1191
+ if (Pt.has(e)) return;
1192
+ let t = Ft.get(e) ?? 0;
1193
+ Ft.set(e, t + 1);
1194
+ let n = setTimeout(() => {
1195
+ Pt.delete(e), zt(e);
1196
+ }, Math.min(Et * 2 ** t, Dt));
1197
+ Pt.set(e, n);
1198
+ }
1199
+ function Ht(e) {
1200
+ return jt.add(e), () => {
1201
+ jt.delete(e);
1202
+ };
1203
+ }
1204
+ function Ut(e) {
1205
+ return Mt.get(e) === !1;
1206
+ }
1207
+ function Wt() {
1208
+ Mt.clear();
1209
+ }
1210
+ function Gt(e, t, n = !t) {
1211
+ Mt.set(e, t), n && (Y.forceRelease(e), vt(e)), Bt(e), zt(e);
1212
+ for (let n of [...jt]) try {
1213
+ n(e, t);
1214
+ } catch {}
1215
+ }
1216
+ function Kt(e) {
1217
+ e?.type === "pluginStatusChanged" && Gt(e.data.pluginName, e.data.running);
1218
+ }
1219
+ function qt(e, t) {
1220
+ let n = Y.get(e);
1221
+ if (!n || kt.has(e)) return;
1222
+ let r = I(t, (t) => t.createProxy(M.coreManagerNamespaces().coreManagerRpc).getPlugin(e)).then((t) => {
1223
+ let r = t;
1224
+ if (Y.get(e) !== n) return;
1225
+ let i = !!r && r.running !== !1, a = i && M.pluginNamespaces(r.id).pluginChildRpc !== n.namespace;
1226
+ (!i || a) && Gt(e, i, !0);
1227
+ }).catch(() => {}).finally(() => {
1228
+ kt.get(e) === r && kt.delete(e);
1229
+ });
1230
+ kt.set(e, r);
1231
+ }
1232
+ function Jt(e, t, n) {
1233
+ let r = /* @__PURE__ */ new WeakMap();
1234
+ return new Proxy(t, { get(i, a) {
1235
+ let o = le(n);
1236
+ if (!o) return Reflect.get(t, a);
1237
+ let s = r.get(o);
1238
+ s || (s = o.createProxy(e), r.set(o, s));
1239
+ let c = Reflect.get(s, a);
1240
+ return typeof c == "function" ? Yt(c, n, o) : c;
1241
+ } });
1242
+ }
1243
+ function Yt(e, t, n) {
1244
+ return new Proxy(e, { apply(e, r, i) {
1245
+ let a = Reflect.apply(e, r, i);
1246
+ return a instanceof Promise ? a.catch((e) => {
1247
+ throw e?.code === "TIMEOUT" && de(t, n), e;
1248
+ }) : a;
1249
+ } });
1250
+ }
1251
+ async function Xt(e) {
1252
+ let t = e.value;
1253
+ if (t && t !== It) {
1254
+ Lt?.(), Lt = void 0, It = t;
1255
+ try {
1256
+ Lt = await t.subscribe(M.coreManagerNamespaces().coreManagerSubject, Kt);
1257
+ } catch {
1258
+ It = void 0;
1259
+ }
1260
+ }
1261
+ }
1262
+ function Zt(e, t = {}) {
1263
+ let n = k(), { rpc: a, bulkRpc: l, isConnected: u } = n, d = t.lane === "bulk" ? l : void 0, f = i(), m = r(), h = r(!1), g = r(!1), _ = r(), v, y, b;
1264
+ function x(e) {
1265
+ if (Y.has(e)) return Y.acquire(e, () => {
1266
+ throw Error("Should not create - already cached");
1267
+ });
1268
+ }
1269
+ function S(e) {
1270
+ Y.release(e, y), y = void 0;
1271
+ }
1272
+ function C(e) {
1273
+ if (b === e) return;
1274
+ b && w(b);
1275
+ let t = Nt.get(e) ?? /* @__PURE__ */ new Set();
1276
+ t.add(T), Nt.set(e, t), b = e;
1277
+ }
1278
+ function w(e) {
1279
+ let t = Nt.get(e);
1280
+ t && (t.delete(T), t.size === 0 && (Nt.delete(e), Bt(e))), b === e && (b = void 0);
1281
+ }
1282
+ function T() {
1283
+ let t = o(e);
1284
+ t && O(t, !0);
1285
+ }
1286
+ function E(e) {
1287
+ v &&= (S(v), void 0), f.value = void 0, m.value = void 0, Vt(e);
1288
+ }
1289
+ function D(e, t) {
1290
+ v = e, y = t, d && (t.bulkProxy ??= Jt(t.namespace, t.proxy, d)), f.value = d ? t.bulkProxy : t.proxy, m.value = t.contract, _.value = void 0, Bt(e);
1291
+ }
1292
+ async function O(t, n = !1) {
1293
+ if (!u.value || !t) return;
1294
+ if (v && v !== t && (w(v), S(v), f.value = void 0, m.value = void 0, v = void 0), C(t), Xt(a), v === t && Y.get(t) !== y) v = void 0, y = void 0, f.value = void 0, m.value = void 0;
1295
+ else if (v === t && f.value) return;
1296
+ let r = x(t);
1297
+ if (r) {
1298
+ D(t, r), g.value = !0;
1299
+ return;
1300
+ }
1301
+ let i = Ot.get(t);
1302
+ if (i) {
1303
+ n || (h.value = !0);
1304
+ try {
1305
+ let n = await i;
1306
+ if (o(e) !== t) return;
1307
+ if (n) {
1308
+ let e = x(t);
1309
+ e && D(t, e);
1310
+ } else E(t);
1311
+ } catch (e) {
1312
+ n || (_.value = e instanceof Error ? e : Error(String(e))), E(t);
1313
+ } finally {
1314
+ n || (h.value = !1), g.value = !0;
1315
+ }
1316
+ return;
1317
+ }
1318
+ n || (h.value = !0, _.value = void 0);
1319
+ let s = I(a, async (e) => {
1320
+ let n = M.coreManagerNamespaces(), r = await e.createProxy(n.coreManagerRpc).getPlugin(t);
1321
+ if (!r) throw Error(`Plugin "${t}" not found`);
1322
+ if (r.running === !1) return;
1323
+ let i = M.pluginNamespaces(r.id).pluginChildRpc;
1324
+ return {
1325
+ proxy: e.createProxy(i),
1326
+ contract: r.contract,
1327
+ namespace: i,
1328
+ client: e
1329
+ };
1330
+ });
1331
+ Ot.set(t, s);
1332
+ try {
1333
+ let n = await s;
1334
+ if (Mt.set(t, !!n), n) {
1335
+ let r = Y.acquire(t, () => n);
1336
+ if (o(e) !== t) {
1337
+ Y.release(t, r);
1338
+ return;
1339
+ }
1340
+ D(t, r);
1341
+ } else o(e) === t && E(t);
1342
+ } catch (e) {
1343
+ n || (_.value = e instanceof Error ? e : Error(String(e))), E(t);
1344
+ } finally {
1345
+ Ot.delete(t), n || (h.value = !1), g.value = !0;
1346
+ }
1347
+ }
1348
+ async function A() {
1349
+ let t = o(e);
1350
+ t && (v &&= (Y.get(v) === y && Y.getRefCount(v) <= 1 ? (Y.forceRelease(v), y = void 0) : S(v), f.value = void 0, m.value = void 0, void 0), await O(t));
1351
+ }
1352
+ let j = () => {
1353
+ v && (f.value = void 0, m.value = void 0, v = void 0, y = void 0);
1354
+ };
1355
+ At.add(j);
1356
+ function ee() {
1357
+ v && qt(v, a);
1358
+ }
1359
+ return n.on("reconnected", ee), c([
1360
+ u,
1361
+ () => o(e),
1362
+ a
1363
+ ], async ([e, t, n]) => {
1364
+ let r = !!v && t !== v;
1365
+ v && (r || n && y && y.client !== n) && (r && w(v), S(v), f.value = void 0, m.value = void 0, v = void 0), e && t && n ? await O(t) : !e && v && (w(v), S(v), f.value = void 0, m.value = void 0, v = void 0);
1366
+ }, { immediate: !0 }), p(() => {
1367
+ At.delete(j), n.off("reconnected", ee), w(o(e)), v &&= (w(v), S(v), f.value = void 0, m.value = void 0, void 0);
1368
+ }), {
1369
+ plugin: f,
1370
+ contract: m,
1371
+ isLoading: s(() => h.value || !g.value),
1372
+ error: _,
1373
+ refresh: A
1374
+ };
1375
+ }
1376
+ function Qt(e) {
1377
+ if (e) return typeof e == "string" ? e : e.id;
1378
+ }
1379
+ function X(e) {
1380
+ return (t) => t.type === e;
1381
+ }
1382
+ var $t = X(h.Light), en = X(h.Siren), tn = X(h.Battery), nn = X(h.Doorbell), rn = X(h.Contact);
1383
+ h.Motion, h.Object, h.Audio, h.Face, h.LicensePlate, h.Classifier, h.PTZ;
1384
+ var an = X(h.Switch), on = X(h.Lock), sn = X(h.SecuritySystem), cn = X(h.Temperature), ln = X(h.Humidity), un = X(h.Occupancy), dn = X(h.Smoke), fn = X(h.Leak);
1385
+ h.Gas, h.CarbonMonoxide, h.Heat, h.Cold, h.Vibration, h.Tamper, h.Problem, h.Power, h.Illuminance, h.CarbonDioxide;
1386
+ var pn = X(h.Garage);
1387
+ function mn(e, t) {
1388
+ return e.length === t.length && e.every((e, n) => e === t[n]);
1389
+ }
1390
+ function hn(e, t) {
1391
+ return e.type === t.type && e.name === t.name && e.pluginId === t.pluginId && e.nativeId === t.nativeId && e.boundCameraId === t.boundCameraId;
1392
+ }
1393
+ function gn(t, n, i) {
1394
+ let a = r(n.displayName ?? t.displayName ?? t.name), o = r(n.capabilities ?? t.capabilities ?? []), s = r([...t.assignedCameraIds]), c = r(t.exposed), l = r(t.connected), u = e({ ...n.properties }), d = [];
1395
+ function f() {
1396
+ for (let e of d) e(o.value);
1397
+ }
1398
+ return {
1399
+ id: t.id,
1400
+ type: t.type,
1401
+ name: t.name,
1402
+ displayName: a,
1403
+ nativeId: t.nativeId,
1404
+ pluginId: t.pluginId,
1405
+ boundCameraId: t.boundCameraId,
1406
+ assignedCameraIds: s,
1407
+ exposed: c,
1408
+ connected: l,
1409
+ capabilities: o,
1410
+ properties: u,
1411
+ getProperty(e) {
1412
+ return u[e];
1413
+ },
1414
+ async setProperty(e, n) {
1415
+ let r = `plugin.${t.pluginId}.sensor.${t.id}.rpc`;
1416
+ await I(i, (t) => t.createProxy(r).updateValue(e, n));
1417
+ },
1418
+ async setDisplayName(e) {
1419
+ let n = M.sensorRegistryNamespaces();
1420
+ await I(i, (r) => r.createProxy(n.sensorsRpc).setDisplayName(t.id, e));
1421
+ },
1422
+ hasCapability(e) {
1423
+ return o.value.includes(e);
1424
+ },
1425
+ onCapabilitiesChanged(e) {
1426
+ return d.push(e), () => {
1427
+ let t = d.indexOf(e);
1428
+ t !== -1 && d.splice(t, 1);
1429
+ };
1430
+ },
1431
+ _notifyCapabilitiesChanged: f,
1432
+ _update(e, t) {
1433
+ a.value = t.displayName ?? e.displayName ?? e.name, mn(s.value, e.assignedCameraIds) || (s.value = [...e.assignedCameraIds]), c.value = e.exposed, l.value = e.connected;
1434
+ let n = t.properties ?? {};
1435
+ for (let e of Object.keys(u)) e in n || delete u[e];
1436
+ Object.assign(u, n);
1437
+ let r = t.capabilities ?? e.capabilities ?? [];
1438
+ mn(o.value, r) || (o.value = r, f());
1439
+ }
1440
+ };
1441
+ }
1442
+ var _n = 1e3, vn = "all";
1443
+ function yn(e) {
1444
+ return `camera:${e}`;
1445
+ }
1446
+ function bn(e) {
1447
+ return `sensor:${e}`;
1448
+ }
1449
+ function xn(e) {
1450
+ let { sensorsSubject: t, sensorsRpc: n } = M.sensorRegistryNamespaces(), a = "rpc" in e && "value" in e.rpc ? e : void 0, o = a ? a.rpc : i(e), c = i(/* @__PURE__ */ new Map()), l, u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Set(), m, h = /* @__PURE__ */ new Set(), g = O(), _ = /* @__PURE__ */ new Set(), v = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Map(), b = 0, x = r(!1), S, C = 0, w = O();
1451
+ function T(e, t) {
1452
+ let n = c.value.get(e);
1453
+ if (n) {
1454
+ if (f.get(e)?.add(t.type === "property:changed" ? t.data.property : t.type), t.type === "property:changed") {
1455
+ let e = t.data;
1456
+ n.properties[e.property] = e.value;
1457
+ } else if (t.type === "sensor:displayName:changed") {
1458
+ let e = t.data;
1459
+ n.displayName.value = e.displayName;
1460
+ } else if (t.type === "sensor:capabilities:changed") {
1461
+ let e = t.data;
1462
+ n.capabilities.value = e.capabilities, n._notifyCapabilitiesChanged();
1463
+ }
1464
+ }
1465
+ }
1466
+ function E(e) {
1467
+ if (v.has(vn) || v.has(bn(e.id))) return !0;
1468
+ let t = e.assignedCameraIds.value;
1469
+ return t.length === 0 || t.some((e) => v.has(yn(e)));
1470
+ }
1471
+ function D(e, t) {
1472
+ if (!(u.has(e.id) || d.has(e.id))) {
1473
+ if (t) for (let t of Object.keys(e.properties)) delete e.properties[t];
1474
+ k(e.id, P(e.id).catch(() => void 0));
1475
+ }
1476
+ }
1477
+ function k(e, t) {
1478
+ let n = /* @__PURE__ */ new Set();
1479
+ if (f.set(e, n), !m) {
1480
+ let e = [];
1481
+ m = e;
1482
+ let t = Promise.resolve().then(() => (m = void 0, A(e))).catch(() => {}).finally(() => p.delete(t));
1483
+ p.add(t);
1484
+ }
1485
+ m.push({
1486
+ sensorId: e,
1487
+ changed: n,
1488
+ subscribed: t
1489
+ });
1490
+ }
1491
+ async function A(e) {
1492
+ let t = await Promise.all(e.map((e) => e.subscribed)), r = e.flatMap((e, n) => {
1493
+ let r = t[n];
1494
+ return r && u.get(e.sensorId) === r ? [{
1495
+ ...e,
1496
+ unsubscribe: r
1497
+ }] : [];
1498
+ }), i;
1499
+ if (r.length > 0) try {
1500
+ i = await I(o, (e) => e.createProxy(n).getSensorStates()), g.reset();
1501
+ } catch {
1502
+ i = void 0;
1503
+ }
1504
+ for (let { sensorId: e, unsubscribe: t, changed: n } of r) j(e, t, n, i);
1505
+ for (let { sensorId: t, changed: n } of e) f.get(t) === n && f.delete(t);
1506
+ }
1507
+ function j(e, t, n, r) {
1508
+ let i = c.value.get(e);
1509
+ if (!i || u.get(e) !== t) return;
1510
+ let a = r?.[e];
1511
+ if (!a) {
1512
+ r && !i.connected.value ? _.add(e) : ee(e);
1513
+ return;
1514
+ }
1515
+ for (let [e, t] of Object.entries(a.properties ?? {})) n.has(e) || (i.properties[e] = t);
1516
+ a.displayName !== void 0 && !n.has("sensor:displayName:changed") && (i.displayName.value = a.displayName);
1517
+ let o = i.capabilities.value, s = a.capabilities ?? o;
1518
+ !n.has("sensor:capabilities:changed") && !mn(s, o) && (i.capabilities.value = s, i._notifyCapabilitiesChanged());
1519
+ }
1520
+ function ee(e) {
1521
+ h.add(e), g.schedule(() => {
1522
+ let e = [...h];
1523
+ h.clear();
1524
+ for (let t of e) te(t);
1525
+ });
1526
+ }
1527
+ function te(e) {
1528
+ let t = u.get(e);
1529
+ t && k(e, Promise.resolve(t));
1530
+ }
1531
+ function N() {
1532
+ return Promise.all(p).then(() => {});
1533
+ }
1534
+ async function P(e) {
1535
+ let t = b, n = M.sensorEventNamespaces(e);
1536
+ d.add(e);
1537
+ let r;
1538
+ try {
1539
+ r = await I(o, (t) => t.subscribe(n.sensorSubject, (t) => T(e, t)));
1540
+ } finally {
1541
+ t === b && d.delete(e);
1542
+ }
1543
+ let i = c.value.get(e);
1544
+ if (t !== b || !i || !E(i)) r();
1545
+ else return u.set(e, r), r;
1546
+ }
1547
+ function ne(e, t) {
1548
+ x.value && (E(e) ? D(e, t) : L(e.id));
1549
+ }
1550
+ function re() {
1551
+ for (let e of c.value.values()) ne(e, !0);
1552
+ }
1553
+ function F(e) {
1554
+ clearTimeout(y.get(e)), y.delete(e);
1555
+ let t = v.has(e);
1556
+ v.set(e, (v.get(e) ?? 0) + 1), t || re();
1557
+ }
1558
+ function ie(e) {
1559
+ let t = v.get(e);
1560
+ t && (v.set(e, t - 1), !(t > 1) && y.set(e, setTimeout(() => {
1561
+ y.delete(e), v.delete(e), re();
1562
+ }, _n)));
1563
+ }
1564
+ function L(e) {
1565
+ let t = u.get(e);
1566
+ t && (t(), u.delete(e)), h.delete(e), _.delete(e);
1567
+ }
1568
+ function R(e) {
1569
+ if (e.type === "sensor:added") {
1570
+ let t = e.data;
1571
+ if (c.value.has(t.sensor.id)) return;
1572
+ let n = gn(t.sensor, t.state, o), r = new Map(c.value);
1573
+ r.set(t.sensor.id, n), c.value = r, ne(n, !1);
1574
+ } else if (e.type === "sensor:deleted") {
1575
+ let t = e.data;
1576
+ L(t.sensorId);
1577
+ let n = new Map(c.value);
1578
+ n.delete(t.sensorId), c.value = n;
1579
+ } else if (e.type === "sensor:connected:changed") {
1580
+ let t = e.data, n = c.value.get(t.sensorId);
1581
+ if (!n) return;
1582
+ n.connected.value = t.connected, t.connected && _.delete(n.id) && te(n.id);
1583
+ } else if (e.type === "sensor:assignment:changed") {
1584
+ let t = e.data, n = c.value.get(t.sensorId);
1585
+ if (!n) return;
1586
+ let r = new Set(n.assignedCameraIds.value);
1587
+ t.assigned ? r.add(t.cameraId) : r.delete(t.cameraId), n.assignedCameraIds.value = [...r], ne(n, !0);
1588
+ } else if (e.type === "sensor:exposed:changed") {
1589
+ let t = e.data, n = c.value.get(t.sensorId);
1590
+ n && (n.exposed.value = t.exposed);
1591
+ }
1592
+ }
1593
+ function z() {
1594
+ l?.(), l = void 0;
1595
+ for (let e of u.values()) e();
1596
+ u.clear(), b++, d.clear(), f.clear(), h.clear(), _.clear(), g.cancel(), g.reset();
1597
+ }
1598
+ function B(e) {
1599
+ if (e !== C) throw Error("sensor manager closed");
1600
+ }
1601
+ function ae() {
1602
+ w.schedule(() => {
1603
+ !x.value && !S && H().catch(() => {});
1604
+ });
1605
+ }
1606
+ async function V(e) {
1607
+ B(e), z();
1608
+ let r = c.value, i = [];
1609
+ try {
1610
+ l = await I(o, (e) => e.subscribe(t, (e) => {
1611
+ i ? i.push(e) : R(e);
1612
+ })), B(e);
1613
+ let [a, s] = await I(o, async (e) => {
1614
+ let t = e.createProxy(n);
1615
+ return Promise.all([t.getSensors(), t.getSensorStates()]);
1616
+ });
1617
+ B(e);
1618
+ let u = /* @__PURE__ */ new Map();
1619
+ for (let e of a) {
1620
+ let t = s[e.id] ?? {
1621
+ properties: {},
1622
+ capabilities: [],
1623
+ type: e.type
1624
+ }, n = r.get(e.id);
1625
+ n && hn(n, e) ? (n._update(e, t), u.set(e.id, n)) : u.set(e.id, gn(e, t, o));
1626
+ }
1627
+ c.value = u;
1628
+ for (let t of u.values()) E(t) && (await P(t.id), B(e));
1629
+ } catch (t) {
1630
+ throw z(), e === C && (c.value = r, ae()), t;
1631
+ }
1632
+ let a = i;
1633
+ i = void 0;
1634
+ for (let e of a) R(e);
1635
+ w.reset(), x.value = !0, re();
1636
+ }
1637
+ function H() {
1638
+ let e = V(C).finally(() => {
1639
+ S === e && (S = void 0);
1640
+ });
1641
+ return S = e, e;
1642
+ }
1643
+ async function oe() {
1644
+ if (!x.value) return S || H(), S;
1645
+ }
1646
+ async function se() {
1647
+ if (x.value = !1, S) {
1648
+ let e = S, t = C, n = e.catch(() => {}).then(() => V(t)).finally(() => {
1649
+ S === n && (S = void 0);
1650
+ });
1651
+ return S = n, n;
1652
+ }
1653
+ return H();
1654
+ }
1655
+ function ce() {
1656
+ C++, w.cancel(), z(), c.value = /* @__PURE__ */ new Map(), x.value = !1, S = void 0;
1657
+ }
1658
+ let le = s(() => Array.from(c.value.values()));
1659
+ return {
1660
+ sensors: le,
1661
+ isInitialized: s(() => x.value),
1662
+ getSensor(e) {
1663
+ return c.value.get(e);
1664
+ },
1665
+ getSensorsByType(e) {
1666
+ return le.value.filter((t) => t.type === e);
1667
+ },
1668
+ hasSensorType(e) {
1669
+ return le.value.some((t) => t.type === e);
1670
+ },
1671
+ async setDisplayName(e, t) {
1672
+ await I(o, (r) => r.createProxy(n).setDisplayName(e, t));
1673
+ },
1674
+ ensureInitialized: oe,
1675
+ reconnect: se,
1676
+ close: ce,
1677
+ retainLive: F,
1678
+ releaseLive: ie,
1679
+ whenRefreshed: N
1680
+ };
1681
+ }
1682
+ var Sn = T({
1683
+ releaseDelay: 1e3,
1684
+ onRelease: (e, t) => t.manager.close()
1685
+ });
1686
+ function Cn() {
1687
+ Sn.clear();
1688
+ }
1689
+ function wn() {
1690
+ Sn.forEachValue((e) => {
1691
+ e.manager.reconnect().catch(() => {});
1692
+ });
1693
+ }
1694
+ var Tn = "sensors";
1695
+ function En(e) {
1696
+ return Sn.acquire(Tn, () => ({ manager: xn(e) }));
1697
+ }
1698
+ function Dn(e) {
1699
+ let t = Sn.get(Tn);
1700
+ !t || e && t.manager !== e || Sn.release(Tn, t);
1701
+ }
1702
+ function On() {
1703
+ return {
1704
+ acquired: !1,
1705
+ cachedManager: void 0,
1706
+ liveScope: void 0
1707
+ };
1708
+ }
1709
+ function kn(e, t) {
1710
+ return e.sensors.value.filter((e) => e.assignedCameraIds.value.includes(t));
1711
+ }
1712
+ async function An(e, t, n, r, i, a) {
1713
+ if (n) {
1714
+ r.value = !0, i.value = void 0;
1715
+ try {
1716
+ Mn(e) || (e.cachedManager = En(t).manager, e.acquired = !0, e.liveScope = void 0), Nn(e, a), await e.cachedManager?.ensureInitialized(), await e.cachedManager?.whenRefreshed();
1717
+ } catch (e) {
1718
+ i.value = e instanceof Error ? e : Error(String(e));
1719
+ } finally {
1720
+ r.value = !1;
1721
+ }
1722
+ return e.cachedManager;
1723
+ }
1724
+ }
1725
+ function jn(e, t) {
1726
+ c(() => e.value?.isInitialized.value, (e) => {
1727
+ e && (t.value = void 0);
1728
+ });
1729
+ }
1730
+ function Mn(e) {
1731
+ return e.acquired && Sn.get(Tn)?.manager === e.cachedManager;
1732
+ }
1733
+ function Nn(e, t) {
1734
+ e.liveScope !== t && (e.cachedManager?.retainLive(t), e.liveScope && e.cachedManager?.releaseLive(e.liveScope), e.liveScope = t);
1735
+ }
1736
+ function Pn(e) {
1737
+ Mn(e) && (e.liveScope && e.cachedManager?.releaseLive(e.liveScope), Dn(e.cachedManager)), e.acquired = !1, e.cachedManager = void 0, e.liveScope = void 0;
1738
+ }
1739
+ function Fn(e) {
1740
+ let t = k(), { isConnected: n } = t, a = i([]), l = i(), u = r(!1), d = r(!1), f = r(), m = On();
1741
+ c([n, () => Qt(o(e))], async ([e, n]) => {
1742
+ if (e && n) {
1743
+ let r = await An(m, t, e, u, f, yn(n));
1744
+ l.value = r, a.value = r ? kn(r, n) : [], d.value = !0;
1745
+ } else Pn(m), a.value = [], l.value = void 0;
1746
+ }, { immediate: !0 });
1747
+ let h = s(() => {
1748
+ if (!l.value) return [];
1749
+ let t = Qt(o(e));
1750
+ return t ? kn(l.value, t) : [];
1751
+ });
1752
+ return jn(l, f), p(() => {
1753
+ Pn(m), a.value = [];
1754
+ }), {
1755
+ sensors: h,
1756
+ isLoading: s(() => u.value || !d.value),
1757
+ error: f
1758
+ };
1759
+ }
1760
+ function In() {
1761
+ let e = k(), { isConnected: t } = e, n = i(), a = r(!1), o = r(!1), l = r(), u = On();
1762
+ c([t], async ([t]) => {
1763
+ t ? (n.value = await An(u, e, t, a, l, vn), o.value = !0) : (Pn(u), n.value = void 0);
1764
+ }, { immediate: !0 });
1765
+ let d = s(() => n.value?.sensors.value ?? []);
1766
+ return jn(n, l), p(() => {
1767
+ Pn(u);
1768
+ }), {
1769
+ sensors: d,
1770
+ isLoading: s(() => a.value || !o.value),
1771
+ error: l
1772
+ };
1773
+ }
1774
+ function Ln(e, t, n) {
1775
+ let r = e.filter((e) => e.type === t);
1776
+ if (n) {
1777
+ let e = r.find((e) => e.pluginId === n);
1778
+ if (e) return e;
1779
+ }
1780
+ return r[0];
1781
+ }
1782
+ function Rn(e, t, n) {
1783
+ let a = k(), { isConnected: l } = a, u = i(), d = i(), f = r(!1), m = r(!1), h = r(), g = On();
1784
+ function _() {
1785
+ let r = Qt(o(e));
1786
+ if (d.value && r) return Ln(kn(d.value, r), t, o(n));
1787
+ }
1788
+ return c([
1789
+ l,
1790
+ () => Qt(o(e)),
1791
+ () => o(n)
1792
+ ], async ([e, t]) => {
1793
+ e && t ? (d.value = await An(g, a, e, f, h, yn(t)), u.value = _(), m.value = !0) : (Pn(g), d.value = void 0, u.value = void 0);
1794
+ }, { immediate: !0 }), c(_, (e) => {
1795
+ u.value = e;
1796
+ }), jn(d, h), p(() => {
1797
+ Pn(g), u.value = void 0;
1798
+ }), {
1799
+ sensor: u,
1800
+ isLoading: s(() => f.value || !m.value),
1801
+ error: h
1802
+ };
1803
+ }
1804
+ function zn(e, t) {
1805
+ return Rn(e, h.Motion, t);
1806
+ }
1807
+ function Bn(e, t) {
1808
+ return Rn(e, h.Object, t);
1809
+ }
1810
+ function Vn(e, t) {
1811
+ return Rn(e, h.Face, t);
1812
+ }
1813
+ function Hn(e, t) {
1814
+ return Rn(e, h.LicensePlate, t);
1815
+ }
1816
+ function Un(e) {
1817
+ return Rn(e, h.PTZ);
1818
+ }
1819
+ function Wn(e) {
1820
+ let t = k(), { isConnected: n } = t, a = i([]), l = i(), u = r(!1), d = r(!1), f = r(), m = On();
1821
+ c([n, () => Qt(o(e))], async ([e, n]) => {
1822
+ if (e && n) {
1823
+ let r = await An(m, t, e, u, f, yn(n));
1824
+ l.value = r, a.value = r ? kn(r, n).filter((e) => e.type === h.Classifier) : [], d.value = !0;
1825
+ } else Pn(m), a.value = [], l.value = void 0;
1826
+ }, { immediate: !0 });
1827
+ let g = s(() => {
1828
+ if (!l.value) return [];
1829
+ let t = Qt(o(e));
1830
+ return t ? kn(l.value, t).filter((e) => e.type === h.Classifier) : [];
1831
+ });
1832
+ return jn(l, f), p(() => {
1833
+ Pn(m), a.value = [];
1834
+ }), {
1835
+ sensors: g,
1836
+ isLoading: s(() => u.value || !d.value),
1837
+ error: f
1838
+ };
1839
+ }
1840
+ function Gn(e, t) {
1841
+ let n = i(), a = r(!1), o = r(), s = null;
1842
+ async function c() {
1843
+ if (s) return s;
1844
+ a.value = !0, o.value = void 0;
1845
+ try {
1846
+ return s = e.getConfig().finally(() => {
1847
+ s = null;
1848
+ }), n.value = await s, n.value;
1849
+ } catch (e) {
1850
+ o.value = e instanceof Error ? e : Error(String(e));
1851
+ return;
1852
+ } finally {
1853
+ a.value = !1;
1854
+ }
1855
+ }
1856
+ async function l(t, n) {
1857
+ a.value = !0, o.value = void 0;
1858
+ try {
1859
+ await e.setValue(t, n), await c();
1860
+ } catch (e) {
1861
+ throw o.value = e instanceof Error ? e : Error(String(e)), e;
1862
+ } finally {
1863
+ a.value = !1;
1864
+ }
1865
+ }
1866
+ async function u(t) {
1867
+ a.value = !0, o.value = void 0;
1868
+ try {
1869
+ await e.setConfig(t), await c();
1870
+ } catch (e) {
1871
+ throw o.value = e instanceof Error ? e : Error(String(e)), e;
1872
+ } finally {
1873
+ a.value = !1;
1874
+ }
1875
+ }
1876
+ async function d(t, n) {
1877
+ a.value = !0, o.value = void 0;
1878
+ try {
1879
+ let r = await e.submitValue(t, n);
1880
+ return (!r?.toast || r.toast.type !== "error") && await c(), r;
1881
+ } catch (e) {
1882
+ throw o.value = e instanceof Error ? e : Error(String(e)), e;
1883
+ } finally {
1884
+ a.value = !1;
1885
+ }
1886
+ }
1887
+ return {
1888
+ proxy: e,
1889
+ client: t,
1890
+ config: n,
1891
+ isLoading: a,
1892
+ error: o,
1893
+ getConfig: c,
1894
+ setValue: l,
1895
+ setConfig: u,
1896
+ submitValue: d
1897
+ };
1898
+ }
1899
+ var Kn = T({ releaseDelay: 1e3 });
1900
+ function qn(e) {
1901
+ return `plugin:${e}`;
1902
+ }
1903
+ function Jn(e, t) {
1904
+ return `plugin:${e}:camera:${t}`;
1905
+ }
1906
+ function Yn(e, t) {
1907
+ return `plugin:${e}:sensor:${t}`;
1908
+ }
1909
+ function Xn(e, t, n) {
1910
+ let r = Kn.get(e);
1911
+ return r && r.client !== t && Kn.forceRelease(e), Kn.acquire(e, () => Gn(n(), t));
1912
+ }
1913
+ function Zn(e, t) {
1914
+ Kn.release(e, t);
1915
+ }
1916
+ function Qn() {
1917
+ Kn.clear(), gt();
1918
+ }
1919
+ function $n() {
1920
+ return {
1921
+ currentStorageKey: void 0,
1922
+ cachedStorage: void 0,
1923
+ load: void 0,
1924
+ disposed: !1
1925
+ };
1926
+ }
1927
+ function er(e, t) {
1928
+ let n = e.load;
1929
+ n && (clearTimeout(n.timer), e.load = void 0, n.settle(t));
1930
+ }
1931
+ function tr(e, t, n) {
1932
+ er(e, void 0), e.currentStorageKey &&= (Zn(e.currentStorageKey, e.cachedStorage), void 0), t.value = !1, e.cachedStorage = void 0, n.value = void 0;
1933
+ }
1934
+ function nr(e, t, n, r, i) {
1935
+ (e.currentStorageKey !== t || e.cachedStorage?.client !== n) && (e.currentStorageKey && e.currentStorageKey !== t && (Zn(e.currentStorageKey, e.cachedStorage), r.value = void 0), e.currentStorageKey = t, e.cachedStorage = Xn(t, n, i));
1936
+ }
1937
+ var rr = [
1938
+ 2e3,
1939
+ 5e3,
1940
+ 1e4,
1941
+ 15e3,
1942
+ 15e3,
1943
+ 15e3,
1944
+ 15e3,
1945
+ 15e3
1946
+ ];
1947
+ function ir(e, t, n, r, i, a) {
1948
+ let o = 0;
1949
+ a && p(Ht(s));
1950
+ function s(t, n) {
1951
+ t === a?.pluginName() && (n ? (e.load || r.value) && c() : e.load?.timer && er(e, void 0));
1952
+ }
1953
+ function c() {
1954
+ if (!e.cachedStorage) return Promise.resolve(void 0);
1955
+ a && Xt(a.rpc), e.load && e.load.key !== e.currentStorageKey && er(e, void 0);
1956
+ let t = e.load ?? l();
1957
+ return t.retries = 0, t.rebound = !1, t.storage !== e.cachedStorage && (clearTimeout(t.timer), t.timer = void 0, u(t, !0)), t.result;
1958
+ }
1959
+ function l() {
1960
+ let t, n = new Promise((e) => t = e), r = {
1961
+ key: e.currentStorageKey,
1962
+ result: n,
1963
+ settle: t,
1964
+ storage: void 0,
1965
+ retries: 0,
1966
+ rebound: !1,
1967
+ timer: void 0
1968
+ };
1969
+ return e.load = r, r;
1970
+ }
1971
+ async function u(a, s) {
1972
+ let c = e.cachedStorage;
1973
+ if (!c) er(e, void 0);
1974
+ else {
1975
+ a.storage = c, s && (o++, n.value = !0);
1976
+ try {
1977
+ let n = await c.getConfig();
1978
+ if (e.load !== a || e.cachedStorage !== c) return;
1979
+ if (i && !a.rebound && w(c.error.value)) {
1980
+ if (a.rebound = !0, await i()) {
1981
+ if (e.load !== a) return;
1982
+ a.key = e.currentStorageKey, await u(a, s);
1983
+ return;
1984
+ }
1985
+ if (e.load !== a || e.cachedStorage !== c) return;
1986
+ }
1987
+ t.value = c.config.value, r.value = c.error.value, c.error.value ? d(a) : er(e, n);
1988
+ } finally {
1989
+ a.storage === c && (a.storage = void 0), s && --o === 0 && (n.value = !1);
1990
+ }
1991
+ }
1992
+ }
1993
+ function d(t) {
1994
+ let n = a?.pluginName(), r = n && Ut(n) ? void 0 : rr[t.retries++];
1995
+ r === void 0 ? er(e, void 0) : t.timer = setTimeout(() => {
1996
+ t.timer = void 0, t.key === e.currentStorageKey ? u(t, !1) : er(e, void 0);
1997
+ }, r);
1998
+ }
1999
+ async function f(i, a) {
2000
+ let o = e.cachedStorage;
2001
+ if (!o) throw Error("Storage not connected");
2002
+ n.value = !0, r.value = void 0;
2003
+ try {
2004
+ await o.setValue(i, a), e.cachedStorage === o && (t.value = o.config.value);
2005
+ } catch (e) {
2006
+ throw r.value = e instanceof Error ? e : Error(String(e)), e;
2007
+ } finally {
2008
+ n.value = !1;
2009
+ }
2010
+ }
2011
+ async function m(i) {
2012
+ let a = e.cachedStorage;
2013
+ if (!a) throw Error("Storage not connected");
2014
+ n.value = !0, r.value = void 0;
2015
+ try {
2016
+ await a.setConfig(i), e.cachedStorage === a && (t.value = a.config.value);
2017
+ } catch (e) {
2018
+ throw r.value = e instanceof Error ? e : Error(String(e)), e;
2019
+ } finally {
2020
+ n.value = !1;
2021
+ }
2022
+ }
2023
+ async function h(i, a) {
2024
+ let o = e.cachedStorage;
2025
+ if (!o) throw Error("Storage not connected");
2026
+ n.value = !0, r.value = void 0;
2027
+ try {
2028
+ let n = await o.submitValue(i, a);
2029
+ return e.cachedStorage === o && (t.value = o.config.value), n;
2030
+ } catch (e) {
2031
+ throw r.value = e instanceof Error ? e : Error(String(e)), e;
2032
+ } finally {
2033
+ n.value = !1;
2034
+ }
2035
+ }
2036
+ return {
2037
+ getConfig: c,
2038
+ setValue: f,
2039
+ setConfig: m,
2040
+ submitValue: h
2041
+ };
2042
+ }
2043
+ function ar(e) {
2044
+ let t = k(), { rpc: n, isConnected: a } = t, l = i(), u = r(!1), d = r(!1), f = r(), m = r(!1), h = $n(), g = ir(h, l, u, f, y, {
2045
+ rpc: n,
2046
+ pluginName: () => o(e)
2047
+ });
2048
+ function _(e, t) {
2049
+ nr(h, qn(e), t, l, () => {
2050
+ let n = M.pluginNamespaces(e);
2051
+ return t.createProxy(n.pluginStorageRpc);
2052
+ });
2053
+ }
2054
+ async function v(e) {
2055
+ let t = n.value;
2056
+ if (!t || !a.value) return !1;
2057
+ try {
2058
+ let r = await yt(n, e);
2059
+ if (h.disposed) return !1;
2060
+ if (!r) throw Error(`Plugin "${e}" not found`);
2061
+ return _(r, t), m.value = !0, !0;
2062
+ } catch (e) {
2063
+ return f.value = e instanceof Error ? e : Error(String(e)), m.value = !1, !1;
2064
+ }
2065
+ }
2066
+ async function y() {
2067
+ let t = o(e), r = h.cachedStorage;
2068
+ if (!t || !r) return !1;
2069
+ vt(t);
2070
+ let i = await yt(n, t).catch(() => void 0);
2071
+ if (!i || h.disposed || h.cachedStorage !== r) return !1;
2072
+ let a = h.currentStorageKey;
2073
+ return _(i, r.client), h.currentStorageKey !== a;
2074
+ }
2075
+ async function b() {
2076
+ let t = o(e);
2077
+ if (t && await v(t)) return g.getConfig();
2078
+ }
2079
+ async function x() {
2080
+ let t = o(e);
2081
+ a.value && t ? (await v(t), g.getConfig()) : tr(h, m, l), d.value = !0;
2082
+ }
2083
+ return c([a, () => o(e)], x, { immediate: !0 }), t.on("reconnected", x), p(() => {
2084
+ h.disposed = !0, t.off("reconnected", x), tr(h, m, l);
2085
+ }), {
2086
+ config: l,
2087
+ isLoading: s(() => u.value || !d.value),
2088
+ error: f,
2089
+ isConnected: m,
2090
+ getConfig: b,
2091
+ setValue: g.setValue,
2092
+ setConfig: g.setConfig,
2093
+ submitValue: g.submitValue
2094
+ };
2095
+ }
2096
+ function or(e, t) {
2097
+ let n = k(), { rpc: a, isConnected: l } = n, u = i(), d = r(!1), f = r(!1), m = r(), h = r(!1), g = $n(), _ = ir(g, u, d, m, b, {
2098
+ rpc: a,
2099
+ pluginName: () => o(t)
2100
+ });
2101
+ function v(e, t, n) {
2102
+ nr(g, Jn(e, t), n, u, () => {
2103
+ let r = M.pluginCameraNamespaces(e, t);
2104
+ return n.createProxy(r.cameraStorageRpc);
2105
+ });
2106
+ }
2107
+ async function y(e, t) {
2108
+ let n = a.value;
2109
+ if (!n || !l.value) return !1;
2110
+ try {
2111
+ let r = await yt(a, t);
2112
+ if (g.disposed) return !1;
2113
+ if (!r) throw Error(`Plugin "${t}" not found`);
2114
+ return v(r, e, n), h.value = !0, !0;
2115
+ } catch (e) {
2116
+ return m.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
2117
+ }
2118
+ }
2119
+ async function b() {
2120
+ let n = Qt(o(e)), r = o(t), i = g.cachedStorage;
2121
+ if (!n || !r || !i) return !1;
2122
+ vt(r);
2123
+ let s = await yt(a, r).catch(() => void 0);
2124
+ if (!s || g.disposed || g.cachedStorage !== i) return !1;
2125
+ let c = g.currentStorageKey;
2126
+ return v(s, n, i.client), g.currentStorageKey !== c;
2127
+ }
2128
+ async function x() {
2129
+ let n = Qt(o(e)), r = o(t);
2130
+ if (n && r && await y(n, r)) return _.getConfig();
2131
+ }
2132
+ async function S() {
2133
+ let n = Qt(o(e)), r = o(t);
2134
+ l.value && n && r ? (await y(n, r), _.getConfig()) : tr(g, h, u), f.value = !0;
2135
+ }
2136
+ return c([
2137
+ l,
2138
+ () => Qt(o(e)),
2139
+ () => o(t)
2140
+ ], S, { immediate: !0 }), n.on("reconnected", S), p(() => {
2141
+ g.disposed = !0, n.off("reconnected", S), tr(g, h, u);
2142
+ }), {
2143
+ config: u,
2144
+ isLoading: s(() => d.value || !f.value),
2145
+ error: m,
2146
+ isConnected: h,
2147
+ getConfig: x,
2148
+ setValue: _.setValue,
2149
+ setConfig: _.setConfig,
2150
+ submitValue: _.submitValue
2151
+ };
2152
+ }
2153
+ function sr(e, t) {
2154
+ let n = k(), { rpc: a, isConnected: l } = n, u = i(), d = r(!1), f = r(!1), m = r(), h = r(!1), g = $n(), _ = ir(g, u, d, m, void 0, {
2155
+ rpc: a,
2156
+ pluginName: () => {
2157
+ let e = o(t);
2158
+ return e ? _t(e) : void 0;
2159
+ }
2160
+ });
2161
+ function v(e, t) {
2162
+ let n = a.value;
2163
+ if (!n || !l.value) return !1;
2164
+ try {
2165
+ return nr(g, Yn(t, e), n, u, () => {
2166
+ let r = M.pluginSensorNamespaces(t, e);
2167
+ return n.createProxy(r.sensorStorageRpc);
2168
+ }), h.value = !0, !0;
2169
+ } catch (e) {
2170
+ return m.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
2171
+ }
2172
+ }
2173
+ async function y() {
2174
+ let n = o(e), r = o(t);
2175
+ if (n && r && v(n, r)) return _.getConfig();
2176
+ }
2177
+ function b() {
2178
+ let n = o(e), r = o(t);
2179
+ l.value && n && r ? (v(n, r), _.getConfig()) : tr(g, h, u), f.value = !0;
2180
+ }
2181
+ return c([
2182
+ l,
2183
+ () => o(e),
2184
+ () => o(t)
2185
+ ], b, { immediate: !0 }), n.on("reconnected", b), p(() => {
2186
+ g.disposed = !0, n.off("reconnected", b), tr(g, h, u);
2187
+ }), {
2188
+ config: u,
2189
+ isLoading: s(() => d.value || !f.value),
2190
+ error: m,
2191
+ isConnected: h,
2192
+ getConfig: y,
2193
+ setValue: _.setValue,
2194
+ setConfig: _.setConfig,
2195
+ submitValue: _.submitValue
2196
+ };
2197
+ }
2198
+ function cr() {
2199
+ Rt(), nt(), Qn(), Cn(), Ge(), Ct();
2200
+ }
2201
+ function lr() {
2202
+ Rt(), ut(), wn();
2203
+ }
2204
+ function ur() {
2205
+ Wt(), dt();
2206
+ }
2207
+ var dr = Symbol("camera-ui"), fr = new m("plugin");
2208
+ function pr(e) {
2209
+ return "rpc" in e && "isConnected" in e;
2210
+ }
2211
+ var mr = 4e3;
2212
+ function hr(e) {
2213
+ let { natsTransport: t, bulkTransport: n, target: a, wsTransport: o } = e, c = t.getClient() !== null, d = t.getClient(), f = null, p = !1, m = i(t.getClient() ?? void 0), h = r(t.getClient()?.isConnected ?? !1), g = r(void 0), _ = s(() => a.value?.endpoint.url), v = s(() => a.value?.tokens.access), y = s(() => void 0), b = /* @__PURE__ */ new Map();
2214
+ function x(e, t) {
2215
+ let n = b.get(e);
2216
+ n || (n = /* @__PURE__ */ new Set(), b.set(e, n)), n.add(t);
2217
+ }
2218
+ function S(e, t) {
2219
+ b.get(e)?.delete(t);
2220
+ }
2221
+ function C(e) {
2222
+ let t = b.get(e);
2223
+ if (t) for (let e of t) try {
2224
+ e();
2225
+ } catch (e) {
2226
+ fr.warn("context listener threw:", e);
2227
+ }
2228
+ }
2229
+ t.subscribeClient((e) => {
2230
+ if (e) {
2231
+ f !== null && (clearTimeout(f), f = null);
2232
+ let t = h.value, n = e !== d;
2233
+ d = e, m.value = e, h.value = !0, g.value = void 0, c && (!t || n || p) && re(m), !t || n ? (lr(), c && C("reconnected"), c = !0) : p && c && (ur(), C("reconnected")), p = !1;
2234
+ } else {
2235
+ if (p = !0, m.value = void 0, f !== null || !h.value) return;
2236
+ f = setTimeout(() => {
2237
+ f = null, h.value = !1, C("disconnected");
2238
+ }, mr);
2239
+ }
2240
+ }), t.on("auth-error", (e) => {
2241
+ g.value = Error(e.message ?? "auth-error");
2242
+ }), t.on("down", (e) => {
2243
+ g.value ||= Error(e.reason);
2244
+ }), t.on("up", () => {
2245
+ g.value = void 0;
2246
+ });
2247
+ let w;
2248
+ if (n) {
2249
+ let e = i();
2250
+ n.subscribeClient((t) => {
2251
+ e.value = t ?? void 0;
2252
+ }), w = e;
2253
+ }
2254
+ return l({
2255
+ rpc: m,
2256
+ bulkRpc: w,
2257
+ target: u(a),
2258
+ isConnected: u(h),
2259
+ endpoint: _,
2260
+ token: v,
2261
+ extraProxyQuery: y,
2262
+ error: u(g),
2263
+ wsTransport: o,
2264
+ on: x,
2265
+ off: S
2266
+ });
2267
+ }
2268
+ function gr(e) {
2269
+ return { install(t) {
2270
+ let n = pr(e) ? e : hr(e);
2271
+ t.provide(dr, n);
2272
+ } };
2273
+ }
2274
+ var _r = {
2275
+ standbyTimeout: 5e3,
2276
+ activityTimeout: 5e3,
2277
+ wakeTimeout: 3e4
2278
+ };
2279
+ function vr(e) {
2280
+ let { initialMode: t = "always-on", config: n = {}, onStreamStart: i, onStreamStop: a, isStreamPlaying: o } = e, s = {
2281
+ ..._r,
2282
+ ...n
2283
+ }, c = r(t), l = r(!1), u = r(!1), d, f, p = !1, m = !1;
2284
+ function h() {
2285
+ d &&= (clearTimeout(d), void 0);
2286
+ }
2287
+ function g() {
2288
+ f &&= (clearTimeout(f), void 0);
2289
+ }
2290
+ function _() {
2291
+ h(), g();
2292
+ }
2293
+ function v() {
2294
+ l.value || (l.value = !0, a());
2295
+ }
2296
+ function y() {
2297
+ l.value && (l.value = !1, i());
2298
+ }
2299
+ function b() {
2300
+ switch (_(), c.value) {
2301
+ case "always-on":
2302
+ l.value = !1, o() || i();
2303
+ break;
2304
+ case "standby":
2305
+ l.value || (o() || i(), x());
2306
+ break;
2307
+ case "activity": u.value ? (l.value = !1, o() || i()) : d = setTimeout(() => {
2308
+ c.value === "activity" && !u.value && v();
2309
+ }, s.activityTimeout);
2310
+ }
2311
+ }
2312
+ function x() {
2313
+ if (g(), p) return;
2314
+ let e = o() ? s.standbyTimeout : s.wakeTimeout;
2315
+ f = setTimeout(() => {
2316
+ c.value === "standby" && v();
2317
+ }, e);
2318
+ }
2319
+ function S(e) {
2320
+ c.value !== e && (c.value = e, m && b());
2321
+ }
2322
+ function C() {
2323
+ m = !0, (c.value === "standby" || c.value === "activity" && !u.value) && !o() ? (_(), v()) : b();
2324
+ }
2325
+ function w(e) {
2326
+ c.value === "activity" && (e ? (u.value = !0, h(), l.value ? y() : o() || i()) : (u.value = !1, h(), d = setTimeout(() => {
2327
+ u.value || v();
2328
+ }, s.activityTimeout)));
2329
+ }
2330
+ function T() {
2331
+ if (l.value) switch (y(), c.value) {
2332
+ case "standby":
2333
+ x();
2334
+ break;
2335
+ case "activity": h(), u.value || (d = setTimeout(() => {
2336
+ v();
2337
+ }, s.activityTimeout));
2338
+ }
2339
+ }
2340
+ function E() {
2341
+ m && c.value === "standby" && !l.value && x();
2342
+ }
2343
+ function D(e) {
2344
+ p !== e && (p = e, e ? g() : E());
2345
+ }
2346
+ function O() {
2347
+ _();
2348
+ }
2349
+ return {
2350
+ mode: c,
2351
+ inStandby: l,
2352
+ hasActivity: u,
2353
+ setMode: S,
2354
+ engage: C,
2355
+ reportActivity: w,
2356
+ resumeFromStandby: T,
2357
+ resetIdleTimer: E,
2358
+ setKeepAwake: D,
2359
+ dispose: O
2360
+ };
2361
+ }
2362
+ var Z = {
2363
+ WEBRTC: {
2364
+ RECONNECT_DELAY: 1e3,
2365
+ CONNECT_TIMEOUT: 1e4,
2366
+ WS_CONNECT_TIMEOUT: 5e3,
2367
+ ICE_SERVERS: [{ urls: "stun:stun.l.google.com:19302" }]
2368
+ },
2369
+ MSE: {
2370
+ BUFFER_SIZE: 2097152,
2371
+ BUFFER_WINDOW: 5,
2372
+ MAX_BUFFER_WINDOW: 60
2373
+ },
2374
+ CODECS: {
2375
+ DEFAULT: [
2376
+ "avc1.640029",
2377
+ "avc1.64002A",
2378
+ "avc1.640033",
2379
+ "hvc1.1.6.L153.B0",
2380
+ "mp4a.40.2",
2381
+ "mp4a.40.5",
2382
+ "flac",
2383
+ "opus"
2384
+ ],
2385
+ WEBRTC_VIDEO: [
2386
+ "H264",
2387
+ "VP8",
2388
+ "VP9"
2389
+ ],
2390
+ WEBRTC_AUDIO: [
2391
+ "opus",
2392
+ "G722",
2393
+ "PCMU",
2394
+ "PCMA"
2395
+ ]
2396
+ }
2397
+ };
2398
+ function yr(e) {
2399
+ if (e.byteLength < 2) return !1;
2400
+ let t = new Uint8Array(e, 0, 2);
2401
+ return t[0] === 255 && t[1] === 216;
2402
+ }
2403
+ function br(e) {
2404
+ let { signal: t } = e, n = document.createElement("canvas"), r = n.getContext("2d", { alpha: !1 }), i = n.captureStream(), a = 0, o = !1, s, c = !1;
2405
+ function l(e) {
2406
+ c || t.aborted || (o ? s = e : u(e));
2407
+ }
2408
+ async function u(e) {
2409
+ o = !0;
2410
+ try {
2411
+ let t = await createImageBitmap(new Blob([e], { type: "image/jpeg" }));
2412
+ c || d(t), t.close();
2413
+ } catch {}
2414
+ o = !1;
2415
+ let t = s;
2416
+ s = void 0, t && !c && u(t);
2417
+ }
2418
+ function d(e) {
2419
+ r && ((n.width !== e.width || n.height !== e.height) && (n.width = e.width, n.height = e.height), r.drawImage(e, 0, 0), a++);
2420
+ }
2421
+ function f() {
2422
+ c = !0, s = void 0;
2423
+ for (let e of i.getTracks()) e.stop();
2424
+ }
2425
+ return t.addEventListener("abort", f, { once: !0 }), {
2426
+ stream: i,
2427
+ get frames() {
2428
+ return a;
2429
+ },
2430
+ appendFrame: l,
2431
+ close: f
2432
+ };
2433
+ }
2434
+ var xr = 1836019574, Sr = 1953653099, Cr = 1953196132, wr = 1835297121, Tr = 1835296868, Er = 1751411826, Dr = 1836475768, Or = 1953654136, kr = 1836019558, Ar = 1953653094, jr = 1952868452, Mr = 1952867444, Nr = 1953658222, Pr = 1986618469, Fr = 65536, Ir = 4096;
2435
+ function Lr() {
2436
+ let e = /* @__PURE__ */ new Map(), t;
2437
+ function n(n, r, i) {
2438
+ let a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
2439
+ Rr(n, r, i, (e, t, r) => {
2440
+ if (e === Sr) {
2441
+ let e = {
2442
+ id: -1,
2443
+ timescale: 0,
2444
+ video: !1
2445
+ };
2446
+ Rr(n, t, r, (t, r, i) => {
2447
+ t === Cr && r + 24 <= i ? e.id = n.getUint32(r + (n.getUint8(r) === 1 ? 20 : 12)) : t === wr && Rr(n, r, i, (t, r, i) => {
2448
+ t === Tr && r + 24 <= i ? e.timescale = n.getUint32(r + (n.getUint8(r) === 1 ? 20 : 12)) : t === Er && r + 12 <= i && (e.video = n.getUint32(r + 8) === Pr);
2449
+ });
2450
+ }), e.id >= 0 && e.timescale > 0 && a.set(e.id, e);
2451
+ } else e === Dr && Rr(n, t, r, (e, t, r) => {
2452
+ e === Or && t + 24 <= r && o.set(n.getUint32(t + 4), {
2453
+ duration: n.getUint32(t + 12),
2454
+ flags: n.getUint32(t + 20)
2455
+ });
2456
+ });
2457
+ }), e.clear();
2458
+ for (let [t, { timescale: n, video: r }] of a) {
2459
+ let i = o.get(t);
2460
+ e.set(t, {
2461
+ timescale: n,
2462
+ video: r,
2463
+ defaultDuration: i?.duration ?? 0,
2464
+ defaultFlags: i?.flags ?? 0
2465
+ });
2466
+ }
2467
+ t = [...e.values()].some((e) => e.video);
2468
+ }
2469
+ function r(t, n, r, i) {
2470
+ let a = {
2471
+ duration: 0,
2472
+ flags: 0
2473
+ };
2474
+ Rr(t, n, r, (n, r, o) => {
2475
+ if (n === jr && r + 8 <= o) {
2476
+ let n = e.get(t.getUint32(r + 4)), i = t.getUint32(r) & 16777215, s = 8 + (i & 1 ? 8 : 0) + (i & 2 ? 4 : 0) + (i & 8 ? 4 : 0) + (i & 16 ? 4 : 0) + (i & 32 ? 4 : 0);
2477
+ if (!n?.video || r + s > o) return;
2478
+ let c = r + 8 + (i & 1 ? 8 : 0) + (i & 2 ? 4 : 0);
2479
+ a.duration = n.defaultDuration, a.flags = n.defaultFlags, i & 8 && (a.duration = t.getUint32(c), c += 4), i & 16 && (c += 4), i & 32 && (a.flags = t.getUint32(c)), a.track = n;
2480
+ } else n === Mr && r + 8 <= o ? t.getUint8(r) === 0 ? a.baseTime = t.getUint32(r + 4) : r + 12 <= o && (a.baseTime = t.getUint32(r + 4) * 2 ** 32 + t.getUint32(r + 8)) : n === Nr && zr(a) && (a.baseTime = Br(t, r, o, a, i));
2481
+ });
2482
+ }
2483
+ function i(e, i) {
2484
+ let a = new DataView(e);
2485
+ Rr(a, 0, a.byteLength, (e, o, s) => {
2486
+ e === xr ? n(a, o, s) : e === kr && t && Rr(a, o, s, (e, t, n) => {
2487
+ e === Ar && r(a, t, n, i);
2488
+ });
2489
+ });
2490
+ }
2491
+ return {
2492
+ get hasVideo() {
2493
+ return t;
2494
+ },
2495
+ scan: i
2496
+ };
2497
+ }
2498
+ function Rr(e, t, n, r) {
2499
+ let i = t;
2500
+ for (; i + 8 <= n;) {
2501
+ let t = e.getUint32(i), a = 8;
2502
+ if (t === 1) {
2503
+ if (i + 16 > n) return;
2504
+ t = e.getUint32(i + 8) * 2 ** 32 + e.getUint32(i + 12), a = 16;
2505
+ } else t === 0 && (t = n - i);
2506
+ if (t < a || i + t > n) return;
2507
+ r(e.getUint32(i + 4), i + a, i + t), i += t;
2508
+ }
2509
+ }
2510
+ function zr(e) {
2511
+ return e.track !== void 0 && e.baseTime !== void 0;
2512
+ }
2513
+ function Br(e, t, n, r, i) {
2514
+ if (t + 8 > n) return r.baseTime;
2515
+ let a = e.getUint8(t), o = e.getUint32(t) & 16777215, s = e.getUint32(t + 4), c = t + 8;
2516
+ o & 1 && (c += 4);
2517
+ let l;
2518
+ if (o & 4) {
2519
+ if (c + 4 > n) return r.baseTime;
2520
+ l = e.getUint32(c), c += 4;
2521
+ }
2522
+ let u = (o & 256 ? 4 : 0) + (o & 512 ? 4 : 0) + (o & 1024 ? 4 : 0) + (o & 2048 ? 4 : 0);
2523
+ if (s > Ir || c + s * u > n) return r.baseTime;
2524
+ let d = r.baseTime;
2525
+ for (let t = 0; t < s; t++) {
2526
+ let n = r.duration, s = t === 0 && l !== void 0 ? l : r.flags, u = 0;
2527
+ o & 256 && (n = e.getUint32(c), c += 4), o & 512 && (c += 4), o & 1024 && (s = e.getUint32(c), c += 4), o & 2048 && (u = a === 0 ? e.getUint32(c) : e.getInt32(c), c += 4), s & Fr || i((d + u) / r.track.timescale), d += n;
2528
+ }
2529
+ return d;
2530
+ }
2531
+ var Vr = "hvc1.1.6.L153.B0";
2532
+ function Hr() {
2533
+ return navigator.userAgent.match(/version\/(\d+)/i);
2534
+ }
2535
+ function Ur() {
2536
+ return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
2537
+ }
2538
+ function Wr() {
2539
+ return globalThis.Capacitor?.isNativePlatform?.() ? !0 : typeof navigator > "u" ? !1 : Ur() || /Macintosh/i.test(navigator.userAgent) && navigator.maxTouchPoints > 1;
2540
+ }
2541
+ function Gr() {
2542
+ let e = [...Z.CODECS.DEFAULT], t = Hr();
2543
+ if (t?.[1]) {
2544
+ let n = parseInt(t[1], 10);
2545
+ if (n < 13) {
2546
+ let t = e.indexOf("mp4a.40.2");
2547
+ t > -1 && e.splice(t);
2548
+ } else if (n < 14) {
2549
+ let t = e.indexOf("flac");
2550
+ t > -1 && e.splice(t);
2551
+ } else {
2552
+ let t = e.indexOf("opus");
2553
+ t > -1 && e.splice(t);
2554
+ }
2555
+ }
2556
+ return e;
2557
+ }
2558
+ function Kr(e, t) {
2559
+ return e.filter((e) => t(`video/mp4; codecs="${e}"`)).join(",");
2560
+ }
2561
+ function qr(e) {
2562
+ return Z.CODECS.WEBRTC_AUDIO.includes(e);
2563
+ }
2564
+ function Jr(e) {
2565
+ return Z.CODECS.WEBRTC_VIDEO.includes(e) ? !0 : e === "H265" && ei();
2566
+ }
2567
+ var Yr, Xr;
2568
+ function Zr(e) {
2569
+ if (e === "auto") return Zr("webrtc") || Zr("mse");
2570
+ if (e === "mse") return Yr === void 0 && (Yr = !!ri()?.isTypeSupported(`video/mp4; codecs="${Vr}"`)), Yr;
2571
+ if (Xr === void 0) try {
2572
+ Xr = !!(RTCRtpReceiver?.getCapabilities("video")?.codecs)?.some((e) => e.mimeType.toLowerCase().includes("h265") || e.mimeType.toLowerCase().includes("hevc"));
2573
+ } catch {
2574
+ Xr = !1;
2575
+ }
2576
+ return Xr;
2577
+ }
2578
+ function Qr() {
2579
+ return typeof createImageBitmap == "function" && typeof HTMLCanvasElement == "function" && typeof HTMLCanvasElement.prototype.captureStream == "function";
2580
+ }
2581
+ function $r(e) {
2582
+ e === "mse" ? Yr = !1 : Xr = !1;
2583
+ }
2584
+ function ei() {
2585
+ return Zr("webrtc");
2586
+ }
2587
+ function ti(e) {
2588
+ let t = e.audio.filter((e) => e.direction === "sendonly"), n = e.video.filter((e) => e.direction === "sendonly"), r = t.length === 0 || t.some((e) => qr(e.codec)), i = n.length === 0 || n.some((e) => Jr(e.codec)), a = [];
2589
+ return r || a.push(...t.map((e) => e.codec)), i || a.push(...n.map((e) => e.codec)), {
2590
+ compatible: r && i,
2591
+ audioCompatible: r,
2592
+ videoCompatible: i,
2593
+ incompatibleCodecs: a
2594
+ };
2595
+ }
2596
+ function ni() {
2597
+ return "ManagedMediaSource" in window;
2598
+ }
2599
+ function ri() {
2600
+ if (ni()) return window.ManagedMediaSource;
2601
+ if ("MediaSource" in window) return window.MediaSource;
2602
+ }
2603
+ function ii(e) {
2604
+ return e ? typeof document < "u" && "pictureInPictureElement" in document && document.pictureInPictureElement === e || e.webkitPresentationMode === "picture-in-picture" : !1;
2605
+ }
2606
+ function ai(e, t) {
2607
+ return new Promise((n, r) => {
2608
+ if (t.aborted) {
2609
+ r(new DOMException("Aborted", "AbortError"));
2610
+ return;
2611
+ }
2612
+ let i = setTimeout(n, e);
2613
+ t.addEventListener("abort", () => {
2614
+ clearTimeout(i), r(new DOMException("Aborted", "AbortError"));
2615
+ }, { once: !0 });
2616
+ });
2617
+ }
2618
+ var oi = .001, si = 256, ci = .3, li = 262144;
2619
+ function ui(e) {
2620
+ let { videoElement: t, onReady: n, onFirstData: r, onError: i, signal: a } = e, o = null, s = null, c = null, l = !1, u = !1, d = !1, f = /* @__PURE__ */ new Uint8Array(), p = 0, m = [], h = Gr(), g = Lr(), _ = [];
2621
+ function v() {
2622
+ if (a.aborted) return;
2623
+ let e = ri();
2624
+ if (!e) {
2625
+ A(/* @__PURE__ */ Error("MediaSource not supported"), "setup");
2626
+ return;
2627
+ }
2628
+ o = new e();
2629
+ let n = ni(), r = t.src;
2630
+ return o.addEventListener("sourceopen", () => {
2631
+ a.aborted || !n && r && r.startsWith("blob:") && r !== t.src && URL.revokeObjectURL(r);
2632
+ }, { once: !0 }), n ? (t.disableRemotePlayback = !0, t.srcObject = o) : (c = URL.createObjectURL(o), t.src = c, t.srcObject = null), t.addEventListener("error", k), Kr(h, e.isTypeSupported.bind(e));
2633
+ }
2634
+ function y(e) {
2635
+ if (a.aborted || !o) return;
2636
+ if (o.readyState !== "open") {
2637
+ o.addEventListener("sourceopen", () => {
2638
+ a.aborted || y(e);
2639
+ }, { once: !0 });
2640
+ return;
2641
+ }
2642
+ p = 0, _.length = 0;
2643
+ let t = ri();
2644
+ if (t && !t.isTypeSupported(e)) A(/* @__PURE__ */ Error(`MIME type not supported: ${e}`), "setup");
2645
+ else try {
2646
+ if (s = o.addSourceBuffer(e), s.mode = "segments", s.addEventListener("updateend", b), s.addEventListener("error", O), l = !0, m.length > 0) {
2647
+ for (let e of m) x(e);
2648
+ m.length = 0;
2649
+ }
2650
+ if (d || a.aborted) return;
2651
+ n();
2652
+ } catch (e) {
2653
+ A(e, l ? "runtime" : "setup");
2654
+ }
2655
+ }
2656
+ function b() {
2657
+ if (!a.aborted && !d && s && o) {
2658
+ if (!s.updating && p > 0) try {
2659
+ s.appendBuffer(f.subarray(0, p)), p = 0;
2660
+ } catch (e) {
2661
+ if (!C(e)) {
2662
+ A(e, "runtime");
2663
+ return;
2664
+ }
2665
+ }
2666
+ if (!s.updating && s.buffered?.length) {
2667
+ let e = s.buffered.end(s.buffered.length - 1), n = s.buffered.start(0), i = Z.MSE.BUFFER_WINDOW;
2668
+ u || (u = !0, r());
2669
+ let a = E(Math.min(t.currentTime, e) - i);
2670
+ if (e - n > Z.MSE.MAX_BUFFER_WINDOW) {
2671
+ let t = E(e - i);
2672
+ a = t !== void 0 && t > n + oi ? t : e - i;
2673
+ }
2674
+ if (a !== void 0 && a > n + oi) {
2675
+ try {
2676
+ s.remove(n, a - oi), o.setLiveSeekableRange(a, e);
2677
+ } catch {}
2678
+ T(a);
2679
+ }
2680
+ if (t.currentTime < e - i) {
2681
+ let n = D(e - i, e);
2682
+ n > t.currentTime && (t.currentTime = n);
2683
+ }
2684
+ let c = e - t.currentTime;
2685
+ c > 1 ? t.playbackRate = 1.1 : c < .1 ? t.playbackRate = .9 : t.playbackRate = 1;
2686
+ }
2687
+ }
2688
+ }
2689
+ function x(e) {
2690
+ if (!(a.aborted || d)) {
2691
+ if (!s) m.push(e);
2692
+ else if (o?.readyState === "closed" || o?.readyState === "ended") A(/* @__PURE__ */ Error(`MediaSource ${o.readyState}`), "runtime");
2693
+ else if (g.scan(e, w), s.updating || p > 0) {
2694
+ if (!S(new Uint8Array(e))) {
2695
+ p = 0, A(/* @__PURE__ */ Error("MSE pending buffer overflow"), "runtime");
2696
+ return;
2697
+ }
2698
+ } else try {
2699
+ s.appendBuffer(e);
2700
+ } catch (t) {
2701
+ C(t) ? S(new Uint8Array(e)) : A(t, "runtime");
2702
+ }
2703
+ }
2704
+ }
2705
+ function S(e) {
2706
+ let t = p + e.byteLength;
2707
+ if (t > Z.MSE.BUFFER_SIZE) return !1;
2708
+ if (t > f.byteLength) {
2709
+ let e = Math.max(f.byteLength, li);
2710
+ for (; e < t;) e *= 2;
2711
+ let n = new Uint8Array(Math.min(e, Z.MSE.BUFFER_SIZE));
2712
+ n.set(f.subarray(0, p)), f = n;
2713
+ }
2714
+ return f.set(e, p), p = t, !0;
2715
+ }
2716
+ function C(e) {
2717
+ if (e?.name !== "QuotaExceededError" || !s || s.updating || !s.buffered?.length) return !1;
2718
+ try {
2719
+ let e = s.buffered.start(0), n = s.buffered.end(s.buffered.length - 1), r = E(Math.min(t.currentTime, n)) ?? Math.max(e + 1, n - Z.MSE.BUFFER_WINDOW);
2720
+ return r <= e + oi ? !1 : (s.remove(e, r - oi), T(r), !0);
2721
+ } catch {
2722
+ return !1;
2723
+ }
2724
+ }
2725
+ function w(e) {
2726
+ for (; _.length && _[_.length - 1] >= e;) _.pop();
2727
+ _.push(e), _.length > si && _.shift();
2728
+ }
2729
+ function T(e) {
2730
+ for (; _.length && _[0] < e;) _.shift();
2731
+ }
2732
+ function E(e) {
2733
+ if (g.hasVideo === !1) return e;
2734
+ for (let t = _.length - 1; t >= 0; t--) if (_[t] <= e) return _[t];
2735
+ }
2736
+ function D(e, t) {
2737
+ if (!g.hasVideo) return e;
2738
+ let n = e;
2739
+ for (let r of _) if (r > t || (n = r, r >= e)) break;
2740
+ return n;
2741
+ }
2742
+ function O() {
2743
+ A(/* @__PURE__ */ Error("SourceBuffer error"), "runtime");
2744
+ }
2745
+ function k() {
2746
+ let e = t.error;
2747
+ A(Error(e?.message || `Video element error ${e?.code ?? "unknown"}`), "runtime");
2748
+ }
2749
+ function A(e, t) {
2750
+ d || a.aborted || (d = !0, i(e instanceof Error ? e : Error(String(e)), t));
2751
+ }
2752
+ function j() {
2753
+ if (t.removeEventListener("error", k), s) {
2754
+ if (s.removeEventListener("updateend", b), s.removeEventListener("error", O), o?.readyState === "open") try {
2755
+ o.removeSourceBuffer(s);
2756
+ } catch {}
2757
+ s = null;
2758
+ }
2759
+ if (o?.readyState === "open") try {
2760
+ o.endOfStream();
2761
+ } catch {}
2762
+ o = null, c &&= (URL.revokeObjectURL(c), null), l = !1, u = !1, p = 0, m.length = 0, _.length = 0;
2763
+ }
2764
+ return a.addEventListener("abort", j, { once: !0 }), {
2765
+ get mediaSource() {
2766
+ return o;
2767
+ },
2768
+ get sourceBuffer() {
2769
+ return s;
2770
+ },
2771
+ get isReady() {
2772
+ return l;
2773
+ },
2774
+ setup: v,
2775
+ initializeBuffer: y,
2776
+ appendBuffer: x,
2777
+ close: j
2778
+ };
2779
+ }
2780
+ function di(e) {
2781
+ if (e.buffered.length > 0) {
2782
+ let t = e.buffered.end(e.buffered.length - 1);
2783
+ t - e.currentTime > 1 && (e.currentTime = t - ci);
2784
+ }
2785
+ }
2786
+ async function fi(e) {
2787
+ try {
2788
+ await e.play();
2789
+ } catch {
2790
+ e.muted || (e.muted = !0, await fi(e));
2791
+ }
2792
+ }
2793
+ function pi(e, t, n) {
2794
+ let r = new RTCPeerConnection({
2795
+ bundlePolicy: "max-bundle",
2796
+ iceServers: [...Z.WEBRTC.ICE_SERVERS]
2797
+ });
2798
+ return r.onicecandidate = (r) => {
2799
+ if (e.aborted || n && r.candidate?.protocol === "udp") return;
2800
+ let i = r.candidate?.toJSON().candidate ?? "";
2801
+ i && t(i);
2802
+ }, r;
2803
+ }
2804
+ async function mi(e, t, n) {
2805
+ !t.aborted && e && await e.setRemoteDescription({
2806
+ type: "answer",
2807
+ sdp: n
2808
+ });
2809
+ }
2810
+ async function hi(e, t, n, r) {
2811
+ !t.aborted && e && (r && n.includes(" udp ") || await e.addIceCandidate({
2812
+ candidate: n,
2813
+ sdpMid: "0"
2814
+ }));
2815
+ }
2816
+ async function gi(e, t, n) {
2817
+ if (!t.aborted && e) try {
2818
+ await e.sender.replaceTrack(n);
2819
+ } catch {}
2820
+ }
2821
+ function _i(e) {
2822
+ e.micTransceiver &&= (e.micTransceiver.sender.replaceTrack(null).catch(() => {}), null), e.pc &&= (e.pc.getTransceivers().forEach((e) => e.sender?.track?.stop()), e.pc.close(), null), e.isConnected = !1;
2823
+ }
2824
+ function vi(e) {
2825
+ let { mode: t, onConnected: n, onDisconnected: r, onFailed: i, onCandidate: a, signal: o } = e, s = {
2826
+ pc: null,
2827
+ micTransceiver: null,
2828
+ isConnected: !1
2829
+ }, c = t === "webrtc/tcp";
2830
+ function l() {
2831
+ let e = pi(o, a, c);
2832
+ return e.onconnectionstatechange = () => {
2833
+ if (o.aborted) return;
2834
+ let t = e.connectionState;
2835
+ if (t === "connected") {
2836
+ s.isConnected = !0;
2837
+ let t = new MediaStream(e.getTransceivers().filter((e) => e.currentDirection === "recvonly").map((e) => e.receiver.track));
2838
+ n(t);
2839
+ } else t === "failed" ? (s.isConnected = !1, i()) : t === "disconnected" && (s.isConnected = !1, r());
2840
+ }, e.addTransceiver("video", { direction: "recvonly" }), e.addTransceiver("audio", { direction: "recvonly" }), e;
2841
+ }
2842
+ async function u() {
2843
+ if (o.aborted) return;
2844
+ s.pc = l();
2845
+ let e = await s.pc.createOffer();
2846
+ return await s.pc.setLocalDescription(e), e.sdp;
2847
+ }
2848
+ function d() {
2849
+ _i(s);
2850
+ }
2851
+ return o.addEventListener("abort", d, { once: !0 }), {
2852
+ get pc() {
2853
+ return s.pc;
2854
+ },
2855
+ get isConnected() {
2856
+ return s.isConnected;
2857
+ },
2858
+ createOffer: u,
2859
+ handleAnswer: (e) => mi(s.pc, o, e),
2860
+ handleCandidate: (e) => hi(s.pc, o, e, c),
2861
+ close: d
2862
+ };
2863
+ }
2864
+ function yi(e) {
2865
+ let { filterUdp: t, onConnected: n, onFailed: r, onCandidate: i, signal: a } = e, o = {
2866
+ pc: null,
2867
+ micTransceiver: null,
2868
+ isConnected: !1
2869
+ }, s = !1, c = [];
2870
+ function l(e) {
2871
+ s ? i(e) : c.push(e);
2872
+ }
2873
+ async function u(e) {
2874
+ if (!a.aborted && o.pc) {
2875
+ s = !0;
2876
+ for (let e of c.splice(0)) i(e);
2877
+ await o.pc.setRemoteDescription({
2878
+ type: "answer",
2879
+ sdp: e
2880
+ });
2881
+ }
2882
+ }
2883
+ function d() {
2884
+ let e = pi(a, l, t);
2885
+ return e.onconnectionstatechange = () => {
2886
+ if (a.aborted) return;
2887
+ let t = e.connectionState;
2888
+ t === "connected" ? (o.isConnected = !0, n()) : t === "disconnected" ? o.isConnected = !1 : t === "failed" && (o.isConnected = !1, r());
2889
+ }, o.micTransceiver = e.addTransceiver("audio", { direction: "sendonly" }), e;
2890
+ }
2891
+ async function f() {
2892
+ if (a.aborted) return;
2893
+ o.pc = d();
2894
+ let e = await o.pc.createOffer();
2895
+ return await o.pc.setLocalDescription(e), e.sdp;
2896
+ }
2897
+ function p() {
2898
+ _i(o);
2899
+ }
2900
+ return a.addEventListener("abort", p, { once: !0 }), {
2901
+ get isConnected() {
2902
+ return o.isConnected;
2903
+ },
2904
+ createOffer: f,
2905
+ handleAnswer: u,
2906
+ handleCandidate: (e) => hi(o.pc, a, e, t),
2907
+ setMicrophoneTrack: (e) => gi(o.micTransceiver, a, e),
2908
+ close: p
2909
+ };
2910
+ }
2911
+ async function bi(e, t) {
2912
+ switch (t.type) {
2913
+ case "webrtc/answer":
2914
+ await e.handleAnswer(t.value);
2915
+ break;
2916
+ case "webrtc/candidate": t.value && await e.handleCandidate(t.value);
2917
+ }
2918
+ }
2919
+ var Q = new m("StreamConnection"), xi = /mp4a|opus|flac|mp3/i, Si = 1e3, Ci = 3e4, wi = 3e4, Ti = 15e3, Ei = 1e3, Di = 3e3, Oi = 15e3, ki = 2, Ai = 2e3;
2920
+ function ji() {
2921
+ return typeof document < "u" && document.visibilityState === "hidden";
2922
+ }
2923
+ function Mi(e) {
2924
+ return typeof e.getVideoPlaybackQuality == "function" ? e.getVideoPlaybackQuality().totalVideoFrames : void 0;
2925
+ }
2926
+ function Ni(e) {
2927
+ return e * (1 - Math.random() / 2);
2928
+ }
2929
+ var Pi = class {
2930
+ status;
2931
+ activeMode;
2932
+ requestedMode;
2933
+ activeResolution;
2934
+ requestedResolution;
2935
+ degradedFrom;
2936
+ degradeReason;
2937
+ source;
2938
+ hasVideo;
2939
+ hasAudio;
2940
+ hasBackchannel;
2941
+ isPlaying;
2942
+ stalled;
2943
+ error;
2944
+ probeInfo;
2945
+ muted;
2946
+ paused;
2947
+ nativeWidth;
2948
+ nativeHeight;
2949
+ camera;
2950
+ videoElement;
2951
+ containerElement;
2952
+ target;
2953
+ isReady;
2954
+ triedSourceIds = /* @__PURE__ */ new Set();
2955
+ options;
2956
+ wsTransport;
2957
+ scope = a(!0);
2958
+ stopsWhenHidden = Wr();
2959
+ connectionGeneration = 0;
2960
+ abortController = new AbortController();
2961
+ probedSourceId;
2962
+ probeInFlight;
2963
+ probing;
2964
+ wasPausedByVisibility = !1;
2965
+ hiddenPauseRan = !1;
2966
+ disarmPipWatch = null;
2967
+ wsHandle;
2968
+ wsOpenedAt = 0;
2969
+ webrtcHandler;
2970
+ mseHandler;
2971
+ mjpegHandler;
2972
+ audioHandler;
2973
+ audioElement;
2974
+ cancelFirstFrameWatch;
2975
+ awaitingWebRTCFrame = !1;
2976
+ backchannelHandler;
2977
+ pendingMicTrack = null;
2978
+ offerPeer;
2979
+ answeredPeer;
2980
+ lastMediaStream = null;
2981
+ stopWatchers = [];
2982
+ failures = 0;
2983
+ playingSince;
2984
+ connectToken;
2985
+ rejectedToken;
2986
+ lastError;
2987
+ mseRejected = !1;
2988
+ mseAnswerPending = !1;
2989
+ mseStopPending = !1;
2990
+ healthInterval;
2991
+ lastProgressAt = 0;
2992
+ lastMediaTime = 0;
2993
+ lastFrameCount;
2994
+ frameCounterLive = !1;
2995
+ offTabVisible;
2996
+ offTabPaused;
2997
+ onVideoPauseBound;
2998
+ onVideoPlayBound;
2999
+ onVideoResizeBound;
3000
+ startWsConnectTimeout;
3001
+ stopWsConnectTimeout;
3002
+ startConnectTimeout;
3003
+ stopConnectTimeout;
3004
+ startMseConnectTimeout;
3005
+ stopMseConnectTimeout;
3006
+ constructor(e) {
3007
+ this.options = e;
3008
+ let t = k();
3009
+ if (!t.wsTransport) throw Error("[camera.ui] StreamConnection requires a wsTransport on CameraUiContext — pass `wsTransport` to createCameraUiPlugin.");
3010
+ this.target = t.target, this.wsTransport = t.wsTransport;
3011
+ let { autoStart: n = !0 } = e;
3012
+ this.status = r("idle"), this.activeMode = r("webrtc"), this.activeResolution = r("low-resolution"), this.degradedFrom = r(null), this.degradeReason = r(null), this.source = i(), this.hasVideo = r(!1), this.hasAudio = r(!1), this.hasBackchannel = r(!1), this.isPlaying = r(!1), this.stalled = r(!1), this.error = r(), this.probeInfo = i(), this.muted = r(!0), this.paused = r(!1), this.nativeWidth = r(0), this.nativeHeight = r(0), this.requestedMode = r(o(e.mode) ?? "auto"), this.requestedResolution = r(o(e.resolution) ?? "high-resolution"), this.camera = s(() => o(e.camera)), this.videoElement = s(() => o(e.videoElement)), this.containerElement = s(() => o(e.containerElement)), this.isReady = s(() => !!this.camera.value && !!this.videoElement.value && !!this.target.value), this.scope.run(() => {
3013
+ let { onTabPaused: e, onTabVisible: t } = G(), r = this.stopsWhenHidden ? 0 : ge, i = d(() => {
3014
+ let e = this.wsHandle;
3015
+ e && e.readyState !== WebSocket.OPEN && (e.readyState === WebSocket.CLOSED && performance.now() - this.wsOpenedAt < Ti ? this.startWsConnectTimeout() : (this.disconnectWebSocket(), !this.abortController.signal.aborted && this.status.value !== "closed" && this.retryLater()));
3016
+ }, Z.WEBRTC.WS_CONNECT_TIMEOUT, { immediate: !1 }), a = d(() => {
3017
+ if (!this.abortController.signal.aborted) {
3018
+ if (this.webrtcHandler && !this.webrtcHandler.isConnected) this.requestedMode.value === "auto" ? this.fallBackToMSE() : this.retryAfterNoMedia();
3019
+ else if (this.webrtcHandler && this.awaitingWebRTCFrame || this.mjpegHandler && !this.isPlaying.value || this.status.value === "connected" && !this.isPlaying.value) {
3020
+ if (ji()) {
3021
+ this.startConnectTimeout();
3022
+ return;
3023
+ }
3024
+ this.handleNoFramesWhileConnected();
3025
+ }
3026
+ }
3027
+ }, () => this.webrtcTookOver() ? Oi : Z.WEBRTC.CONNECT_TIMEOUT, { immediate: !1 }), o = d(() => {
3028
+ this.abortController.signal.aborted || this.status.value === "connected" || this.status.value === "closed" || this.mseHandler && !this.mseHandler.isReady && this.retryAfterNoMedia();
3029
+ }, Z.WEBRTC.CONNECT_TIMEOUT, { immediate: !1 });
3030
+ this.startWsConnectTimeout = i.start, this.stopWsConnectTimeout = i.stop, this.startConnectTimeout = a.start, this.stopConnectTimeout = a.stop, this.startMseConnectTimeout = o.start, this.stopMseConnectTimeout = o.stop, this.setupWatchers(), this.offTabPaused = e(() => {
3031
+ Q.debug(`onTabPaused fired — status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`), this.hiddenPauseRan = !0, this.status.value === "idle" || this.status.value === "closed" ? Q.debug(`onTabPaused — already in ${this.status.value}, skipping stop()`) : ii(this.videoElement.value) ? (Q.debug("onTabPaused — video is in picture-in-picture, keeping the stream"), this.watchPipLeave()) : (this.wasPausedByVisibility = !0, this.stop(), Q.debug("onTabPaused — stop() done, wasPausedByVisibility=true"));
3032
+ }, { delayMs: r }), this.offTabVisible = t(({ hiddenMs: e }) => {
3033
+ Q.debug(`onTabVisible fired — wasPausedByVisibility=${this.wasPausedByVisibility}, status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`), this.disarmPipWatch?.();
3034
+ let t = this.hiddenPauseRan;
3035
+ this.hiddenPauseRan = !1, this.wasPausedByVisibility ? (this.wasPausedByVisibility = !1, this.startWhenReady()) : !t && e >= r && this.status.value === "connected" ? (Q.debug(`onTabVisible: hidden for ${e}ms without a stop, reconnecting`), this.restart()) : Q.debug("onTabVisible — not paused by visibility, no-op");
3036
+ }), n && f(this.isReady, () => {
3037
+ (this.status.value === "idle" || this.status.value === "closed") && this.start();
3038
+ }, { immediate: !0 });
3039
+ });
3040
+ }
3041
+ watchPipLeave() {
3042
+ if (this.disarmPipWatch) return;
3043
+ let e = this.videoElement.value;
3044
+ if (!e) return;
3045
+ let t = () => {
3046
+ ii(e) || (this.disarmPipWatch?.(), (typeof document > "u" || document.visibilityState !== "visible") && this.status.value !== "idle" && this.status.value !== "closed" && (Q.debug("picture-in-picture closed while tab hidden — stopping the stream"), this.wasPausedByVisibility = !0, this.stop()));
3047
+ };
3048
+ e.addEventListener("leavepictureinpicture", t), e.addEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = () => {
3049
+ e.removeEventListener("leavepictureinpicture", t), e.removeEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = null;
3050
+ };
3051
+ }
3052
+ async start() {
3053
+ if (Q.debug(`start() called — status=${this.status.value}, isReady=${this.isReady.value}`), this.status.value !== "idle" && this.status.value !== "closed") {
3054
+ Q.debug(`start() — skipped, status is ${this.status.value}`);
3055
+ return;
3056
+ }
3057
+ if (!this.isReady.value) {
3058
+ Q.debug("start() — skipped, isReady=false");
3059
+ return;
3060
+ }
3061
+ if (this.stopsWhenHidden && ji()) {
3062
+ Q.debug("start() — page hidden, starting once it is visible"), this.wasPausedByVisibility = !0;
3063
+ return;
3064
+ }
3065
+ this.cleanup(), this.abortController = new AbortController();
3066
+ let e = ++this.connectionGeneration;
3067
+ this.triedSourceIds.clear(), this.failures = 0, this.playingSince = void 0, this.status.value = "connecting", this.error.value = void 0, this.isPlaying.value = !1;
3068
+ try {
3069
+ let t = this.initializeSource();
3070
+ if (t === "unsupported") {
3071
+ Q.debug("start() — no source with a playable codec"), this.setUnsupported();
3072
+ return;
3073
+ }
3074
+ if (!t) {
3075
+ Q.debug("start() — no streaming source available"), this.error.value = /* @__PURE__ */ Error("No streaming source available"), this.status.value = "error";
3076
+ return;
3077
+ }
3078
+ let n;
3079
+ for (let t = 0; t < 3; t++) {
3080
+ let t = this.source.value?._id;
3081
+ n = t, Q.debug("start(): connecting WebSocket");
3082
+ let r = await this.dialWithProbe();
3083
+ if (e !== this.connectionGeneration) {
3084
+ Q.debug("start() — generation stale after probe, aborting");
3085
+ return;
3086
+ }
3087
+ r && t && this.probeSaysUnplayable(r) && this.triedSourceIds.add(t);
3088
+ let i = this.initializeSource();
3089
+ if (i === "unsupported") {
3090
+ this.disconnectWebSocket(), this.setUnsupported();
3091
+ return;
3092
+ }
3093
+ if (!i) {
3094
+ this.disconnectWebSocket(), this.error.value = /* @__PURE__ */ Error("No streaming source available"), this.status.value = "error";
3095
+ return;
3096
+ }
3097
+ if (!r || this.source.value?._id === t) break;
3098
+ }
3099
+ this.source.value?._id !== n && this.dialWithProbe();
3100
+ } catch (t) {
3101
+ if (e !== this.connectionGeneration) return;
3102
+ Q.debug("start() — error:", t), this.error.value = t instanceof Error ? t : Error(String(t)), this.status.value = "error";
3103
+ }
3104
+ }
3105
+ stop() {
3106
+ this.status.value === "closed" ? Q.debug("stop() — already closed, no-op") : (Q.debug(`stop() — was ${this.status.value}, transitioning to closed`), ++this.connectionGeneration, this.status.value = "closed", this.isPlaying.value = !1, this.cleanup());
3107
+ }
3108
+ async setMode(e) {
3109
+ this.requestedMode.value !== e && (this.requestedMode.value = e, this.activeMode.value = e === "auto" ? "webrtc" : e, this.status.value === "unsupported" ? (this.stop(), await this.start()) : this.status.value === "connected" && await this.restart());
3110
+ }
3111
+ async setResolution(e) {
3112
+ if (this.requestedResolution.value === e) return;
3113
+ if (this.requestedResolution.value = e, this.status.value === "unsupported") {
3114
+ this.stop(), await this.start();
3115
+ return;
3116
+ }
3117
+ let t = this.getSourceForResolution(e);
3118
+ t && t !== "unsupported" && t.source._id !== this.source.value?._id && (this.source.value = t.source, this.activeResolution.value = t.effectiveResolution, this.degradedFrom.value = t.degradedFrom, this.degradeReason.value = t.degradedFrom ? "codec" : null, this.status.value === "connected" && await this.restart());
3119
+ }
3120
+ async setMicrophone(e) {
3121
+ e ? this.hasBackchannel.value && (this.pendingMicTrack = e, this.backchannelHandler ? this.backchannelHandler.isConnected && await this.backchannelHandler.setMicrophoneTrack(e) : await this.startBackchannel()) : this.closeBackchannel();
3122
+ }
3123
+ setMuted(e) {
3124
+ this.muted.value = e;
3125
+ let t = this.videoElement.value;
3126
+ t && (t.muted = e), this.audioElement && (this.audioElement.muted = e);
3127
+ }
3128
+ async play() {
3129
+ this.paused.value = !1;
3130
+ let e = this.videoElement.value;
3131
+ if (!e) return;
3132
+ try {
3133
+ await e.play();
3134
+ } catch {
3135
+ if (!e.muted) {
3136
+ e.muted = !0, this.muted.value = !0;
3137
+ try {
3138
+ await e.play();
3139
+ } catch {}
3140
+ }
3141
+ }
3142
+ let t = this.audioElement;
3143
+ t && (t.muted = this.muted.value, t.play().catch(() => {}));
3144
+ }
3145
+ pause() {
3146
+ this.paused.value = !0;
3147
+ let e = this.videoElement.value;
3148
+ e && e.pause(), this.audioElement?.pause();
3149
+ }
3150
+ destroy() {
3151
+ for (let e of this.stopWatchers) e();
3152
+ this.stopWatchers = [], this.offTabVisible?.(), this.offTabVisible = void 0, this.offTabPaused?.(), this.offTabPaused = void 0, this.disarmPipWatch?.();
3153
+ let e = this.videoElement.value;
3154
+ e && (this.onVideoPauseBound && e.removeEventListener("pause", this.onVideoPauseBound), this.onVideoPlayBound && e.removeEventListener("play", this.onVideoPlayBound), this.onVideoResizeBound && e.removeEventListener("resize", this.onVideoResizeBound)), this.stop(), this.scope.stop();
3155
+ }
3156
+ restart() {
3157
+ return this.reconnect(1e3);
3158
+ }
3159
+ invalidateProbe() {
3160
+ this.probeInfo.value = void 0, this.probeInFlight = void 0;
3161
+ }
3162
+ async reconnect(e, t = "reconnecting") {
3163
+ this.status.value = t, this.isPlaying.value = !1, this.cleanup(), this.abortController = new AbortController();
3164
+ let n = ++this.connectionGeneration;
3165
+ try {
3166
+ await ai(e, this.abortController.signal);
3167
+ } catch {
3168
+ return;
3169
+ }
3170
+ if (n === this.connectionGeneration) {
3171
+ if (!this.isReady.value) this.status.value = "idle";
3172
+ else {
3173
+ this.status.value = "reconnecting";
3174
+ try {
3175
+ let e = this.initializeSource();
3176
+ if (e === "unsupported") {
3177
+ this.setUnsupported();
3178
+ return;
3179
+ }
3180
+ if (!e) {
3181
+ this.error.value = /* @__PURE__ */ Error("No streaming source available"), this.status.value = "error";
3182
+ return;
3183
+ }
3184
+ this.dialWithProbe();
3185
+ } catch (e) {
3186
+ if (n !== this.connectionGeneration) return;
3187
+ this.error.value = e instanceof Error ? e : Error(String(e)), this.status.value = "error";
3188
+ }
3189
+ }
3190
+ }
3191
+ }
3192
+ retryLater(e) {
3193
+ let t = this.nextRetryDelay();
3194
+ e && (this.error.value = e), this.reconnect(t, e ? "error" : "reconnecting");
3195
+ }
3196
+ nextRetryDelay() {
3197
+ this.playingSince !== void 0 && performance.now() - this.playingSince >= wi && (this.failures = 0), this.playingSince = void 0;
3198
+ let e = Math.min(Si * 2 ** this.failures, Ci);
3199
+ return this.failures++, Ni(e);
3200
+ }
3201
+ retryAfterNoMedia() {
3202
+ this.markSourceUndecodable() ? this.restart() : this.retryLater(this.lastError);
3203
+ }
3204
+ startWhenReady() {
3205
+ if (this.isReady.value) {
3206
+ Q.debug("startWhenReady — already ready, calling start() now"), this.start();
3207
+ return;
3208
+ }
3209
+ Q.debug(`startWhenReady — not ready (camera=${!!this.camera.value}, video=${!!this.videoElement.value}, target=${!!this.target.value}), watching isReady`);
3210
+ let e = c(this.isReady, (t) => {
3211
+ t && (Q.debug("startWhenReady — isReady → true, calling start()"), e(), this.start());
3212
+ });
3213
+ this.stopWatchers.push(e);
3214
+ }
3215
+ setupWatchers() {
3216
+ let e = c(() => this.target.value?.endpoint.url ?? null, (e, t) => {
3217
+ e && t && e !== t && this.status.value !== "idle" && this.status.value !== "closed" && this.restart();
3218
+ });
3219
+ this.stopWatchers.push(e);
3220
+ let t = c(() => this.target.value?.tokens.access, (e) => {
3221
+ this.rejectedToken !== void 0 && e && e !== this.rejectedToken && (this.rejectedToken = void 0, this.status.value !== "idle" && this.status.value !== "closed" && this.reconnect(0));
3222
+ });
3223
+ this.stopWatchers.push(t);
3224
+ let n = c(() => this.camera.value?.sources.value, () => {
3225
+ this.status.value === "unsupported" && (this.stop(), this.start());
3226
+ });
3227
+ this.stopWatchers.push(n);
3228
+ let r = c(() => o(this.options.mode), (e) => {
3229
+ e !== void 0 && e !== this.requestedMode.value && this.setMode(e);
3230
+ });
3231
+ this.stopWatchers.push(r);
3232
+ let i = c(() => o(this.options.resolution), (e) => {
3233
+ e !== void 0 && e !== this.requestedResolution.value && this.setResolution(e);
3234
+ });
3235
+ this.stopWatchers.push(i);
3236
+ let a = c(this.videoElement, (e, t) => {
3237
+ t && (this.onVideoPauseBound && t.removeEventListener("pause", this.onVideoPauseBound), this.onVideoPlayBound && t.removeEventListener("play", this.onVideoPlayBound), this.onVideoResizeBound && t.removeEventListener("resize", this.onVideoResizeBound)), e && (this.onVideoPauseBound = () => {
3238
+ this.paused.value || e.play().catch(() => {});
3239
+ }, this.onVideoPlayBound = () => {
3240
+ this.paused.value = !1;
3241
+ }, this.onVideoResizeBound = () => {
3242
+ e.videoWidth > 0 && e.videoHeight > 0 && (this.nativeWidth.value = e.videoWidth, this.nativeHeight.value = e.videoHeight);
3243
+ }, e.addEventListener("pause", this.onVideoPauseBound), e.addEventListener("play", this.onVideoPlayBound), e.addEventListener("resize", this.onVideoResizeBound), e.videoWidth > 0 && e.videoHeight > 0 && (this.nativeWidth.value = e.videoWidth, this.nativeHeight.value = e.videoHeight));
3244
+ }, { immediate: !0 });
3245
+ this.stopWatchers.push(a);
3246
+ let s = c(() => this.status.value === "connected" && this.isPlaying.value, (e) => {
3247
+ this.stopHealthCheck(), e && this.startHealthCheck();
3248
+ }, { immediate: !0 });
3249
+ this.stopWatchers.push(s);
3250
+ let l = c([
3251
+ this.camera,
3252
+ this.videoElement,
3253
+ () => this.target.value
3254
+ ], ([e, t, n], [r, i]) => {
3255
+ if (e !== r) this.status.value === "connected" ? e && t && n && this.restart() : this.status.value === "unsupported" && e && t && n && (this.stop(), this.start());
3256
+ else if (t !== i && t) {
3257
+ if (t.srcObject instanceof MediaStream) {
3258
+ let e = t.srcObject;
3259
+ if (e.active && e.getTracks().some((e) => e.readyState === "live")) {
3260
+ fi(t), this.lastMediaStream = e;
3261
+ return;
3262
+ }
3263
+ }
3264
+ if (this.status.value === "connected" && this.activeMode.value !== "mse") {
3265
+ let e = this.lastMediaStream;
3266
+ e?.active && e.getTracks().some((e) => e.readyState === "live") ? (t.srcObject = e, fi(t)) : this.restart();
3267
+ } else if (this.status.value === "connected" && this.activeMode.value === "mse") this.restart();
3268
+ else if (this.status.value === "connecting" || this.status.value === "reconnecting") {
3269
+ let e = c(() => this.isPlaying.value, (t) => {
3270
+ let n = this.videoElement.value;
3271
+ t && n?.srcObject instanceof MediaStream ? (fi(n), e()) : t && n && !n.srcObject && this.lastMediaStream?.active && (n.srcObject = this.lastMediaStream, fi(n), e());
3272
+ }, { immediate: !0 });
3273
+ this.stopWatchers.push(e);
3274
+ }
3275
+ }
3276
+ });
3277
+ this.stopWatchers.push(l);
3278
+ }
3279
+ isSourcePlayable(e) {
3280
+ if (this.triedSourceIds.has(e._id)) return !1;
3281
+ if (e.videoCodec === "JPEG") return Qr();
3282
+ if (e.videoCodec !== "H265") return !0;
3283
+ let t = this.requestedMode.value;
3284
+ return Zr(t === "auto" ? "auto" : t === "mse" ? "mse" : "webrtc");
3285
+ }
3286
+ getSourceForResolution(e) {
3287
+ let t = this.camera.value;
3288
+ if (!t) return;
3289
+ let n = [
3290
+ "high-resolution",
3291
+ "mid-resolution",
3292
+ "low-resolution"
3293
+ ], r = Math.max(0, n.indexOf(e)), i = !1;
3294
+ for (let a = r; a < n.length; a++) {
3295
+ let r = t.sources.value.find((e) => e.role === n[a]);
3296
+ if (r) {
3297
+ if (!this.isSourcePlayable(r)) i = !0;
3298
+ else return {
3299
+ source: r,
3300
+ effectiveResolution: n[a],
3301
+ degradedFrom: i ? e : null
3302
+ };
3303
+ }
3304
+ }
3305
+ let a = t.streamSource.value;
3306
+ if (a && this.isSourcePlayable(a)) return {
3307
+ source: a,
3308
+ effectiveResolution: a.role ?? "low-resolution",
3309
+ degradedFrom: i ? e : null
3310
+ };
3311
+ if (i || a) return "unsupported";
3312
+ }
3313
+ initializeSource() {
3314
+ let e = this.getSourceForResolution(this.requestedResolution.value);
3315
+ return e ? e === "unsupported" ? "unsupported" : (this.source.value = e.source, this.activeResolution.value = e.effectiveResolution, this.degradedFrom.value = e.degradedFrom, this.degradeReason.value = e.degradedFrom ? "codec" : null, this.probedSourceId && this.probedSourceId !== e.source._id && (this.probeInfo.value = void 0, this.probedSourceId = void 0, this.hasVideo.value = !1, this.hasAudio.value = !1, this.hasBackchannel.value = !1), !0) : !1;
3316
+ }
3317
+ setUnsupported() {
3318
+ let e = this.camera.value?.sources.value.find((e) => e.videoCodec)?.videoCodec ?? "H265";
3319
+ this.error.value = /* @__PURE__ */ Error(`${e} cannot be played on this device`), this.status.value = "unsupported";
3320
+ }
3321
+ probeSaysUnplayable(e) {
3322
+ let t = e.video.filter((e) => e.direction === "sendonly");
3323
+ if (!t.length) return !1;
3324
+ if (t.every((e) => e.codec === "JPEG")) return !Qr();
3325
+ if (!t.every((e) => e.codec === "H265")) return !1;
3326
+ let n = this.requestedMode.value;
3327
+ return !Zr(n === "auto" ? "auto" : n === "mse" ? "mse" : "webrtc");
3328
+ }
3329
+ sourceLikelyH265() {
3330
+ let e = this.source.value;
3331
+ if (!e) return !1;
3332
+ if (e.videoCodec === "H265") return !0;
3333
+ if (e.videoCodec !== void 0) return !1;
3334
+ let t = this.probeInfo.value?.video.filter((e) => e.direction === "sendonly") ?? [];
3335
+ return t.length > 0 && t.every((e) => e.codec === "H265");
3336
+ }
3337
+ markSourceUndecodable() {
3338
+ let e = this.source.value;
3339
+ return !e || !this.sourceLikelyH265() ? !1 : (this.triedSourceIds.add(e._id), this.invalidateProbe(), !0);
3340
+ }
3341
+ handleNoFramesWhileConnected() {
3342
+ this.sourceLikelyH265() && !this.webrtcTookOver() && $r(this.activeMode.value === "mse" ? "mse" : "webrtc"), this.requestedMode.value === "auto" && this.activeMode.value !== "mse" && !this.mjpegHandler && !this.mseRejected ? (this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.awaitingWebRTCFrame = !1, this.activeMode.value = "mse", this.isPlaying.value = !1, this.status.value = "reconnecting", this.startMSE(), this.resumeBackchannel()) : this.retryAfterNoMedia();
3343
+ }
3344
+ webrtcTookOver() {
3345
+ return this.awaitingWebRTCFrame && this.isPlaying.value;
3346
+ }
3347
+ noteDeliveredAudio(e) {
3348
+ e && !this.hasAudio.value && (this.hasAudio.value = !0);
3349
+ }
3350
+ probeStream() {
3351
+ let e = this.camera.value, t = this.source.value;
3352
+ if (!e || !t || this.abortController.signal.aborted) return Promise.resolve(void 0);
3353
+ if (this.probeInFlight?.sourceId === t._id) return this.probeInFlight.result;
3354
+ let n = {
3355
+ sourceId: t._id,
3356
+ result: Promise.resolve(void 0)
3357
+ };
3358
+ return this.probeInFlight = n, n.result = this.askProbe(e, n), n.result;
3359
+ }
3360
+ async askProbe(e, t) {
3361
+ try {
3362
+ let n = await e.probeStream(t.sourceId, {
3363
+ video: !0,
3364
+ audio: ["pcma", "opus"],
3365
+ microphone: !0
3366
+ });
3367
+ return n && this.probeInFlight === t && !this.abortController.signal.aborted && (this.probeInfo.value = n, this.probedSourceId = t.sourceId, this.hasBackchannel.value = n.audio.some((e) => e.direction === "recvonly"), this.hasAudio.value = n.audio.filter((e) => e.direction === "sendonly").length > 0, this.hasVideo.value = n.video.filter((e) => e.direction === "sendonly").length > 0), n;
3368
+ } catch {
3369
+ return;
3370
+ } finally {
3371
+ this.probeInFlight === t && (this.probeInFlight = void 0);
3372
+ }
3373
+ }
3374
+ dialWithProbe() {
3375
+ let e = this.settledProbe(this.probeForSource());
3376
+ return this.probing = e, this.connectWebSocket(), e;
3377
+ }
3378
+ probeForSource() {
3379
+ let e = this.source.value, t = this.probeInfo.value;
3380
+ return t && e && this.probedSourceId === e._id ? Promise.resolve(t) : this.probeStream();
3381
+ }
3382
+ settledProbe(e) {
3383
+ return new Promise((t) => {
3384
+ let n = setTimeout(() => t(void 0), Ai), r = (e) => {
3385
+ clearTimeout(n), t(e);
3386
+ };
3387
+ e.then(r, () => r(void 0));
3388
+ });
3389
+ }
3390
+ connectWebSocket() {
3391
+ this.disconnectWebSocket();
3392
+ let e = this.camera.value;
3393
+ if (this.abortController.signal.aborted || !e || !this.source.value || !this.target.value) return;
3394
+ let t = this.source.value.name ?? this.source.value.role ?? this.source.value._id, n = j(e.name.value, t);
3395
+ this.connectToken = this.target.value.tokens.access, this.rejectedToken = void 0, this.lastError = void 0, this.mseRejected = !1, this.mseAnswerPending = !1, this.mseStopPending = !1, this.offerPeer = void 0, this.answeredPeer = void 0, this.wsOpenedAt = performance.now(), this.startWsConnectTimeout(), this.wsHandle = this.wsTransport.open({
3396
+ path: "/api/go2rtc",
3397
+ query: { src: n },
3398
+ binaryType: "arraybuffer"
3399
+ }), this.wsHandle.on("open", () => this.handleWsOpen()), this.wsHandle.on("close", (e) => this.handleWsClose(e)), this.wsHandle.on("message", (e) => this.handleWsMessage(e)), this.wsHandle.on("error", () => {});
3400
+ }
3401
+ disconnectWebSocket() {
3402
+ this.stopWsConnectTimeout(), this.wsHandle &&= (this.wsHandle.dispose(), void 0);
3403
+ }
3404
+ sendWsMessage(e) {
3405
+ this.wsHandle?.readyState === WebSocket.OPEN && this.wsHandle.send(JSON.stringify(e));
3406
+ }
3407
+ handleWsOpen() {
3408
+ if (this.abortController.signal.aborted) return;
3409
+ this.stopWsConnectTimeout(), this.status.value = "connecting";
3410
+ let e = this.wsHandle;
3411
+ (this.probing ?? Promise.resolve(void 0)).then(() => {
3412
+ this.abortController.signal.aborted || this.wsHandle !== e || this.requestStream();
3413
+ });
3414
+ }
3415
+ requestStream() {
3416
+ if (this.sourceIsMjpeg()) {
3417
+ this.startMjpeg();
3418
+ return;
3419
+ }
3420
+ let e = this.requestedMode.value;
3421
+ e === "auto" ? this.startAutoMode() : e === "webrtc" || e === "webrtc/tcp" ? this.startWebRTC(e) : e === "mse" && this.startMSE();
3422
+ }
3423
+ handleWsClose(e) {
3424
+ if (this.status.value === "closed" || this.abortController.signal.aborted) return;
3425
+ let t = e ? _(e) : "other";
3426
+ if (t === "other") {
3427
+ this.retryLater();
3428
+ return;
3429
+ }
3430
+ let n = this.connectToken;
3431
+ Q.debug(`go2rtc socket closed (${e?.code}): ${e?.reason}`), t === "forbidden" ? (this.error.value = Error(e?.reason || `Stream refused (${e?.code})`), this.status.value = "error", this.isPlaying.value = !1, this.cleanup(), this.rejectedToken = n) : this.target.value?.tokens.access === n ? (this.reconnect(Ni(Ci)), this.rejectedToken = n) : this.reconnect(0);
3432
+ }
3433
+ handleWsMessage(e) {
3434
+ if (!this.abortController.signal.aborted) {
3435
+ if (typeof e.data == "string") {
3436
+ let t;
3437
+ try {
3438
+ t = JSON.parse(e.data);
3439
+ } catch {
3440
+ return;
3441
+ }
3442
+ this.handleMessage(t);
3443
+ } else this.mjpegHandler && yr(e.data) ? this.mjpegHandler.appendFrame(e.data) : (this.mseHandler ?? this.audioHandler)?.appendBuffer(e.data);
3444
+ }
3445
+ }
3446
+ handleMessage(e) {
3447
+ switch (e.type) {
3448
+ case "webrtc/answer":
3449
+ this.answeredPeer = this.takeOfferReply(), this.answeredPeer && bi(this.answeredPeer, e), this.resumeBackchannel();
3450
+ break;
3451
+ case "webrtc/candidate":
3452
+ this.answeredPeer && this.isCurrentPeer(this.answeredPeer) && bi(this.answeredPeer, e);
3453
+ break;
3454
+ case "mse":
3455
+ if (this.mseAnswerPending = !1, this.mseStopPending && (this.mseStopPending = !1, this.sendWsMessage({ type: "mse/stop" })), typeof e.value == "string") {
3456
+ let t = this.mseHandler ?? this.audioHandler;
3457
+ if (!t) break;
3458
+ this.noteDeliveredAudio(xi.test(e.value)), t.initializeBuffer(e.value);
3459
+ }
3460
+ break;
3461
+ case "mjpeg":
3462
+ this.mjpegHandler && (this.status.value = "connected");
3463
+ break;
3464
+ case "error": this.handleGo2rtcError(String(e.value));
3465
+ }
3466
+ }
3467
+ handleGo2rtcError(e) {
3468
+ let t = e.slice(0, Math.max(0, e.indexOf(":"))), n = Error(e);
3469
+ if (Q.debug(`go2rtc error: ${e}`), t === "webrtc/offer") {
3470
+ let e = this.takeOfferReply();
3471
+ if (e && e === this.webrtcHandler && !e.isConnected) {
3472
+ this.lastError = n, this.stopConnectTimeout(), this.requestedMode.value === "auto" ? this.fallBackToMSE() : this.retryLater(n);
3473
+ return;
3474
+ }
3475
+ e && e === this.backchannelHandler && this.closeBackchannel(), this.resumeBackchannel();
3476
+ } else if (t === "mjpeg") this.mjpegHandler && this.retryLater(n);
3477
+ else if (t === "mse") {
3478
+ if (this.mseAnswerPending = !1, this.mseStopPending = !1, this.audioHandler) {
3479
+ this.closeAudio();
3480
+ return;
3481
+ }
3482
+ if (!this.mseHandler) return;
3483
+ if (this.lastError = n, this.mseRejected = !0, this.requestedMode.value === "auto" && this.webrtcHandler) {
3484
+ this.dropMSE();
3485
+ return;
3486
+ }
3487
+ this.retryLater(n);
3488
+ } else t.startsWith("webrtc") || (this.lastError = n);
3489
+ }
3490
+ async startWebRTC(e) {
3491
+ if (this.abortController.signal.aborted) return;
3492
+ this.startConnectTimeout();
3493
+ let t = vi({
3494
+ mode: e,
3495
+ signal: this.abortController.signal,
3496
+ onConnected: (e) => this.handleWebRTCConnected(e),
3497
+ onDisconnected: () => this.handleWebRTCDisconnected(),
3498
+ onFailed: () => this.handleWebRTCFailed(),
3499
+ onCandidate: (e) => this.sendWsMessage({
3500
+ type: "webrtc/candidate",
3501
+ value: e
3502
+ })
3503
+ });
3504
+ this.webrtcHandler = t;
3505
+ let n = await t.createOffer();
3506
+ n && !this.abortController.signal.aborted && this.webrtcHandler === t && this.sendOffer(t, n);
3507
+ }
3508
+ handleWebRTCConnected(e) {
3509
+ if (this.abortController.signal.aborted) return;
3510
+ let t = this.videoElement.value;
3511
+ t && (this.hasVideo.value && e.getVideoTracks().length === 0 ? this.handleWebRTCFailed() : (this.noteDeliveredAudio(e.getAudioTracks().length > 0), this.activeMode.value = this.requestedMode.value === "auto" ? "webrtc" : this.requestedMode.value, this.lastMediaStream = e, t.srcObject = e, t.muted = this.muted.value, fi(t), this.status.value = "connected", e.getVideoTracks().length > 0 ? (this.awaitingWebRTCFrame = !0, this.webrtcTookOver() && this.startConnectTimeout(), this.resetHealthBaseline(t), this.watchFirstFrame(t)) : this.handleFirstFrame(), this.requestedMode.value === "auto" && this.mseHandler && this.dropMSE()));
3512
+ }
3513
+ handleWebRTCDisconnected() {
3514
+ this.status.value !== "closed" && !this.abortController.signal.aborted && (this.status.value = "reconnecting", this.requestedMode.value === "auto" && this.mseHandler?.isReady ? (this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.activeMode.value = "mse", this.status.value = "connected", this.resumeBackchannel()) : this.retryLater());
3515
+ }
3516
+ handleWebRTCFailed() {
3517
+ this.abortController.signal.aborted || (this.stopConnectTimeout(), this.requestedMode.value === "auto" ? this.fallBackToMSE() : this.retryLater(this.lastError ?? /* @__PURE__ */ Error("WebRTC connection failed")));
3518
+ }
3519
+ fallBackToMSE() {
3520
+ this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.awaitingWebRTCFrame = !1, this.mseRejected ? this.retryLater(this.lastError) : (this.activeMode.value = "mse", this.mseHandler?.isReady ? this.handleMSEReady() : this.startMSE(), this.resumeBackchannel());
3521
+ }
3522
+ startMSE() {
3523
+ if (this.mseHandler) return;
3524
+ let e = this.videoElement.value;
3525
+ if (this.abortController.signal.aborted || !e) return;
3526
+ this.mseHandler = ui({
3527
+ videoElement: e,
3528
+ signal: this.abortController.signal,
3529
+ onReady: () => this.handleMSEReady(),
3530
+ onFirstData: () => this.handleMSEFirstData(),
3531
+ onError: (e, t) => this.handleMSEError(e, t)
3532
+ });
3533
+ let t = this.mseHandler.setup();
3534
+ t && (this.mseStopPending && (this.mseStopPending = !1, this.sendWsMessage({ type: "mse/stop" })), this.sendWsMessage({
3535
+ type: "mse",
3536
+ value: t
3537
+ }), this.mseAnswerPending = !0, this.startMseConnectTimeout());
3538
+ }
3539
+ handleMSEReady() {
3540
+ this.abortController.signal.aborted || (this.stopMseConnectTimeout(), this.requestedMode.value === "auto" && this.webrtcHandler?.isConnected || (this.activeMode.value = "mse", this.status.value = "connected"), !this.webrtcHandler && !this.isPlaying.value && this.startConnectTimeout());
3541
+ }
3542
+ handleMSEFirstData() {
3543
+ if (this.abortController.signal.aborted) return;
3544
+ let e = this.videoElement.value;
3545
+ e && (this.watchFirstFrame(e), fi(e));
3546
+ }
3547
+ handleMSEError(e, t) {
3548
+ if (this.abortController.signal.aborted) return;
3549
+ if (Q.debug(`MSE ${t} error:`, e), this.requestedMode.value === "auto" && this.webrtcHandler) {
3550
+ let e = this.isPlaying.value || this.status.value === "connected";
3551
+ this.dropMSE(), e && (this.isPlaying.value = !1, this.status.value = "reconnecting");
3552
+ return;
3553
+ }
3554
+ let n = this.videoElement.value, r = !n || n.readyState < ki;
3555
+ (t === "setup" || r) && this.sourceLikelyH265() ? ($r("mse"), this.markSourceUndecodable(), this.restart()) : t === "setup" ? (this.error.value = e, this.status.value = "error", this.cleanup()) : this.retryLater();
3556
+ }
3557
+ dropMSE() {
3558
+ this.mseHandler?.close(), this.mseHandler = void 0, this.stopMseConnectTimeout(), this.mseAnswerPending ? this.mseStopPending = !0 : this.sendWsMessage({ type: "mse/stop" });
3559
+ }
3560
+ startAutoMode() {
3561
+ if (this.abortController.signal.aborted) return;
3562
+ let e = this.probeInfo.value;
3563
+ e && !ti(e).compatible ? (this.activeMode.value = "mse", this.startMSE()) : (this.startWebRTC("webrtc"), this.startMSE());
3564
+ }
3565
+ sourceIsMjpeg() {
3566
+ let e = this.probeInfo.value?.video.filter((e) => e.direction === "sendonly") ?? [];
3567
+ return e.length ? e.every((e) => e.codec === "JPEG") : this.source.value?.videoCodec === "JPEG";
3568
+ }
3569
+ startMjpeg() {
3570
+ let e = this.videoElement.value;
3571
+ if (this.abortController.signal.aborted || !e) return;
3572
+ let t = br({ signal: this.abortController.signal });
3573
+ this.mjpegHandler = t, this.activeMode.value = "mjpeg", this.lastMediaStream = t.stream, e.srcObject = t.stream, fi(e), this.sendWsMessage({ type: "mjpeg" }), this.startConnectTimeout(), this.watchFirstFrame(e), this.hasAudio.value && this.startAudio();
3574
+ }
3575
+ startAudio() {
3576
+ if (this.audioHandler || this.abortController.signal.aborted) return;
3577
+ let e = document.createElement("audio");
3578
+ e.muted = this.muted.value;
3579
+ let t = ui({
3580
+ videoElement: e,
3581
+ signal: this.abortController.signal,
3582
+ onReady: () => {},
3583
+ onFirstData: () => fi(e),
3584
+ onError: (e) => {
3585
+ Q.debug("MJPEG audio error:", e), this.dropAudio();
3586
+ }
3587
+ }), n = t.setup()?.split(",").filter((e) => xi.test(e)).join(",");
3588
+ n ? (this.audioElement = e, this.audioHandler = t, this.sendWsMessage({
3589
+ type: "mse",
3590
+ value: n
3591
+ }), this.mseAnswerPending = !0) : t.close();
3592
+ }
3593
+ dropAudio() {
3594
+ this.audioHandler && (this.closeAudio(), this.mseAnswerPending ? this.mseStopPending = !0 : this.sendWsMessage({ type: "mse/stop" }));
3595
+ }
3596
+ closeAudio() {
3597
+ this.audioHandler?.close(), this.audioHandler = void 0;
3598
+ let e = this.audioElement;
3599
+ e && (this.audioElement = void 0, e.pause(), e.removeAttribute("src"), e.load());
3600
+ }
3601
+ handleFirstFrame() {
3602
+ this.abortController.signal.aborted || ((!this.webrtcHandler || this.webrtcHandler.isConnected) && (this.stopConnectTimeout(), this.awaitingWebRTCFrame = !1, this.resumeBackchannel()), this.error.value = void 0, this.isPlaying.value || (this.isPlaying.value = !0, this.playingSince = performance.now()));
3603
+ }
3604
+ watchFirstFrame(e) {
3605
+ if (this.cancelFirstFrameWatch?.(), e.readyState >= ki) {
3606
+ this.handleFirstFrame();
3607
+ return;
3608
+ }
3609
+ let t = e, n = () => {
3610
+ this.cancelFirstFrameWatch?.(), this.handleFirstFrame();
3611
+ }, r = t.requestVideoFrameCallback?.(n);
3612
+ e.addEventListener("loadeddata", n), this.cancelFirstFrameWatch = () => {
3613
+ this.cancelFirstFrameWatch = void 0, e.removeEventListener("loadeddata", n), r !== void 0 && t.cancelVideoFrameCallback?.(r);
3614
+ };
3615
+ }
3616
+ startHealthCheck() {
3617
+ let e = this.videoElement.value;
3618
+ e && this.resetHealthBaseline(e), this.healthInterval = setInterval(() => this.checkHealth(), Ei);
3619
+ }
3620
+ stopHealthCheck() {
3621
+ this.healthInterval !== void 0 && (clearInterval(this.healthInterval), this.healthInterval = void 0), this.stalled.value = !1;
3622
+ }
3623
+ resetHealthBaseline(e) {
3624
+ this.lastProgressAt = performance.now(), this.lastMediaTime = e.currentTime, this.lastFrameCount = this.frameCount(e), this.frameCounterLive = !1, this.stalled.value = !1;
3625
+ }
3626
+ checkHealth() {
3627
+ let e = this.videoElement.value;
3628
+ if (!e) return;
3629
+ let t = this.activeMode.value === "mse", n = this.frameCount(e);
3630
+ n !== void 0 && n > 0 && (this.frameCounterLive = !0);
3631
+ let r = n !== this.lastFrameCount || t && e.currentTime !== this.lastMediaTime;
3632
+ t && di(e), this.audioElement && di(this.audioElement), this.lastMediaTime = e.currentTime, this.lastFrameCount = n;
3633
+ let i = performance.now();
3634
+ if (r || !this.expectsFrames(e)) {
3635
+ this.lastProgressAt = i, this.stalled.value = !1;
3636
+ return;
3637
+ }
3638
+ let a = i - this.lastProgressAt;
3639
+ a >= Oi ? (Q.debug(`no frame for ${Math.round(a)}ms, reconnecting`), this.retryLater()) : a >= Di && (this.stalled.value = !0);
3640
+ }
3641
+ frameCount(e) {
3642
+ return this.mjpegHandler ? this.mjpegHandler.frames : Mi(e);
3643
+ }
3644
+ expectsFrames(e) {
3645
+ return this.paused.value || e.paused || ii(e) || ji() ? !1 : this.activeMode.value === "mse" || this.frameCounterLive;
3646
+ }
3647
+ cleanup() {
3648
+ this.abortController.abort(), this.stopConnectTimeout(), this.stopWsConnectTimeout(), this.stopMseConnectTimeout(), this.stopHealthCheck(), this.cancelFirstFrameWatch?.(), this.awaitingWebRTCFrame = !1, this.lastMediaStream = null, this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.mseHandler?.close(), this.mseHandler = void 0, this.mjpegHandler?.close(), this.mjpegHandler = void 0, this.closeAudio(), this.closeBackchannel(), this.disconnectWebSocket();
3649
+ let e = this.videoElement.value;
3650
+ e && (e.style.display = "", e.pause(), e.srcObject = null, e.removeAttribute("src"), e.load());
3651
+ }
3652
+ async startBackchannel() {
3653
+ if (this.abortController.signal.aborted || !this.wsHandle || this.wsHandle.readyState !== WebSocket.OPEN || this.offerPeer || this.webrtcHandler && (!this.webrtcHandler.isConnected || this.awaitingWebRTCFrame)) return;
3654
+ let e = yi({
3655
+ filterUdp: this.requestedMode.value === "webrtc/tcp",
3656
+ signal: this.abortController.signal,
3657
+ onCandidate: (e) => this.sendWsMessage({
3658
+ type: "webrtc/candidate",
3659
+ value: e
3660
+ }),
3661
+ onConnected: async () => {
3662
+ this.pendingMicTrack && this.backchannelHandler === e && await e.setMicrophoneTrack(this.pendingMicTrack);
3663
+ },
3664
+ onFailed: () => this.closeBackchannel(e)
3665
+ });
3666
+ this.backchannelHandler = e;
3667
+ let t;
3668
+ try {
3669
+ t = await e.createOffer();
3670
+ } catch {
3671
+ this.closeBackchannel(e);
3672
+ return;
3673
+ }
3674
+ t && !this.abortController.signal.aborted && this.backchannelHandler === e && this.sendOffer(e, t);
3675
+ }
3676
+ resumeBackchannel() {
3677
+ this.pendingMicTrack && !this.backchannelHandler && this.startBackchannel();
3678
+ }
3679
+ sendOffer(e, t) {
3680
+ this.wsHandle?.readyState === WebSocket.OPEN && (this.offerPeer = e, this.wsHandle.send(JSON.stringify({
3681
+ type: "webrtc/offer",
3682
+ value: t
3683
+ })));
3684
+ }
3685
+ takeOfferReply() {
3686
+ let e = this.offerPeer;
3687
+ return this.offerPeer = void 0, e && this.isCurrentPeer(e) ? e : void 0;
3688
+ }
3689
+ isCurrentPeer(e) {
3690
+ return e === this.webrtcHandler || e === this.backchannelHandler;
3691
+ }
3692
+ closeBackchannel(e = this.backchannelHandler) {
3693
+ e?.close(), e === this.backchannelHandler && (this.backchannelHandler = void 0, this.pendingMicTrack = null);
3694
+ }
3695
+ };
3696
+ function Fi(e) {
3697
+ return new Pi(e);
3698
+ }
3699
+ var Ii = class {
3700
+ streams = /* @__PURE__ */ new Map();
3701
+ standalone = /* @__PURE__ */ new Set();
3702
+ releaseTimers = /* @__PURE__ */ new Map();
3703
+ releaseDelay;
3704
+ DEFAULT_RELEASE_DELAY = 2e3;
3705
+ constructor(e = {}) {
3706
+ this.releaseDelay = e.releaseDelay ?? this.DEFAULT_RELEASE_DELAY;
3707
+ }
3708
+ has(e) {
3709
+ return this.streams.has(e);
3710
+ }
3711
+ getRefCount(e) {
3712
+ return this.streams.get(e)?.refCount ?? 0;
3713
+ }
3714
+ get(e) {
3715
+ return this.streams.get(e);
3716
+ }
3717
+ acquire(e, t) {
3718
+ this.cancelRelease(e);
3719
+ let n = this.streams.get(e);
3720
+ if (n) return n.refCount++, t && n.consumerContainerRefs.add(t), n;
3721
+ }
3722
+ register(e, t, n, r, i, a) {
3723
+ this.cancelRelease(e);
3724
+ let o = {
3725
+ stream: t,
3726
+ videoElementRef: n,
3727
+ cameraDeviceRef: r,
3728
+ containerElementRef: i,
3729
+ consumerContainerRefs: /* @__PURE__ */ new Set([i]),
3730
+ sharedVideoElement: a,
3731
+ mediaStream: null,
3732
+ refCount: 1
3733
+ };
3734
+ return this.streams.set(e, o), o;
3735
+ }
3736
+ updateContainerElement(e, t) {
3737
+ let n = this.streams.get(e);
3738
+ n && (n.containerElementRef.value = t);
3739
+ }
3740
+ updateSharedVideoElement(e, t) {
3741
+ let n = this.streams.get(e);
3742
+ n && (n.sharedVideoElement = t);
3743
+ }
3744
+ updateMediaStream(e, t) {
3745
+ let n = this.streams.get(e);
3746
+ n && (n.mediaStream = t);
3747
+ }
3748
+ release(e, t, n) {
3749
+ let r = this.streams.get(e);
3750
+ if (r) {
3751
+ if (r.refCount--, n) {
3752
+ r.consumerContainerRefs.delete(n);
3753
+ let e = r.sharedVideoElement, t = n.value, i = e?.parentElement ?? null;
3754
+ if (r.refCount > 0 && e && (i === t || i === null || !i.isConnected)) {
3755
+ let n = this.pickVisibleConsumer(r, t);
3756
+ n && (r.containerElementRef = n.ref, e.parentElement !== n.el && (n.el.appendChild(e), e.play().catch(() => {})));
3757
+ }
3758
+ }
3759
+ if (r.refCount <= 0) {
3760
+ let t = setTimeout(() => {
3761
+ this.doRelease(e);
3762
+ }, this.releaseDelay);
3763
+ this.releaseTimers.set(e, t);
3764
+ }
3765
+ }
3766
+ }
3767
+ track(e) {
3768
+ return this.standalone.add(e), () => {
3769
+ this.standalone.delete(e);
3770
+ };
3771
+ }
3772
+ restartConnected() {
3773
+ let e = new Set(this.standalone);
3774
+ for (let t of this.streams.values()) e.add(t.stream);
3775
+ let t = 0;
3776
+ for (let n of e) n.status.value !== "connected" || n.paused.value || (n.restart().catch(() => {}), t++);
3777
+ return t;
3778
+ }
3779
+ forceRelease(e) {
3780
+ this.cancelRelease(e), this.doRelease(e);
3781
+ }
3782
+ clear() {
3783
+ for (let e of this.releaseTimers.values()) clearTimeout(e);
3784
+ this.releaseTimers.clear();
3785
+ for (let [e, t] of this.streams) Li(t.stream), this.streams.delete(e);
3786
+ }
3787
+ getDebugInfo() {
3788
+ return Array.from(this.streams.entries()).map(([e, t]) => ({
3789
+ cameraName: e,
3790
+ refCount: t.refCount,
3791
+ mode: t.stream.activeMode.value,
3792
+ resolution: t.stream.activeResolution.value
3793
+ }));
3794
+ }
3795
+ pickVisibleConsumer(e, t) {
3796
+ let n;
3797
+ for (let r of e.consumerContainerRefs) {
3798
+ let e = r.value;
3799
+ if (e && e !== t && e.isConnected) {
3800
+ if (e.checkVisibility?.() ?? e.offsetParent !== null) return {
3801
+ ref: r,
3802
+ el: e
3803
+ };
3804
+ n ??= {
3805
+ ref: r,
3806
+ el: e
3807
+ };
3808
+ }
3809
+ }
3810
+ return n;
3811
+ }
3812
+ cancelRelease(e) {
3813
+ let t = this.releaseTimers.get(e);
3814
+ t && (clearTimeout(t), this.releaseTimers.delete(e));
3815
+ }
3816
+ doRelease(e) {
3817
+ let t = this.streams.get(e);
3818
+ t && (t.refCount <= 0 && (Li(t.stream), this.streams.delete(e)), this.releaseTimers.delete(e));
3819
+ }
3820
+ };
3821
+ function Li(e) {
3822
+ let t = e;
3823
+ typeof t.destroy == "function" ? t.destroy() : t.stop();
3824
+ }
3825
+ var $ = new Ii();
3826
+ function Ri() {
3827
+ return $.restartConnected();
3828
+ }
3829
+ var zi = /* @__PURE__ */ new WeakMap(), Bi = null;
3830
+ function Vi(e) {
3831
+ Bi = e;
3832
+ }
3833
+ var Hi = [], Ui = i(null);
3834
+ function Wi() {
3835
+ Ui.value = Hi[Hi.length - 1] ?? null;
3836
+ }
3837
+ function Gi() {
3838
+ return s(() => Ui.value);
3839
+ }
3840
+ function Ki(e, t = {}) {
3841
+ let n = t.mode ?? "fit", a = r(!1), l = i(null);
3842
+ c(() => o(e), (e) => {
3843
+ l.value = e ?? null;
3844
+ }, { immediate: !0 });
3845
+ function u(e) {
3846
+ e.key === "Escape" && a.value && f();
3847
+ }
3848
+ async function d() {
3849
+ let e = l.value;
3850
+ if (!e || a.value) return;
3851
+ let t = document.createElement("div");
3852
+ t.className = `cui-fullscreen cui-fullscreen-${n}`, qi(t, n);
3853
+ let r = document.createComment("cui-fullscreen");
3854
+ e.before(r);
3855
+ let i = {
3856
+ wrapper: t,
3857
+ parent: e.parentElement,
3858
+ placeholder: r,
3859
+ bodyOverflow: document.body.style.overflow,
3860
+ htmlOverflow: document.documentElement.style.overflow,
3861
+ scrollY: window.scrollY
3862
+ };
3863
+ zi.set(e, i), e.setAttribute("data-cui-fullscreen", n), (Bi ?? document.body).appendChild(t), t.appendChild(e), document.body.style.overflow = "hidden", document.documentElement.style.overflow = "hidden", window.scrollTo({
3864
+ top: 0,
3865
+ behavior: "instant"
3866
+ }), document.addEventListener("keydown", u), Hi.push(t), Wi(), a.value = !0;
3867
+ }
3868
+ async function f() {
3869
+ let e = l.value;
3870
+ if (!e || !a.value) return;
3871
+ let t = zi.get(e);
3872
+ if (!t) return;
3873
+ zi.delete(e), e.removeAttribute("data-cui-fullscreen"), t.placeholder.parentNode ? t.placeholder.replaceWith(e) : t.parent?.appendChild(e), t.wrapper.remove(), document.body.style.overflow = t.bodyOverflow, document.documentElement.style.overflow = t.htmlOverflow, window.scrollTo({
3874
+ top: t.scrollY,
3875
+ behavior: "instant"
3876
+ }), document.removeEventListener("keydown", u);
3877
+ let n = Hi.indexOf(t.wrapper);
3878
+ n !== -1 && Hi.splice(n, 1), Wi(), a.value = !1;
3879
+ }
3880
+ async function m() {
3881
+ a.value ? await f() : await d();
3882
+ }
3883
+ return p(() => {
3884
+ a.value && l.value && f(), document.removeEventListener("keydown", u);
3885
+ }), {
3886
+ isFullscreen: s(() => a.value),
3887
+ isSupported: s(() => !0),
3888
+ enter: d,
3889
+ exit: f,
3890
+ toggle: m
3891
+ };
3892
+ }
3893
+ function qi(e, t) {
3894
+ let n = {
3895
+ position: "fixed",
3896
+ top: "0",
3897
+ right: "0",
3898
+ bottom: "0",
3899
+ left: "0",
3900
+ zIndex: "2147483647",
3901
+ margin: "0",
3902
+ background: "black",
3903
+ paddingTop: "env(safe-area-inset-top)",
3904
+ paddingRight: "env(safe-area-inset-right)",
3905
+ paddingBottom: "env(safe-area-inset-bottom)",
3906
+ paddingLeft: "env(safe-area-inset-left)",
3907
+ boxSizing: "border-box"
3908
+ };
3909
+ t === "fit" ? Object.assign(e.style, n, {
3910
+ display: "flex",
3911
+ alignItems: "center",
3912
+ justifyContent: "center",
3913
+ overflow: "hidden"
3914
+ }) : Object.assign(e.style, n, {
3915
+ display: "block",
3916
+ overflowY: "auto",
3917
+ overflowX: "hidden",
3918
+ WebkitOverflowScrolling: "touch",
3919
+ overscrollBehavior: "contain"
3920
+ });
3921
+ }
3922
+ var Ji = 75, Yi = 500, Xi = 1e4, Zi = 2, Qi = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=", $i = 0, ea = 0;
3923
+ function ta() {
3924
+ let e = performance.now();
3925
+ e - ea > Yi && ($i = 0);
3926
+ let t = $i * Ji;
3927
+ return $i++, ea = e, t;
3928
+ }
3929
+ function na(e) {
3930
+ return !e || !e.isConnected ? !1 : e.checkVisibility?.() ?? e.offsetParent !== null;
3931
+ }
3932
+ function ra(e) {
3933
+ let { activityConfig: t, autoStart: a = !0, isolated: l = !1 } = e, u = l, d, f = () => o(a), m = e.startDelay ?? ta(), h = [], { isConnected: g } = k(), _ = s(() => o(e.camera)), v = s(() => typeof _.value == "string"), y = s(() => {
3934
+ let e = _.value;
3935
+ return typeof e == "string" ? e : e.name.value;
3936
+ }), { camera: b, isLoading: x } = ft(s(() => v.value ? y.value : "")), S = s(() => v.value && x.value), C = s(() => v.value ? b.value : _.value), w, T, E, D = i(), O = i(), A = i(), j = i(), M = i(), ee = i(), te = r(!1), N = r(!1), P = r(!1), ne = r(0), re = r(0), F = r(!1), ie = r(!1), I = r(!1), L = r(m <= 0), R, z, B = !1, ae = !1;
3937
+ m > 0 && (w = setTimeout(() => {
3938
+ L.value = !0;
3939
+ }, m)), c(C, (e) => {
3940
+ ee.value = e;
3941
+ }, { immediate: !0 });
3942
+ let V = s(() => ee.value?.disabled.value === !0), H = s(() => M.value?.status.value ?? "idle"), oe = s(() => M.value?.isPlaying.value ?? !1), se = s(() => M.value?.stalled?.value ?? !1), ce = s(() => M.value?.activeMode.value ?? "webrtc"), le = s(() => M.value?.activeResolution.value ?? "low-resolution"), ue = s(() => M.value?.degradedFrom.value ?? null), de = s(() => H.value === "unsupported"), fe = s(() => M.value?.hasAudio.value ?? !1), pe = s(() => M.value?.hasBackchannel.value ?? !1), me = s(() => M.value?.error.value), he = s(() => H.value === "reconnecting"), ge = s(() => S.value || !oe.value && H.value !== "error" && H.value !== "unsupported"), U = s(() => fe.value && H.value === "connected"), _e = s(() => !!(typeof navigator < "u" && navigator.mediaDevices) && pe.value), ve = s(() => M.value?.muted.value ?? !0), ye = s(() => M.value?.paused.value ?? !1), be = s(() => typeof document < "u" && document.pictureInPictureEnabled && !!A.value), xe = s(() => A.value), Se = s(() => O.value ?? D.value), W = vr({
3943
+ initialMode: o(e.activityMode) ?? "always-on",
3944
+ config: t,
3945
+ onStreamStart: () => {
3946
+ !V.value && !Fe() && M.value?.start();
3947
+ },
3948
+ onStreamStop: () => {
3949
+ if (te.value) {
3950
+ let e = E ?? y.value;
3951
+ if (e && $.getRefCount(e) > 1) return;
3952
+ }
3953
+ M.value?.stop();
3954
+ },
3955
+ isStreamPlaying: () => oe.value
3956
+ }), { isFullscreen: Ce, toggle: we } = Ki(Se);
3957
+ function Te() {
3958
+ return T = Fi({
3959
+ camera: ee,
3960
+ videoElement: j,
3961
+ containerElement: D,
3962
+ mode: s(() => o(e.mode) ?? "auto"),
3963
+ resolution: s(() => o(e.resolution) ?? "high-resolution"),
3964
+ autoStart: !1
3965
+ }), T;
3966
+ }
3967
+ let G = Te();
3968
+ function Ee() {
3969
+ let e = document.createElement("video");
3970
+ return e.autoplay = !0, e.playsInline = !0, e.muted = !0, e.disablePictureInPicture = !1, e.preload = "auto", e.poster = Qi, e.style.position = "absolute", e.style.width = "100%", e.style.height = "100%", e.style.inset = "0", e.style.objectFit = "fill", e;
3971
+ }
3972
+ function De(e, t) {
3973
+ e.parentElement && e.parentElement !== t && e.parentElement.removeChild(e), e.parentElement !== t && t.appendChild(e);
3974
+ }
3975
+ function K() {
3976
+ if (u) return;
3977
+ let e = D.value, t = A.value;
3978
+ if (!e || !t || t.parentElement === e || !na(e) || na(t.parentElement)) return;
3979
+ De(t, e), t.play().catch(() => {});
3980
+ let n = y.value, r = n ? $.get(n) : void 0;
3981
+ r && (r.containerElementRef = D);
3982
+ }
3983
+ function Oe() {
3984
+ F.value = !0;
3985
+ }
3986
+ function ke() {
3987
+ F.value = !1;
3988
+ }
3989
+ function Ae() {
3990
+ F.value = ii(A.value);
3991
+ }
3992
+ function je() {
3993
+ return H.value !== "idle" && H.value !== "closed" && H.value !== "unsupported";
3994
+ }
3995
+ function q() {
3996
+ let e = A.value;
3997
+ if (!e || e.readyState < Zi || !e.videoWidth || !e.videoHeight) return;
3998
+ let t = Math.round((D.value?.clientWidth || e.videoWidth) * (globalThis.devicePixelRatio || 1)), n = document.createElement("canvas");
3999
+ n.width = Math.min(e.videoWidth, t), n.height = Math.round(e.videoHeight * n.width / e.videoWidth);
4000
+ try {
4001
+ n.getContext("2d")?.drawImage(e, 0, 0, n.width, n.height), e.poster = n.toDataURL("image/jpeg", .8);
4002
+ } catch {}
4003
+ }
4004
+ function Me() {
4005
+ clearTimeout(R), R = void 0;
4006
+ }
4007
+ function Ne() {
4008
+ clearTimeout(z), z = void 0;
4009
+ }
4010
+ function Pe() {
4011
+ I.value ? (Ne(), F.value || ie.value || ye.value || !je() ? Me() : R ??= setTimeout(Ie, ae ? Xi : 0)) : (Me(), B && Le());
4012
+ }
4013
+ function Fe() {
4014
+ return !I.value || ae ? !1 : (B = !0, !0);
4015
+ }
4016
+ function Ie() {
4017
+ R = void 0, !(!I.value || F.value || ie.value || ye.value || W.inStandby.value || !je()) && (ii(A.value) ? F.value = !0 : E && $.getRefCount(E) > 1 ? R = setTimeout(Ie, Xi) : (q(), M.value?.stop(), B = !0));
4018
+ }
4019
+ function Le() {
4020
+ z ??= setTimeout(() => {
4021
+ z = void 0, !I.value && B && (B = !1, !(V.value || !f() || W.inStandby.value) && (H.value === "idle" || H.value === "closed") && M.value?.start());
4022
+ }, ta());
4023
+ }
4024
+ function Re() {
4025
+ if (N.value) return;
4026
+ let e = D.value, t = C.value;
4027
+ if (!e || !t || !g.value) return;
4028
+ N.value = !0, te.value = !1, M.value = G, h.push($.track(G));
4029
+ let n = Ee();
4030
+ A.value = n, j.value = n, f() && L.value && W.mode.value === "always-on" && !V.value && !Fe() && G.start();
4031
+ }
4032
+ function ze() {
4033
+ if (N.value) return;
4034
+ if (u) {
4035
+ Re();
4036
+ return;
4037
+ }
4038
+ let e = D.value, t = y.value, n = C.value;
4039
+ if (!e || !t || !g.value) return;
4040
+ let r = $.get(t);
4041
+ if (r && r.refCount > 0) {
4042
+ let n = r.containerElementRef.value;
4043
+ if (n && n !== e && na(n)) {
4044
+ d || (d = setTimeout(() => {
4045
+ if (d = void 0, P.value || N.value) return;
4046
+ let e = $.get(t), n = e?.containerElementRef.value;
4047
+ e && e.refCount > 0 && n && n !== D.value && na(n) && (u = !0), ze();
4048
+ }, 200), h.push(() => {
4049
+ d && clearTimeout(d), d = void 0;
4050
+ }));
4051
+ return;
4052
+ }
4053
+ }
4054
+ let i = $.acquire(t, D);
4055
+ if (i) {
4056
+ N.value = !0, E = t, te.value = !0, M.value = i.stream, n && i.cameraDeviceRef && (i.cameraDeviceRef.value = n);
4057
+ let r = i.sharedVideoElement;
4058
+ r || (r = Ee(), i.sharedVideoElement = r, $.updateSharedVideoElement(t, r)), i.mediaStream?.active && (r.srcObject = i.mediaStream), e && (i.containerElementRef = D), A.value = r, i.videoElementRef.value = r, He(i.stream, r, t), f() && L.value && W.mode.value === "always-on" && !V.value && !Fe() && (i.stream.activeMode.value === "mse" ? r.play().catch(() => {}) : Be(i, r, t));
4059
+ } else if (n) {
4060
+ N.value = !0, E = t, te.value = !1, M.value = G;
4061
+ let e = Ee();
4062
+ A.value = e, j.value = e, $.register(t, G, j, ee, D, e), f() && L.value && W.mode.value === "always-on" && !V.value && !Fe() && G.start();
4063
+ let n = c(() => G.isPlaying.value, (n) => {
4064
+ n && e.srcObject instanceof MediaStream && $.updateMediaStream(t, e.srcObject);
4065
+ }, { immediate: !0 });
4066
+ h.push(n);
4067
+ let r = c(() => G.status.value, (n) => {
4068
+ n === "connected" && e.srcObject instanceof MediaStream && $.updateMediaStream(t, e.srcObject);
4069
+ });
4070
+ h.push(r);
4071
+ }
4072
+ }
4073
+ function Be(e, t, n) {
4074
+ if (!e) return;
4075
+ let r = e.stream, i = r.activeMode.value, a = r.status.value, o = e.mediaStream?.active && e.mediaStream.getTracks().some((e) => e.readyState === "live");
4076
+ i === "mse" ? ($.updateMediaStream(n, null), r.restart()) : o && e.mediaStream ? (t.srcObject = e.mediaStream, t.play().catch(() => {})) : a === "idle" || a === "closed" ? (r.start(), Ve(r, t, n)) : (a === "connected" && r.restart(), Ve(r, t, n));
4077
+ }
4078
+ function Ve(e, t, n) {
4079
+ let r = c([() => e.isPlaying.value, () => e.status.value], ([e, i]) => {
4080
+ if (i === "connected" || e) {
4081
+ let e = $.get(n)?.mediaStream;
4082
+ e?.active && e.getTracks().some((e) => e.readyState === "live") ? (t.srcObject = e, t.play().catch(() => {}), r()) : t.srcObject instanceof MediaStream && ($.updateMediaStream(n, t.srcObject), t.play().catch(() => {}), r());
4083
+ }
4084
+ }, { immediate: !0 });
4085
+ h.push(r);
4086
+ }
4087
+ function He(e, t, n) {
4088
+ let r = e.status.value !== "connected", i = c(() => e.status.value, (e) => {
4089
+ e === "reconnecting" || e === "connecting" ? r = !0 : e === "connected" && r && (r = !1, setTimeout(() => {
4090
+ t.srcObject instanceof MediaStream && ($.updateMediaStream(n, t.srcObject), t.play().catch(() => {}));
4091
+ }, 100));
4092
+ }, { immediate: !0 });
4093
+ h.push(i);
4094
+ let a = c(() => e.isPlaying.value, (r) => {
4095
+ r && e.activeMode.value !== "mse" && t.srcObject instanceof MediaStream && ($.updateMediaStream(n, t.srcObject), t.play().catch(() => {}));
4096
+ }, { immediate: !0 });
4097
+ h.push(a);
4098
+ }
4099
+ async function Ue() {
4100
+ V.value || (W.inStandby.value ? W.resumeFromStandby() : await M.value?.start());
4101
+ }
4102
+ function We() {
4103
+ M.value?.stop();
4104
+ }
4105
+ async function Ge() {
4106
+ await M.value?.restart();
4107
+ }
4108
+ function Ke() {
4109
+ V.value || W.resumeFromStandby();
4110
+ }
4111
+ async function qe(e) {
4112
+ let t = y.value;
4113
+ t && $.updateMediaStream(t, null), await M.value?.setMode(e);
4114
+ }
4115
+ async function Je(e) {
4116
+ await M.value?.setResolution(e);
4117
+ }
4118
+ async function Ye(e) {
4119
+ await M.value?.setMicrophone(e);
4120
+ }
4121
+ function Xe(e) {
4122
+ W.setMode(e);
4123
+ }
4124
+ function Ze() {
4125
+ let t = o(e.activityMode);
4126
+ t && t !== W.mode.value && W.setMode(t);
4127
+ }
4128
+ function Qe(e) {
4129
+ W.reportActivity(e);
4130
+ }
4131
+ function $e() {
4132
+ W.resetIdleTimer();
4133
+ }
4134
+ function J(e) {
4135
+ ie.value = e, W.setKeepAwake(e);
4136
+ }
4137
+ function et(e) {
4138
+ M.value?.setMuted(e);
4139
+ let t = A.value;
4140
+ t && (t.muted = e);
4141
+ }
4142
+ async function tt() {
4143
+ await M.value?.play();
4144
+ }
4145
+ function nt() {
4146
+ M.value?.pause();
4147
+ }
4148
+ function rt() {
4149
+ document.pictureInPictureElement ? document.exitPictureInPicture() : document.pictureInPictureEnabled && A.value && A.value.requestPictureInPicture();
4150
+ }
4151
+ function it() {
4152
+ let e = A.value;
4153
+ if (!e || e.videoWidth === 0) return null;
4154
+ let t = document.createElement("canvas");
4155
+ return t.width = e.videoWidth, t.height = e.videoHeight, t.getContext("2d")?.drawImage(e, 0, 0), t.toDataURL("image/png");
4156
+ }
4157
+ function at() {
4158
+ if (P.value) return;
4159
+ P.value = !0, w &&= (clearTimeout(w), void 0), Me(), Ne(), M.value?.setMuted(!0);
4160
+ let e = A.value;
4161
+ e && (e.muted = !0);
4162
+ for (let e of h) e();
4163
+ if (h.length = 0, u) T?.destroy();
4164
+ else {
4165
+ let e = E, t = A.value;
4166
+ e && N.value && $.release(e, t, D), (!N.value || M.value !== G) && T?.destroy();
4167
+ }
4168
+ W.dispose();
4169
+ }
4170
+ function ot(t) {
4171
+ let n = o(e.canvasStyle), r = o(e.canvasClass);
4172
+ if (n) {
4173
+ if (typeof n == "string") t.style.cssText += ";" + n;
4174
+ else if (Array.isArray(n)) for (let e of n) typeof e == "string" ? t.style.cssText += ";" + e : e && Object.assign(t.style, e);
4175
+ else Object.assign(t.style, n);
4176
+ }
4177
+ if (r) {
4178
+ if (typeof r == "string") t.className = r;
4179
+ else if (Array.isArray(r)) t.className = r.filter(Boolean).join(" ");
4180
+ else for (let [e, n] of Object.entries(r)) t.classList.toggle(e, !!n);
4181
+ }
4182
+ }
4183
+ if (typeof IntersectionObserver < "u") {
4184
+ let e, t = c(D, (t) => {
4185
+ if (e?.disconnect(), e = void 0, !t) return;
4186
+ let n = Math.round(t.getBoundingClientRect().height), r = n > 0 ? `${n}px 0px` : "25% 0px";
4187
+ e = new IntersectionObserver((e) => {
4188
+ let t = e[e.length - 1];
4189
+ t && (I.value = !t.isIntersecting, t.isIntersecting && (ae = !0, K()));
4190
+ }, {
4191
+ rootMargin: r,
4192
+ scrollMargin: r
4193
+ }), e.observe(t);
4194
+ }, { immediate: !0 }), n = c([
4195
+ I,
4196
+ H,
4197
+ F,
4198
+ ie,
4199
+ ye
4200
+ ], Pe);
4201
+ h.push(() => {
4202
+ t(), n(), e?.disconnect();
4203
+ });
4204
+ }
4205
+ if (e.canvasStyle !== void 0 || e.canvasClass !== void 0) {
4206
+ let e, t = c(D, (t) => {
4207
+ if (e?.(), e = void 0, !t) return;
4208
+ Array.from(t.querySelectorAll("canvas")).forEach((e) => {
4209
+ ot(e);
4210
+ });
4211
+ let n = new MutationObserver((e) => {
4212
+ for (let t of e) Array.from(t.addedNodes).forEach((e) => {
4213
+ e instanceof HTMLCanvasElement ? ot(e) : e instanceof HTMLElement && Array.from(e.querySelectorAll("canvas")).forEach((e) => ot(e));
4214
+ });
4215
+ });
4216
+ n.observe(t, {
4217
+ childList: !0,
4218
+ subtree: !0
4219
+ }), e = () => n.disconnect();
4220
+ }, { immediate: !0 });
4221
+ h.push(() => {
4222
+ t(), e?.();
4223
+ });
4224
+ }
4225
+ if (e.videoStyle !== void 0 || e.videoClass !== void 0) {
4226
+ let t = c([
4227
+ A,
4228
+ () => o(e.videoStyle),
4229
+ () => o(e.videoClass)
4230
+ ], ([e, t, n]) => {
4231
+ if (e) {
4232
+ if (t) {
4233
+ if (typeof t == "string") e.style.cssText += ";" + t;
4234
+ else if (Array.isArray(t)) for (let n of t) typeof n == "string" ? e.style.cssText += ";" + n : n && Object.assign(e.style, n);
4235
+ else Object.assign(e.style, t);
4236
+ }
4237
+ if (n) {
4238
+ if (typeof n == "string") e.className = n;
4239
+ else if (Array.isArray(n)) e.className = n.filter(Boolean).join(" ");
4240
+ else for (let [t, r] of Object.entries(n)) e.classList.toggle(t, r);
4241
+ }
4242
+ }
4243
+ }, { immediate: !0 });
4244
+ h.push(t);
4245
+ }
4246
+ let st = c([() => M.value?.nativeWidth.value, () => M.value?.nativeHeight.value], ([e, t]) => {
4247
+ e && e > 0 && (ne.value = e), t && t > 0 && (re.value = t);
4248
+ });
4249
+ h.push(st);
4250
+ let ct = c(A, (e, t) => {
4251
+ t && (t.removeEventListener("enterpictureinpicture", Oe), t.removeEventListener("leavepictureinpicture", ke), t.removeEventListener("webkitpresentationmodechanged", Ae)), e && (e.addEventListener("enterpictureinpicture", Oe), e.addEventListener("leavepictureinpicture", ke), e.addEventListener("webkitpresentationmodechanged", Ae));
4252
+ }, { immediate: !0 });
4253
+ h.push(ct), c([D, A], ([e, t]) => {
4254
+ e && t && De(t, e);
4255
+ }, { immediate: !0 }), c(() => o(e.activityMode), Ze), c([
4256
+ D,
4257
+ C,
4258
+ g,
4259
+ L
4260
+ ], () => {
4261
+ N.value ? L.value && f() && W.mode.value === "always-on" && !oe.value && H.value === "idle" && !V.value && !Fe() && M.value?.start() : ze();
4262
+ }, { immediate: !0 });
4263
+ let lt = !1;
4264
+ return c(() => N.value && L.value && f() && !V.value, (e) => {
4265
+ e && !lt && (lt = !0, Ze(), W.engage());
4266
+ }, { immediate: !0 }), c(oe, (e) => {
4267
+ if (!e) return;
4268
+ W.resetIdleTimer();
4269
+ let t = A.value;
4270
+ t && t.poster !== Qi && (t.poster = Qi);
4271
+ }), c(V, (e, t) => {
4272
+ N.value && (!t && e ? M.value?.stop() : t && !e && f() && !W.inStandby.value && M.value?.restart());
4273
+ }), n(at), p(at), {
4274
+ status: H,
4275
+ isPlaying: oe,
4276
+ stalled: se,
4277
+ activeMode: ce,
4278
+ activeResolution: le,
4279
+ degradedFrom: ue,
4280
+ unsupported: de,
4281
+ hasAudio: fe,
4282
+ hasBackchannel: pe,
4283
+ error: me,
4284
+ isReconnecting: he,
4285
+ activityMode: W.mode,
4286
+ inStandby: W.inStandby,
4287
+ hasActivity: W.hasActivity,
4288
+ isBusy: ge,
4289
+ hasSound: U,
4290
+ hasIntercom: _e,
4291
+ videoElement: A,
4292
+ containerElement: D,
4293
+ fullscreenElement: O,
4294
+ renderElement: xe,
4295
+ stream: M,
4296
+ muted: ve,
4297
+ paused: ye,
4298
+ nativeWidth: ne,
4299
+ nativeHeight: re,
4300
+ isPip: F,
4301
+ supportsPip: be,
4302
+ isFullscreen: Ce,
4303
+ start: Ue,
4304
+ stop: We,
4305
+ restart: Ge,
4306
+ resumeFromStandby: Ke,
4307
+ setMode: qe,
4308
+ setResolution: Je,
4309
+ setMicrophone: Ye,
4310
+ setActivityMode: Xe,
4311
+ reportActivity: Qe,
4312
+ resetIdleTimer: $e,
4313
+ setKeepAwake: J,
4314
+ setMuted: et,
4315
+ play: tt,
4316
+ pause: nt,
4317
+ togglePip: rt,
4318
+ isCameraDisabled: V,
4319
+ toggleFullscreen: we,
4320
+ captureScreenshot: it
4321
+ };
4322
+ }
4323
+ function ia() {
4324
+ let e = k(), t = M.coreManagerNamespaces(), n = (e) => e.createProxy(t.coreManagerRpc);
4325
+ return {
4326
+ getFFmpegPath: () => I(e.rpc, (e) => n(e).getFFmpegPath()),
4327
+ getServerAddresses: () => I(e.rpc, (e) => n(e).getServerAddresses()),
4328
+ getPluginsByInterface: (t) => I(e.rpc, (e) => n(e).getPluginsByInterface(t)),
4329
+ getCloudServerId: () => I(e.rpc, (e) => n(e).getCloudServerId()),
4330
+ getRestoreGeneration: () => I(e.rpc, (e) => n(e).getRestoreGeneration()),
4331
+ getInstanceId: () => I(e.rpc, (e) => n(e).getInstanceId())
4332
+ };
4333
+ }
4334
+ function aa() {
4335
+ let e = k(), { rpc: t, isConnected: n } = e, a = M.terminalManagerNamespaces(), o = i(), s = r(!1), c = r(!1), l = r(), d = r({
4336
+ cols: 80,
4337
+ rows: 24
4338
+ }), f, m, h = 0, g, _, v = !1, y = !1, b = (e) => e.createProxy(a.terminalManagerRpc);
4339
+ async function x(e) {
4340
+ if (!(c.value || s.value)) {
4341
+ c.value = !0, l.value = void 0, m = e;
4342
+ try {
4343
+ let n = await I(t, (t) => b(t).createSession({
4344
+ cols: e?.cols ?? 80,
4345
+ rows: e?.rows ?? 24,
4346
+ cwd: e?.cwd,
4347
+ shell: e?.shell,
4348
+ env: e?.env
4349
+ }), { maxRetries: 0 });
4350
+ o.value = n.sessionId, d.value = n.dimensions, s.value = !0, f = new AbortController(), v = !1, y = !1;
4351
+ let r = ++h;
4352
+ S(n.sessionId, e, r);
4353
+ } catch (t) {
4354
+ l.value = t instanceof Error ? t : Error(String(t)), e?.onError?.(l.value);
4355
+ } finally {
4356
+ c.value = !1;
4357
+ }
4358
+ }
4359
+ }
4360
+ async function S(e, n, r) {
4361
+ try {
4362
+ let i = t.value;
4363
+ if (!i) return;
4364
+ let a = b(i).generateOutput(e);
4365
+ g = a, _ = i;
4366
+ for await (let e of a) {
4367
+ if (r !== h || f?.signal.aborted) break;
4368
+ n?.onData?.(e);
4369
+ }
4370
+ } catch (e) {
4371
+ if (r === h && !f?.signal.aborted) {
4372
+ if (y) {
4373
+ O();
4374
+ return;
4375
+ }
4376
+ l.value = e instanceof Error ? e : Error(String(e)), n?.onError?.(l.value);
4377
+ }
4378
+ } finally {
4379
+ r === h && !f?.signal.aborted && (s.value = !1, D(e), n?.onClose?.());
4380
+ }
4381
+ }
4382
+ async function C(e) {
4383
+ if (o.value && s.value) try {
4384
+ await I(t, (t) => b(t).writeInput(o.value, e));
4385
+ } catch (e) {
4386
+ l.value = e instanceof Error ? e : Error(String(e)), m?.onError?.(l.value);
4387
+ }
4388
+ }
4389
+ async function w(e) {
4390
+ if (o.value && s.value) try {
4391
+ await I(t, (t) => b(t).resize(o.value, e)), d.value = e;
4392
+ } catch (e) {
4393
+ l.value = e instanceof Error ? e : Error(String(e)), m?.onError?.(l.value);
4394
+ }
4395
+ }
4396
+ async function T() {
4397
+ E(), o.value && await D(o.value), o.value = void 0, s.value = !1, m = void 0;
4398
+ }
4399
+ function E() {
4400
+ f?.abort(), h++, g?.return(void 0).catch(() => void 0), g = void 0, _ = void 0, y = !1;
4401
+ }
4402
+ function D(e) {
4403
+ return I(t, (t) => b(t).closeSession(e), {
4404
+ awaitConnect: !1,
4405
+ maxRetries: 0
4406
+ }).catch(() => void 0);
4407
+ }
4408
+ function O() {
4409
+ let e = m, t = o.value;
4410
+ E(), t && D(t), o.value = void 0, s.value = !1, m = void 0, e?.onClose?.(), e && x(e);
4411
+ }
4412
+ function A() {
4413
+ (o.value || s.value) && (s.value && !v && t.value === _ ? y = !0 : O());
4414
+ }
4415
+ function j() {
4416
+ v = !0;
4417
+ }
4418
+ return e.on("reconnected", A), e.on("disconnected", j), p(() => {
4419
+ e.off("reconnected", A), e.off("disconnected", j), T();
4420
+ }), {
4421
+ sessionId: u(o),
4422
+ isConnected: u(s),
4423
+ isConnecting: u(c),
4424
+ isClientConnected: u(n),
4425
+ error: u(l),
4426
+ dimensions: u(d),
4427
+ connect: x,
4428
+ write: C,
4429
+ resize: w,
4430
+ close: T
4431
+ };
4432
+ }
4433
+ //#endregion
4434
+ export { Tt as A, Gi as B, k as C, Vn as D, Ki as E, sr as F, _ as G, x as H, Fn as I, v as K, Ke as L, Un as M, Zt as N, Hn as O, ar as P, G as R, ra as S, ia as T, C as U, b as V, S as W, Ri as _, pn as a, ft as b, $t as c, sn as d, en as f, cr as g, cn as h, nn as i, Bn as j, zn as k, on as l, an as m, tn as n, ln as o, dn as p, rn as r, fn as s, gr as t, un as u, Vi as v, Wn as w, or as x, In as y, aa as z };