prismcast 1.10.2 → 1.11.0

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 (693) hide show
  1. package/dist/app.d.ts +6 -3
  2. package/dist/app.d.ts.map +1 -0
  3. package/dist/app.js +140 -86
  4. package/dist/app.js.map +1 -1
  5. package/dist/browser/blockedPage.d.ts +80 -0
  6. package/dist/browser/blockedPage.d.ts.map +1 -0
  7. package/dist/browser/blockedPage.js +209 -0
  8. package/dist/browser/blockedPage.js.map +1 -0
  9. package/dist/browser/browserSupervisor.d.ts +80 -0
  10. package/dist/browser/browserSupervisor.d.ts.map +1 -0
  11. package/dist/browser/browserSupervisor.js +186 -0
  12. package/dist/browser/browserSupervisor.js.map +1 -0
  13. package/dist/browser/cdp.d.ts +1 -0
  14. package/dist/browser/cdp.d.ts.map +1 -0
  15. package/dist/browser/cdp.js +6 -5
  16. package/dist/browser/cdp.js.map +1 -1
  17. package/dist/browser/channelSelection.d.ts +45 -14
  18. package/dist/browser/channelSelection.d.ts.map +1 -0
  19. package/dist/browser/channelSelection.js +81 -18
  20. package/dist/browser/channelSelection.js.map +1 -1
  21. package/dist/browser/consent.d.ts +152 -0
  22. package/dist/browser/consent.d.ts.map +1 -0
  23. package/dist/browser/consent.js +418 -0
  24. package/dist/browser/consent.js.map +1 -0
  25. package/dist/browser/display.d.ts +1 -0
  26. package/dist/browser/display.d.ts.map +1 -0
  27. package/dist/browser/hlsPlaylistObserver.d.ts +55 -0
  28. package/dist/browser/hlsPlaylistObserver.d.ts.map +1 -0
  29. package/dist/browser/hlsPlaylistObserver.js +132 -0
  30. package/dist/browser/hlsPlaylistObserver.js.map +1 -0
  31. package/dist/browser/index.d.ts +67 -40
  32. package/dist/browser/index.d.ts.map +1 -0
  33. package/dist/browser/index.js +508 -300
  34. package/dist/browser/index.js.map +1 -1
  35. package/dist/browser/launchGovernor.d.ts +89 -0
  36. package/dist/browser/launchGovernor.d.ts.map +1 -0
  37. package/dist/browser/launchGovernor.js +96 -0
  38. package/dist/browser/launchGovernor.js.map +1 -0
  39. package/dist/browser/login.d.ts +10 -2
  40. package/dist/browser/login.d.ts.map +1 -0
  41. package/dist/browser/login.js +36 -5
  42. package/dist/browser/login.js.map +1 -1
  43. package/dist/browser/manifestInterceptor.d.ts +102 -49
  44. package/dist/browser/manifestInterceptor.d.ts.map +1 -0
  45. package/dist/browser/manifestInterceptor.js +219 -237
  46. package/dist/browser/manifestInterceptor.js.map +1 -1
  47. package/dist/browser/pageStaleness.d.ts +30 -0
  48. package/dist/browser/pageStaleness.d.ts.map +1 -0
  49. package/dist/browser/pageStaleness.js +76 -0
  50. package/dist/browser/pageStaleness.js.map +1 -0
  51. package/dist/browser/precaching.d.ts +95 -3
  52. package/dist/browser/precaching.d.ts.map +1 -0
  53. package/dist/browser/precaching.js +499 -65
  54. package/dist/browser/precaching.js.map +1 -1
  55. package/dist/browser/tabNetworkObserver.d.ts +49 -0
  56. package/dist/browser/tabNetworkObserver.d.ts.map +1 -0
  57. package/dist/browser/tabNetworkObserver.js +144 -0
  58. package/dist/browser/tabNetworkObserver.js.map +1 -0
  59. package/dist/browser/tuning/cache.d.ts +61 -0
  60. package/dist/browser/tuning/cache.d.ts.map +1 -0
  61. package/dist/browser/tuning/cache.js +62 -0
  62. package/dist/browser/tuning/cache.js.map +1 -0
  63. package/dist/browser/tuning/comcastPolymer.d.ts +3 -2
  64. package/dist/browser/tuning/comcastPolymer.d.ts.map +1 -0
  65. package/dist/browser/tuning/comcastPolymer.js +79 -102
  66. package/dist/browser/tuning/comcastPolymer.js.map +1 -1
  67. package/dist/browser/tuning/cox.d.ts +1 -0
  68. package/dist/browser/tuning/cox.d.ts.map +1 -0
  69. package/dist/browser/tuning/directv.d.ts +1 -0
  70. package/dist/browser/tuning/directv.d.ts.map +1 -0
  71. package/dist/browser/tuning/directv.js +52 -46
  72. package/dist/browser/tuning/directv.js.map +1 -1
  73. package/dist/browser/tuning/fox.d.ts +1 -0
  74. package/dist/browser/tuning/fox.d.ts.map +1 -0
  75. package/dist/browser/tuning/fox.js +13 -12
  76. package/dist/browser/tuning/fox.js.map +1 -1
  77. package/dist/browser/tuning/gridSearch.d.ts +68 -0
  78. package/dist/browser/tuning/gridSearch.d.ts.map +1 -0
  79. package/dist/browser/tuning/gridSearch.js +85 -0
  80. package/dist/browser/tuning/gridSearch.js.map +1 -0
  81. package/dist/browser/tuning/hbo.d.ts +1 -0
  82. package/dist/browser/tuning/hbo.d.ts.map +1 -0
  83. package/dist/browser/tuning/hbo.js +73 -45
  84. package/dist/browser/tuning/hbo.js.map +1 -1
  85. package/dist/browser/tuning/hulu.d.ts +1 -0
  86. package/dist/browser/tuning/hulu.d.ts.map +1 -0
  87. package/dist/browser/tuning/hulu.js +128 -173
  88. package/dist/browser/tuning/hulu.js.map +1 -1
  89. package/dist/browser/tuning/shared.d.ts +75 -5
  90. package/dist/browser/tuning/shared.d.ts.map +1 -0
  91. package/dist/browser/tuning/shared.js +216 -6
  92. package/dist/browser/tuning/shared.js.map +1 -1
  93. package/dist/browser/tuning/sling.d.ts +1 -0
  94. package/dist/browser/tuning/sling.d.ts.map +1 -0
  95. package/dist/browser/tuning/sling.js +105 -126
  96. package/dist/browser/tuning/sling.js.map +1 -1
  97. package/dist/browser/tuning/spectrum.d.ts +1 -0
  98. package/dist/browser/tuning/spectrum.d.ts.map +1 -0
  99. package/dist/browser/tuning/spectrum.js +80 -125
  100. package/dist/browser/tuning/spectrum.js.map +1 -1
  101. package/dist/browser/tuning/thumbnailRow.d.ts +1 -0
  102. package/dist/browser/tuning/thumbnailRow.d.ts.map +1 -0
  103. package/dist/browser/tuning/thumbnailRow.js +8 -2
  104. package/dist/browser/tuning/thumbnailRow.js.map +1 -1
  105. package/dist/browser/tuning/tileClick.d.ts +1 -0
  106. package/dist/browser/tuning/tileClick.d.ts.map +1 -0
  107. package/dist/browser/tuning/tileClick.js +3 -2
  108. package/dist/browser/tuning/tileClick.js.map +1 -1
  109. package/dist/browser/tuning/xfinity.d.ts +1 -0
  110. package/dist/browser/tuning/xfinity.d.ts.map +1 -0
  111. package/dist/browser/tuning/youtubeTv.d.ts +1 -0
  112. package/dist/browser/tuning/youtubeTv.d.ts.map +1 -0
  113. package/dist/browser/tuning/youtubeTv.js +74 -127
  114. package/dist/browser/tuning/youtubeTv.js.map +1 -1
  115. package/dist/browser/video.d.ts +54 -14
  116. package/dist/browser/video.d.ts.map +1 -0
  117. package/dist/browser/video.js +296 -138
  118. package/dist/browser/video.js.map +1 -1
  119. package/dist/channels/index.d.ts +1 -0
  120. package/dist/channels/index.d.ts.map +1 -0
  121. package/dist/channels/index.js +12 -9
  122. package/dist/channels/index.js.map +1 -1
  123. package/dist/config/channelForm.d.ts +15 -1
  124. package/dist/config/channelForm.d.ts.map +1 -0
  125. package/dist/config/channelForm.js +28 -12
  126. package/dist/config/channelForm.js.map +1 -1
  127. package/dist/config/consistencyProbe.d.ts +1 -0
  128. package/dist/config/consistencyProbe.d.ts.map +1 -0
  129. package/dist/config/consistencyProbe.js +27 -21
  130. package/dist/config/consistencyProbe.js.map +1 -1
  131. package/dist/config/health.d.ts +41 -8
  132. package/dist/config/health.d.ts.map +1 -0
  133. package/dist/config/health.js +189 -38
  134. package/dist/config/health.js.map +1 -1
  135. package/dist/config/index.d.ts +55 -3
  136. package/dist/config/index.d.ts.map +1 -0
  137. package/dist/config/index.js +320 -69
  138. package/dist/config/index.js.map +1 -1
  139. package/dist/config/paths.d.ts +10 -9
  140. package/dist/config/paths.d.ts.map +1 -0
  141. package/dist/config/paths.js +11 -11
  142. package/dist/config/paths.js.map +1 -1
  143. package/dist/config/persistence.context.d.ts +1 -0
  144. package/dist/config/persistence.context.d.ts.map +1 -0
  145. package/dist/config/persistence.d.ts +13 -10
  146. package/dist/config/persistence.d.ts.map +1 -0
  147. package/dist/config/persistence.js +40 -21
  148. package/dist/config/persistence.js.map +1 -1
  149. package/dist/config/presets.d.ts +1 -0
  150. package/dist/config/presets.d.ts.map +1 -0
  151. package/dist/config/profiles.d.ts +22 -15
  152. package/dist/config/profiles.d.ts.map +1 -0
  153. package/dist/config/profiles.js +81 -47
  154. package/dist/config/profiles.js.map +1 -1
  155. package/dist/config/providerLineups.d.ts +47 -0
  156. package/dist/config/providerLineups.d.ts.map +1 -0
  157. package/dist/config/providerLineups.js +137 -0
  158. package/dist/config/providerLineups.js.map +1 -0
  159. package/dist/config/reactivity.d.ts +84 -0
  160. package/dist/config/reactivity.d.ts.map +1 -0
  161. package/dist/config/reactivity.js +226 -0
  162. package/dist/config/reactivity.js.map +1 -0
  163. package/dist/config/servicePacks.d.ts +18 -2
  164. package/dist/config/servicePacks.d.ts.map +1 -0
  165. package/dist/config/servicePacks.js +53 -11
  166. package/dist/config/servicePacks.js.map +1 -1
  167. package/dist/config/services.d.ts +21 -15
  168. package/dist/config/services.d.ts.map +1 -0
  169. package/dist/config/services.js +35 -24
  170. package/dist/config/services.js.map +1 -1
  171. package/dist/config/sites.d.ts +6 -4
  172. package/dist/config/sites.d.ts.map +1 -0
  173. package/dist/config/sites.js +15 -11
  174. package/dist/config/sites.js.map +1 -1
  175. package/dist/config/userChannels.d.ts +129 -30
  176. package/dist/config/userChannels.d.ts.map +1 -0
  177. package/dist/config/userChannels.js +333 -68
  178. package/dist/config/userChannels.js.map +1 -1
  179. package/dist/config/userConfig.d.ts +14 -9
  180. package/dist/config/userConfig.d.ts.map +1 -0
  181. package/dist/config/userConfig.js +87 -25
  182. package/dist/config/userConfig.js.map +1 -1
  183. package/dist/config/userProfiles.d.ts +10 -6
  184. package/dist/config/userProfiles.d.ts.map +1 -0
  185. package/dist/config/userProfiles.js +64 -39
  186. package/dist/config/userProfiles.js.map +1 -1
  187. package/dist/hdhr/channelMap.d.ts +1 -0
  188. package/dist/hdhr/channelMap.d.ts.map +1 -0
  189. package/dist/hdhr/deviceId.d.ts +1 -0
  190. package/dist/hdhr/deviceId.d.ts.map +1 -0
  191. package/dist/hdhr/discover.d.ts +1 -0
  192. package/dist/hdhr/discover.d.ts.map +1 -0
  193. package/dist/hdhr/discover.js +48 -47
  194. package/dist/hdhr/discover.js.map +1 -1
  195. package/dist/hdhr/getHandlers.d.ts +29 -0
  196. package/dist/hdhr/getHandlers.d.ts.map +1 -0
  197. package/dist/hdhr/getHandlers.js +196 -0
  198. package/dist/hdhr/getHandlers.js.map +1 -0
  199. package/dist/hdhr/identity.d.ts +36 -0
  200. package/dist/hdhr/identity.d.ts.map +1 -0
  201. package/dist/hdhr/identity.js +51 -0
  202. package/dist/hdhr/identity.js.map +1 -0
  203. package/dist/hdhr/index.d.ts +22 -4
  204. package/dist/hdhr/index.d.ts.map +1 -0
  205. package/dist/hdhr/index.js +229 -54
  206. package/dist/hdhr/index.js.map +1 -1
  207. package/dist/hdhr/protocol.d.ts +75 -0
  208. package/dist/hdhr/protocol.d.ts.map +1 -0
  209. package/dist/hdhr/protocol.js +264 -0
  210. package/dist/hdhr/protocol.js.map +1 -0
  211. package/dist/hdhr/tunerState.d.ts +24 -0
  212. package/dist/hdhr/tunerState.d.ts.map +1 -0
  213. package/dist/hdhr/tunerState.js +67 -0
  214. package/dist/hdhr/tunerState.js.map +1 -0
  215. package/dist/hdhr/udp.d.ts +43 -0
  216. package/dist/hdhr/udp.d.ts.map +1 -0
  217. package/dist/hdhr/udp.js +277 -0
  218. package/dist/hdhr/udp.js.map +1 -0
  219. package/dist/identity.d.ts +1 -0
  220. package/dist/identity.d.ts.map +1 -0
  221. package/dist/identity.js +13 -11
  222. package/dist/identity.js.map +1 -1
  223. package/dist/index.d.ts +1 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +11 -12
  226. package/dist/index.js.map +1 -1
  227. package/dist/native/codecInference.d.ts +1 -0
  228. package/dist/native/codecInference.d.ts.map +1 -0
  229. package/dist/native/codecInference.js +50 -5
  230. package/dist/native/codecInference.js.map +1 -1
  231. package/dist/native/decrypt.d.ts +6 -2
  232. package/dist/native/decrypt.d.ts.map +1 -0
  233. package/dist/native/decrypt.js +15 -8
  234. package/dist/native/decrypt.js.map +1 -1
  235. package/dist/native/index.d.ts +40 -17
  236. package/dist/native/index.d.ts.map +1 -0
  237. package/dist/native/index.js +281 -120
  238. package/dist/native/index.js.map +1 -1
  239. package/dist/native/probe.d.ts +114 -18
  240. package/dist/native/probe.d.ts.map +1 -0
  241. package/dist/native/probe.js +452 -115
  242. package/dist/native/probe.js.map +1 -1
  243. package/dist/native/proxy.d.ts +57 -5
  244. package/dist/native/proxy.d.ts.map +1 -0
  245. package/dist/native/proxy.js +604 -170
  246. package/dist/native/proxy.js.map +1 -1
  247. package/dist/native/tokenExpiry.d.ts +1 -0
  248. package/dist/native/tokenExpiry.d.ts.map +1 -0
  249. package/dist/native/tokenExpiry.js +1 -1
  250. package/dist/routes/assets.d.ts +1 -0
  251. package/dist/routes/assets.d.ts.map +1 -0
  252. package/dist/routes/assets.js +4 -2
  253. package/dist/routes/assets.js.map +1 -1
  254. package/dist/routes/auth.d.ts +1 -0
  255. package/dist/routes/auth.d.ts.map +1 -0
  256. package/dist/routes/auth.js +0 -1
  257. package/dist/routes/auth.js.map +1 -1
  258. package/dist/routes/cdp.d.ts +5 -5
  259. package/dist/routes/cdp.d.ts.map +1 -0
  260. package/dist/routes/cdp.js +59 -20
  261. package/dist/routes/cdp.js.map +1 -1
  262. package/dist/routes/channels.d.ts +1 -0
  263. package/dist/routes/channels.d.ts.map +1 -0
  264. package/dist/routes/channels.js +2 -1
  265. package/dist/routes/channels.js.map +1 -1
  266. package/dist/routes/clientActions.d.ts +98 -0
  267. package/dist/routes/clientActions.d.ts.map +1 -0
  268. package/dist/routes/clientActions.js +113 -0
  269. package/dist/routes/clientActions.js.map +1 -0
  270. package/dist/routes/components.d.ts +5 -3
  271. package/dist/routes/components.d.ts.map +1 -0
  272. package/dist/routes/components.js +36 -39
  273. package/dist/routes/components.js.map +1 -1
  274. package/dist/routes/config/channels/endpoints/browse.d.ts +1 -0
  275. package/dist/routes/config/channels/endpoints/browse.d.ts.map +1 -0
  276. package/dist/routes/config/channels/endpoints/browse.js +23 -10
  277. package/dist/routes/config/channels/endpoints/browse.js.map +1 -1
  278. package/dist/routes/config/channels/endpoints/bulk.d.ts +1 -0
  279. package/dist/routes/config/channels/endpoints/bulk.d.ts.map +1 -0
  280. package/dist/routes/config/channels/endpoints/bulk.js +5 -3
  281. package/dist/routes/config/channels/endpoints/bulk.js.map +1 -1
  282. package/dist/routes/config/channels/endpoints/crud.d.ts +1 -0
  283. package/dist/routes/config/channels/endpoints/crud.d.ts.map +1 -0
  284. package/dist/routes/config/channels/endpoints/crud.js +85 -93
  285. package/dist/routes/config/channels/endpoints/crud.js.map +1 -1
  286. package/dist/routes/config/channels/endpoints/importExport.d.ts +1 -0
  287. package/dist/routes/config/channels/endpoints/importExport.d.ts.map +1 -0
  288. package/dist/routes/config/channels/endpoints/importExport.js +6 -3
  289. package/dist/routes/config/channels/endpoints/importExport.js.map +1 -1
  290. package/dist/routes/config/channels/endpoints/predefined.d.ts +1 -0
  291. package/dist/routes/config/channels/endpoints/predefined.d.ts.map +1 -0
  292. package/dist/routes/config/channels/endpoints/prefs.d.ts +1 -0
  293. package/dist/routes/config/channels/endpoints/prefs.d.ts.map +1 -0
  294. package/dist/routes/config/channels/endpoints/prefs.js +2 -1
  295. package/dist/routes/config/channels/endpoints/prefs.js.map +1 -1
  296. package/dist/routes/config/channels/endpoints/service.d.ts +2 -1
  297. package/dist/routes/config/channels/endpoints/service.d.ts.map +1 -0
  298. package/dist/routes/config/channels/endpoints/service.js +3 -1
  299. package/dist/routes/config/channels/endpoints/service.js.map +1 -1
  300. package/dist/routes/config/channels/endpoints/tags.d.ts +1 -0
  301. package/dist/routes/config/channels/endpoints/tags.d.ts.map +1 -0
  302. package/dist/routes/config/channels/endpoints/tags.js +13 -7
  303. package/dist/routes/config/channels/endpoints/tags.js.map +1 -1
  304. package/dist/routes/config/channels/healthBridge.d.ts +24 -0
  305. package/dist/routes/config/channels/healthBridge.d.ts.map +1 -0
  306. package/dist/routes/config/channels/healthBridge.js +71 -0
  307. package/dist/routes/config/channels/healthBridge.js.map +1 -0
  308. package/dist/routes/config/channels/http/handler.d.ts +1 -0
  309. package/dist/routes/config/channels/http/handler.d.ts.map +1 -0
  310. package/dist/routes/config/channels/http/playlistHint.d.ts +2 -1
  311. package/dist/routes/config/channels/http/playlistHint.d.ts.map +1 -0
  312. package/dist/routes/config/channels/http/playlistHint.js +16 -2
  313. package/dist/routes/config/channels/http/playlistHint.js.map +1 -1
  314. package/dist/routes/config/channels/http/serviceWarning.d.ts +4 -2
  315. package/dist/routes/config/channels/http/serviceWarning.d.ts.map +1 -0
  316. package/dist/routes/config/channels/http/serviceWarning.js +3 -2
  317. package/dist/routes/config/channels/http/serviceWarning.js.map +1 -1
  318. package/dist/routes/config/channels/index.d.ts +1 -0
  319. package/dist/routes/config/channels/index.d.ts.map +1 -0
  320. package/dist/routes/config/channels/setup.d.ts +1 -0
  321. package/dist/routes/config/channels/setup.d.ts.map +1 -0
  322. package/dist/routes/config/channels/table.d.ts +3 -3
  323. package/dist/routes/config/channels/table.d.ts.map +1 -0
  324. package/dist/routes/config/channels/table.js +148 -107
  325. package/dist/routes/config/channels/table.js.map +1 -1
  326. package/dist/routes/config/http/envelope.d.ts +1 -0
  327. package/dist/routes/config/http/envelope.d.ts.map +1 -0
  328. package/dist/routes/config/index.d.ts +35 -3
  329. package/dist/routes/config/index.d.ts.map +1 -0
  330. package/dist/routes/config/index.js +51 -2
  331. package/dist/routes/config/index.js.map +1 -1
  332. package/dist/routes/config/services.d.ts +5 -4
  333. package/dist/routes/config/services.d.ts.map +1 -0
  334. package/dist/routes/config/services.js +57 -43
  335. package/dist/routes/config/services.js.map +1 -1
  336. package/dist/routes/config/settings.d.ts +1 -0
  337. package/dist/routes/config/settings.d.ts.map +1 -0
  338. package/dist/routes/config/settings.js +98 -49
  339. package/dist/routes/config/settings.js.map +1 -1
  340. package/dist/routes/debug.d.ts +1 -0
  341. package/dist/routes/debug.d.ts.map +1 -0
  342. package/dist/routes/debug.js +277 -139
  343. package/dist/routes/debug.js.map +1 -1
  344. package/dist/routes/health.d.ts +39 -1
  345. package/dist/routes/health.d.ts.map +1 -0
  346. package/dist/routes/health.js +33 -27
  347. package/dist/routes/health.js.map +1 -1
  348. package/dist/routes/hls.d.ts +1 -0
  349. package/dist/routes/hls.d.ts.map +1 -0
  350. package/dist/routes/icons.d.ts +1 -0
  351. package/dist/routes/icons.d.ts.map +1 -0
  352. package/dist/routes/icons.js +1 -1
  353. package/dist/routes/index.d.ts +1 -0
  354. package/dist/routes/index.d.ts.map +1 -0
  355. package/dist/routes/logs.d.ts +1 -0
  356. package/dist/routes/logs.d.ts.map +1 -0
  357. package/dist/routes/logs.js +14 -4
  358. package/dist/routes/logs.js.map +1 -1
  359. package/dist/routes/mpegts.d.ts +1 -0
  360. package/dist/routes/mpegts.d.ts.map +1 -0
  361. package/dist/routes/play.d.ts +1 -0
  362. package/dist/routes/play.d.ts.map +1 -0
  363. package/dist/routes/playlist.d.ts +1 -0
  364. package/dist/routes/playlist.d.ts.map +1 -0
  365. package/dist/routes/playlist.js +7 -2
  366. package/dist/routes/playlist.js.map +1 -1
  367. package/dist/routes/root/content.d.ts +8 -5
  368. package/dist/routes/root/content.d.ts.map +1 -0
  369. package/dist/routes/root/content.js +29 -26
  370. package/dist/routes/root/content.js.map +1 -1
  371. package/dist/routes/root/index.d.ts +2 -1
  372. package/dist/routes/root/index.d.ts.map +1 -0
  373. package/dist/routes/root/index.js +26 -21
  374. package/dist/routes/root/index.js.map +1 -1
  375. package/dist/routes/root/scripts/channels.d.ts +6 -0
  376. package/dist/routes/root/scripts/channels.d.ts.map +1 -0
  377. package/dist/routes/root/scripts/channels.js +197 -118
  378. package/dist/routes/root/scripts/channels.js.map +1 -1
  379. package/dist/routes/root/scripts/clientEscape.d.ts +22 -0
  380. package/dist/routes/root/scripts/clientEscape.d.ts.map +1 -0
  381. package/dist/routes/root/scripts/clientEscape.js +41 -0
  382. package/dist/routes/root/scripts/clientEscape.js.map +1 -0
  383. package/dist/routes/root/scripts/clientUrl.d.ts +23 -0
  384. package/dist/routes/root/scripts/clientUrl.d.ts.map +1 -0
  385. package/dist/routes/root/scripts/clientUrl.js +44 -0
  386. package/dist/routes/root/scripts/clientUrl.js.map +1 -0
  387. package/dist/routes/root/scripts/config.d.ts +6 -0
  388. package/dist/routes/root/scripts/config.d.ts.map +1 -0
  389. package/dist/routes/root/scripts/config.js +110 -24
  390. package/dist/routes/root/scripts/config.js.map +1 -1
  391. package/dist/routes/root/scripts/index.d.ts +1 -0
  392. package/dist/routes/root/scripts/index.d.ts.map +1 -0
  393. package/dist/routes/root/scripts/shared.d.ts +1 -0
  394. package/dist/routes/root/scripts/shared.d.ts.map +1 -0
  395. package/dist/routes/root/scripts/shared.js +112 -26
  396. package/dist/routes/root/scripts/shared.js.map +1 -1
  397. package/dist/routes/root/scripts/status.d.ts +1 -0
  398. package/dist/routes/root/scripts/status.d.ts.map +1 -0
  399. package/dist/routes/root/scripts/status.handlers.d.ts +23 -33
  400. package/dist/routes/root/scripts/status.handlers.d.ts.map +1 -0
  401. package/dist/routes/root/scripts/status.handlers.js +46 -92
  402. package/dist/routes/root/scripts/status.handlers.js.map +1 -1
  403. package/dist/routes/root/scripts/status.js +21 -8
  404. package/dist/routes/root/scripts/status.js.map +1 -1
  405. package/dist/routes/root/styles.d.ts +1 -0
  406. package/dist/routes/root/styles.d.ts.map +1 -0
  407. package/dist/routes/root/styles.js +7 -4
  408. package/dist/routes/root/styles.js.map +1 -1
  409. package/dist/routes/services.d.ts +13 -1
  410. package/dist/routes/services.d.ts.map +1 -0
  411. package/dist/routes/services.js +81 -68
  412. package/dist/routes/services.js.map +1 -1
  413. package/dist/routes/sse.d.ts +1 -0
  414. package/dist/routes/sse.d.ts.map +1 -0
  415. package/dist/routes/sse.js +1 -1
  416. package/dist/routes/sse.js.map +1 -1
  417. package/dist/routes/streams.d.ts +2 -1
  418. package/dist/routes/streams.d.ts.map +1 -0
  419. package/dist/routes/streams.js +6 -4
  420. package/dist/routes/streams.js.map +1 -1
  421. package/dist/routes/theme.d.ts +3 -2
  422. package/dist/routes/theme.d.ts.map +1 -0
  423. package/dist/routes/theme.js +6 -5
  424. package/dist/routes/theme.js.map +1 -1
  425. package/dist/routes/ui.d.ts +3 -1
  426. package/dist/routes/ui.d.ts.map +1 -0
  427. package/dist/routes/ui.js +16 -4
  428. package/dist/routes/ui.js.map +1 -1
  429. package/dist/routes/upgrade.d.ts +1 -0
  430. package/dist/routes/upgrade.d.ts.map +1 -0
  431. package/dist/routes/upgrade.js +6 -2
  432. package/dist/routes/upgrade.js.map +1 -1
  433. package/dist/service/commands.context.d.ts +1 -0
  434. package/dist/service/commands.context.d.ts.map +1 -0
  435. package/dist/service/commands.context.js +4 -3
  436. package/dist/service/commands.context.js.map +1 -1
  437. package/dist/service/commands.d.ts +1 -0
  438. package/dist/service/commands.d.ts.map +1 -0
  439. package/dist/service/commands.js +10 -13
  440. package/dist/service/commands.js.map +1 -1
  441. package/dist/service/generators.context.d.ts +1 -0
  442. package/dist/service/generators.context.d.ts.map +1 -0
  443. package/dist/service/generators.context.js +1 -1
  444. package/dist/service/generators.context.js.map +1 -1
  445. package/dist/service/generators.d.ts +4 -3
  446. package/dist/service/generators.d.ts.map +1 -0
  447. package/dist/service/generators.js +111 -31
  448. package/dist/service/generators.js.map +1 -1
  449. package/dist/service/index.d.ts +1 -0
  450. package/dist/service/index.d.ts.map +1 -0
  451. package/dist/streaming/captureLock.d.ts +44 -0
  452. package/dist/streaming/captureLock.d.ts.map +1 -0
  453. package/dist/streaming/captureLock.js +95 -0
  454. package/dist/streaming/captureLock.js.map +1 -0
  455. package/dist/streaming/captureSession.d.ts +31 -0
  456. package/dist/streaming/captureSession.d.ts.map +1 -0
  457. package/dist/streaming/captureSession.js +54 -0
  458. package/dist/streaming/captureSession.js.map +1 -0
  459. package/dist/streaming/clients.d.ts +1 -0
  460. package/dist/streaming/clients.d.ts.map +1 -0
  461. package/dist/streaming/codec.d.ts +1 -0
  462. package/dist/streaming/codec.d.ts.map +1 -0
  463. package/dist/streaming/fmp4Segmenter.d.ts +29 -2
  464. package/dist/streaming/fmp4Segmenter.d.ts.map +1 -0
  465. package/dist/streaming/fmp4Segmenter.js +79 -26
  466. package/dist/streaming/fmp4Segmenter.js.map +1 -1
  467. package/dist/streaming/hls.d.ts +18 -7
  468. package/dist/streaming/hls.d.ts.map +1 -0
  469. package/dist/streaming/hls.js +220 -120
  470. package/dist/streaming/hls.js.map +1 -1
  471. package/dist/streaming/hlsResume.d.ts +1 -0
  472. package/dist/streaming/hlsResume.d.ts.map +1 -0
  473. package/dist/streaming/hlsResume.js +1 -1
  474. package/dist/streaming/hlsResume.js.map +1 -1
  475. package/dist/streaming/hlsSegments.d.ts +59 -2
  476. package/dist/streaming/hlsSegments.d.ts.map +1 -0
  477. package/dist/streaming/hlsSegments.js +147 -17
  478. package/dist/streaming/hlsSegments.js.map +1 -1
  479. package/dist/streaming/lifecycle.d.ts +4 -1
  480. package/dist/streaming/lifecycle.d.ts.map +1 -0
  481. package/dist/streaming/lifecycle.js +65 -85
  482. package/dist/streaming/lifecycle.js.map +1 -1
  483. package/dist/streaming/monitor.d.ts +6 -4
  484. package/dist/streaming/monitor.d.ts.map +1 -0
  485. package/dist/streaming/monitor.js +343 -145
  486. package/dist/streaming/monitor.js.map +1 -1
  487. package/dist/streaming/mp4Parser.d.ts +5 -4
  488. package/dist/streaming/mp4Parser.d.ts.map +1 -0
  489. package/dist/streaming/mp4Parser.js +36 -13
  490. package/dist/streaming/mp4Parser.js.map +1 -1
  491. package/dist/streaming/mpegts.d.ts +16 -0
  492. package/dist/streaming/mpegts.d.ts.map +1 -0
  493. package/dist/streaming/mpegts.js +61 -17
  494. package/dist/streaming/mpegts.js.map +1 -1
  495. package/dist/streaming/playlistBuilder.d.ts +1 -0
  496. package/dist/streaming/playlistBuilder.d.ts.map +1 -0
  497. package/dist/streaming/preroll.d.ts +32 -5
  498. package/dist/streaming/preroll.d.ts.map +1 -0
  499. package/dist/streaming/preroll.js +70 -32
  500. package/dist/streaming/preroll.js.map +1 -1
  501. package/dist/streaming/pretune.d.ts +26 -1
  502. package/dist/streaming/pretune.d.ts.map +1 -0
  503. package/dist/streaming/pretune.js +22 -24
  504. package/dist/streaming/pretune.js.map +1 -1
  505. package/dist/streaming/pretuneTimers.d.ts +24 -0
  506. package/dist/streaming/pretuneTimers.d.ts.map +1 -0
  507. package/dist/streaming/pretuneTimers.js +56 -0
  508. package/dist/streaming/pretuneTimers.js.map +1 -0
  509. package/dist/streaming/recovery.d.ts +139 -5
  510. package/dist/streaming/recovery.d.ts.map +1 -0
  511. package/dist/streaming/recovery.js +160 -16
  512. package/dist/streaming/recovery.js.map +1 -1
  513. package/dist/streaming/registry.d.ts +27 -9
  514. package/dist/streaming/registry.d.ts.map +1 -0
  515. package/dist/streaming/registry.js +21 -3
  516. package/dist/streaming/registry.js.map +1 -1
  517. package/dist/streaming/setup.d.ts +157 -29
  518. package/dist/streaming/setup.d.ts.map +1 -0
  519. package/dist/streaming/setup.js +1034 -458
  520. package/dist/streaming/setup.js.map +1 -1
  521. package/dist/streaming/showInfo.d.ts +21 -1
  522. package/dist/streaming/showInfo.d.ts.map +1 -0
  523. package/dist/streaming/showInfo.js +31 -16
  524. package/dist/streaming/showInfo.js.map +1 -1
  525. package/dist/streaming/statusEmitter.d.ts +10 -10
  526. package/dist/streaming/statusEmitter.d.ts.map +1 -0
  527. package/dist/streaming/statusEmitter.js +5 -8
  528. package/dist/streaming/statusEmitter.js.map +1 -1
  529. package/dist/types/channels.d.ts +16 -4
  530. package/dist/types/channels.d.ts.map +1 -0
  531. package/dist/types/channels.js +4 -2
  532. package/dist/types/channels.js.map +1 -1
  533. package/dist/types/config.d.ts +16 -5
  534. package/dist/types/config.d.ts.map +1 -0
  535. package/dist/types/index.d.ts +3 -2
  536. package/dist/types/index.d.ts.map +1 -0
  537. package/dist/types/profiles.d.ts +6 -4
  538. package/dist/types/profiles.d.ts.map +1 -0
  539. package/dist/types/selection.d.ts +31 -3
  540. package/dist/types/selection.d.ts.map +1 -0
  541. package/dist/types/selection.js +4 -2
  542. package/dist/types/selection.js.map +1 -1
  543. package/dist/types/shared.d.ts +1 -0
  544. package/dist/types/shared.d.ts.map +1 -0
  545. package/dist/types/streaming.d.ts +8 -0
  546. package/dist/types/streaming.d.ts.map +1 -0
  547. package/dist/upgrade/commands.context.d.ts +1 -0
  548. package/dist/upgrade/commands.context.d.ts.map +1 -0
  549. package/dist/upgrade/commands.context.js +14 -10
  550. package/dist/upgrade/commands.context.js.map +1 -1
  551. package/dist/upgrade/commands.d.ts +8 -15
  552. package/dist/upgrade/commands.d.ts.map +1 -0
  553. package/dist/upgrade/commands.js +27 -28
  554. package/dist/upgrade/commands.js.map +1 -1
  555. package/dist/upgrade/detection.context.d.ts +1 -0
  556. package/dist/upgrade/detection.context.d.ts.map +1 -0
  557. package/dist/upgrade/detection.context.js +4 -1
  558. package/dist/upgrade/detection.context.js.map +1 -1
  559. package/dist/upgrade/detection.d.ts +9 -7
  560. package/dist/upgrade/detection.d.ts.map +1 -0
  561. package/dist/upgrade/detection.js +23 -54
  562. package/dist/upgrade/detection.js.map +1 -1
  563. package/dist/upgrade/index.d.ts +2 -0
  564. package/dist/upgrade/index.d.ts.map +1 -0
  565. package/dist/upgrade/index.js +1 -0
  566. package/dist/upgrade/index.js.map +1 -1
  567. package/dist/upgrade/lifecycle.context.d.ts +20 -0
  568. package/dist/upgrade/lifecycle.context.d.ts.map +1 -0
  569. package/dist/upgrade/lifecycle.context.js +47 -0
  570. package/dist/upgrade/lifecycle.context.js.map +1 -0
  571. package/dist/upgrade/lifecycle.d.ts +72 -0
  572. package/dist/upgrade/lifecycle.d.ts.map +1 -0
  573. package/dist/upgrade/lifecycle.js +175 -0
  574. package/dist/upgrade/lifecycle.js.map +1 -0
  575. package/dist/upgrade/pathHandle.d.ts +30 -0
  576. package/dist/upgrade/pathHandle.d.ts.map +1 -0
  577. package/dist/upgrade/pathHandle.js +102 -0
  578. package/dist/upgrade/pathHandle.js.map +1 -0
  579. package/dist/utils/bootSession.context.d.ts +16 -0
  580. package/dist/utils/bootSession.context.d.ts.map +1 -0
  581. package/dist/utils/bootSession.context.js +60 -0
  582. package/dist/utils/bootSession.context.js.map +1 -0
  583. package/dist/utils/bootSession.d.ts +17 -0
  584. package/dist/utils/bootSession.d.ts.map +1 -0
  585. package/dist/utils/bootSession.js +20 -0
  586. package/dist/utils/bootSession.js.map +1 -0
  587. package/dist/utils/chromeFetch.d.ts +1 -0
  588. package/dist/utils/chromeFetch.d.ts.map +1 -0
  589. package/dist/utils/cliOutput.d.ts +1 -0
  590. package/dist/utils/cliOutput.d.ts.map +1 -0
  591. package/dist/utils/clock.d.ts +5 -4
  592. package/dist/utils/clock.d.ts.map +1 -0
  593. package/dist/utils/clock.js +19 -16
  594. package/dist/utils/clock.js.map +1 -1
  595. package/dist/utils/debugFilter.d.ts +9 -1
  596. package/dist/utils/debugFilter.d.ts.map +1 -0
  597. package/dist/utils/debugFilter.js +60 -33
  598. package/dist/utils/debugFilter.js.map +1 -1
  599. package/dist/utils/delay.d.ts +48 -15
  600. package/dist/utils/delay.d.ts.map +1 -0
  601. package/dist/utils/delay.js +73 -20
  602. package/dist/utils/delay.js.map +1 -1
  603. package/dist/utils/errors.d.ts +32 -0
  604. package/dist/utils/errors.d.ts.map +1 -0
  605. package/dist/utils/errors.js +45 -4
  606. package/dist/utils/errors.js.map +1 -1
  607. package/dist/utils/evaluate.d.ts +1 -0
  608. package/dist/utils/evaluate.d.ts.map +1 -0
  609. package/dist/utils/evaluate.js +29 -23
  610. package/dist/utils/evaluate.js.map +1 -1
  611. package/dist/utils/ffmpeg.context.d.ts +1 -0
  612. package/dist/utils/ffmpeg.context.d.ts.map +1 -0
  613. package/dist/utils/ffmpeg.context.js.map +1 -1
  614. package/dist/utils/ffmpeg.d.ts +29 -7
  615. package/dist/utils/ffmpeg.d.ts.map +1 -0
  616. package/dist/utils/ffmpeg.js +32 -14
  617. package/dist/utils/ffmpeg.js.map +1 -1
  618. package/dist/utils/fileLogger.d.ts +3 -1
  619. package/dist/utils/fileLogger.d.ts.map +1 -0
  620. package/dist/utils/fileLogger.js +64 -29
  621. package/dist/utils/fileLogger.js.map +1 -1
  622. package/dist/utils/format.d.ts +14 -1
  623. package/dist/utils/format.d.ts.map +1 -0
  624. package/dist/utils/format.js +19 -5
  625. package/dist/utils/format.js.map +1 -1
  626. package/dist/utils/index.d.ts +4 -0
  627. package/dist/utils/index.d.ts.map +1 -0
  628. package/dist/utils/index.js +3 -0
  629. package/dist/utils/index.js.map +1 -1
  630. package/dist/utils/logEmitter.d.ts +1 -0
  631. package/dist/utils/logEmitter.d.ts.map +1 -0
  632. package/dist/utils/logger.d.ts +1 -0
  633. package/dist/utils/logger.d.ts.map +1 -0
  634. package/dist/utils/logger.js +10 -6
  635. package/dist/utils/logger.js.map +1 -1
  636. package/dist/utils/m3u.d.ts +3 -2
  637. package/dist/utils/m3u.d.ts.map +1 -0
  638. package/dist/utils/m3u.js +4 -3
  639. package/dist/utils/m3u.js.map +1 -1
  640. package/dist/utils/markup.d.ts +13 -1
  641. package/dist/utils/markup.d.ts.map +1 -0
  642. package/dist/utils/markup.js +28 -4
  643. package/dist/utils/markup.js.map +1 -1
  644. package/dist/utils/memo.d.ts +3 -2
  645. package/dist/utils/memo.d.ts.map +1 -0
  646. package/dist/utils/memo.js +3 -3
  647. package/dist/utils/morganStream.d.ts +1 -0
  648. package/dist/utils/morganStream.d.ts.map +1 -0
  649. package/dist/utils/network.d.ts +1 -0
  650. package/dist/utils/network.d.ts.map +1 -0
  651. package/dist/utils/network.js +2 -2
  652. package/dist/utils/pid.d.ts +3 -25
  653. package/dist/utils/pid.d.ts.map +1 -0
  654. package/dist/utils/pid.js +10 -49
  655. package/dist/utils/pid.js.map +1 -1
  656. package/dist/utils/platform.d.ts +3 -1
  657. package/dist/utils/platform.d.ts.map +1 -0
  658. package/dist/utils/platform.js +2 -1
  659. package/dist/utils/platform.js.map +1 -1
  660. package/dist/utils/processInspector.context.d.ts +8 -0
  661. package/dist/utils/processInspector.context.d.ts.map +1 -0
  662. package/dist/utils/processInspector.context.js +106 -0
  663. package/dist/utils/processInspector.context.js.map +1 -0
  664. package/dist/utils/processInspector.d.ts +55 -0
  665. package/dist/utils/processInspector.d.ts.map +1 -0
  666. package/dist/utils/processInspector.js +127 -0
  667. package/dist/utils/processInspector.js.map +1 -0
  668. package/dist/utils/retry.d.ts +25 -2
  669. package/dist/utils/retry.d.ts.map +1 -0
  670. package/dist/utils/retry.js +33 -6
  671. package/dist/utils/retry.js.map +1 -1
  672. package/dist/utils/runtimeIdentity.context.d.ts +7 -0
  673. package/dist/utils/runtimeIdentity.context.d.ts.map +1 -0
  674. package/dist/utils/runtimeIdentity.context.js +43 -0
  675. package/dist/utils/runtimeIdentity.context.js.map +1 -0
  676. package/dist/utils/runtimeIdentity.d.ts +98 -0
  677. package/dist/utils/runtimeIdentity.d.ts.map +1 -0
  678. package/dist/utils/runtimeIdentity.js +181 -0
  679. package/dist/utils/runtimeIdentity.js.map +1 -0
  680. package/dist/utils/sanitize.d.ts +1 -0
  681. package/dist/utils/sanitize.d.ts.map +1 -0
  682. package/dist/utils/streamContext.d.ts +2 -1
  683. package/dist/utils/streamContext.d.ts.map +1 -0
  684. package/dist/utils/streamContext.js +1 -1
  685. package/dist/utils/timing.d.ts +2 -1
  686. package/dist/utils/timing.d.ts.map +1 -0
  687. package/dist/utils/timing.js +0 -5
  688. package/dist/utils/timing.js.map +1 -1
  689. package/dist/utils/version.d.ts +1 -0
  690. package/dist/utils/version.d.ts.map +1 -0
  691. package/dist/utils/version.js +47 -13
  692. package/dist/utils/version.js.map +1 -1
  693. package/package.json +26 -20
@@ -9,7 +9,8 @@
9
9
  * - ClientState (this file) - the mutable record of streamData / systemData / expandedStreams / staleness counters / rAF gates
10
10
  * - ClientExternals (this file) - the readonly handle to sibling-script window.* APIs (channelTable, dropdowns, copyToClipboard, etc.)
11
11
  * - HANDLER_CONSTANTS (this file) - the registry of script-side constants (health color CSS vars, label maps, row tints) emitted into the script body
12
- * - HANDLER_FUNCTIONS (this file) - the registry of pure functions whose .toString() output is concatenated into the emitted script body
12
+ * - HANDLER_FUNCTIONS (this file) - the registry of free-standing handler functions (formatters, renderers, DOM mutators, and SSE handlers) whose .toString()
13
+ * output is concatenated into the emitted script body
13
14
  * - generateStatusScript (status.ts) - the boundary; the only place that builds strings, that wires window.*, and that constructs the EventSource
14
15
  *
15
16
  * Why this file exists. Free-standing handler functions are directly importable and callable from Node tests with synthetic context literals, which avoids the
@@ -19,14 +20,15 @@
19
20
  * Single source of truth. Every function defined here is consumed twice - once by Node tests that import and call it directly, and once by the browser via
20
21
  * Function.prototype.toString() concatenation in generateStatusScript(). The TypeScript function IS the source; there is no parallel hand-mirrored implementation
21
22
  * to drift away from it. The constraint this places on function bodies is that they may reference only their parameters, browser globals (document, JSON, Date,
22
- * Math, URL, Object, Number, requestAnimationFrame, setInterval, EventSource, window, CustomEvent), or sibling functions that are also emitted. No imports, no
23
- * closures over module-scope TS variables, no Node-only APIs. The constants are emitted via JSON.stringify so handler bodies can reference them by their TS-side
24
- * identifier.
23
+ * Math, URL, Object, Number, requestAnimationFrame, setInterval, EventSource, window, CustomEvent, and escapeHtml - the shared client-escape SSOT installed on
24
+ * window by shared.ts, treated here as a platform-like global), or sibling functions that are also emitted. No imports, no closures over module-scope TS variables,
25
+ * no Node-only APIs. The constants are emitted via JSON.stringify so handler bodies can reference them by their TS-side identifier.
25
26
  */
26
27
  /**
27
- * Builds an empty client state. The IIFE calls this at startup; tests call it for fixtures. Defaults to "no streams, no system data, watchdog timestamps zeroed,
28
- * rAF gates open." lastStatusEventTime is zeroed here; the IIFE reseeds it to Date.now() right before opening the EventSource so the staleness watchdog has a
29
- * meaningful baseline. Tests that exercise the watchdog seed it explicitly.
28
+ * Builds an empty client state. This is the test-fixture seed; the production IIFE in status.ts does NOT call it - it constructs the initial state as an inline
29
+ * object literal whose shape must be kept in sync with this function by hand (the two are parallel definitions, not a shared call). Defaults to "no streams, no
30
+ * system data, watchdog timestamps zeroed, rAF gates open." lastStatusEventTime is zeroed here; the IIFE sets it to Date.now() directly in its own literal right
31
+ * before opening the EventSource so the staleness watchdog has a meaningful baseline. Tests that exercise the watchdog seed it explicitly.
30
32
  */
31
33
  export function createInitialState() {
32
34
  return {
@@ -39,7 +41,7 @@ export function createInitialState() {
39
41
  tableRenderPending: false
40
42
  };
41
43
  }
42
- // CSS-variable-backed color tokens for the health-state badge dot. The recovering/stalled/etc. literals are the discriminants the server emits. Typed as a wide
44
+ // CSS-variable-backed color tokens for the health-state badge dot. The recovering/stalled/etc. literals are the health-state values the server emits. Typed as a wide
43
45
  // string-record so script-side handlers can index by any health value with a `?? fallback` pattern (consistent with how the other lookup tables below are
44
46
  // structured).
45
47
  const healthColorVars = {
@@ -132,7 +134,7 @@ function formatTime(isoString) {
132
134
  }
133
135
  return timeStr;
134
136
  }
135
- // Format a timestamp as "N {unit}s ago" relative to now. Used by the channel/domain health icons in the Channels tab to show how recent the last result was.
137
+ // Format a timestamp as "N {unit}s ago" relative to now.
136
138
  function formatTimeAgo(ts) {
137
139
  const seconds = Math.floor((Date.now() - ts) / 1000);
138
140
  if (seconds < 60) {
@@ -150,7 +152,8 @@ function formatTimeAgo(ts) {
150
152
  return String(days) + (days === 1 ? " day ago" : " days ago");
151
153
  }
152
154
  // Extract a concise display domain from a URL (last two hostname parts). Mirrors the server-side extractDomain() in utils/format.ts so the popover label and the
153
- // table fallback agree on what "the domain" means.
155
+ // table fallback agree on what "the domain" means. Uses the static URL.parse, which returns null on a malformed URL rather than throwing... this is the deliberate
156
+ // browser-side counterpart to the new URL() + try/catch shape used server-side, and it requires the target browser runtime to support URL.parse.
154
157
  function getDomain(url) {
155
158
  const parsed = URL.parse(url);
156
159
  if (!parsed) {
@@ -160,8 +163,8 @@ function getDomain(url) {
160
163
  return (parts.length > 2) ? parts.slice(-2).join(".") : parts.join(".");
161
164
  }
162
165
  // Resolve the recovery-level label for a stream in the recovering state. Kept as a dedicated helper because the mapping is level-based, not string-based, so it
163
- // cannot fold into the same lookup map as the top-level health labels. Escalation level semantics defined in monitor.ts: L1=play/unmute, L2=seek, L3=source
164
- // reload, L4=page navigation.
166
+ // cannot fold into the same lookup map as the top-level health labels. Escalation level semantics defined in monitor.ts: L1=play/unmute, L2=source reload,
167
+ // L3=page navigation (escalationLevel maxes at 3); the case 4+ arm below is defensive padding beyond that max.
165
168
  function getRecoveringLabel(level) {
166
169
  switch (level) {
167
170
  case 1: return "Resuming playback";
@@ -182,7 +185,7 @@ function formatLastIssue(s) {
182
185
  if (!s.lastIssueType || !s.lastIssueTime) {
183
186
  return "None";
184
187
  }
185
- const issueLabel = s.lastIssueType.charAt(0).toUpperCase() + s.lastIssueType.slice(1);
188
+ const issueLabel = escapeHtml(s.lastIssueType.charAt(0).toUpperCase() + s.lastIssueType.slice(1));
186
189
  const timeStr = formatTime(new Date(s.lastIssueTime).toISOString());
187
190
  const status = (s.health === "healthy") ? " (recovered)" : " (recovering)";
188
191
  return issueLabel + " at " + timeStr + status;
@@ -207,7 +210,7 @@ function formatClients(s) {
207
210
  }
208
211
  const parts = [];
209
212
  for (const c of s.clients) {
210
- parts.push(String(c.count) + " " + (clientTypeLabels[c.type] ?? c.type));
213
+ parts.push(String(c.count) + " " + (clientTypeLabels[c.type] ?? escapeHtml(c.type)));
211
214
  }
212
215
  return parts.join(", ");
213
216
  }
@@ -224,7 +227,8 @@ function renderHealthCellContent(s) {
224
227
  // Detail panel codec line: "{Codec} ({Mode}){suffix}" where suffix carries native-HLS bandwidth and resolution if present. Hardware-accelerated codecs prefix
225
228
  // the lightning bolt; native HLS without a captureCodec fills "Native HLS" instead.
226
229
  function renderDetailCodec(s) {
227
- const codecLabel = s.captureCodec ? (s.hardwareAccelerated ? "⚡ " + s.captureCodec : s.captureCodec) :
230
+ const codec = s.captureCodec ? escapeHtml(s.captureCodec) : "";
231
+ const codecLabel = s.captureCodec ? (s.hardwareAccelerated ? "⚡ " + codec : codec) :
228
232
  (s.streamingMode === "native" ? "Native HLS" : "Unknown");
229
233
  const modeLabel = s.streamingMode === "native" ? "Native HLS" : "Capture";
230
234
  let qualitySuffix = "";
@@ -235,7 +239,7 @@ function renderDetailCodec(s) {
235
239
  }
236
240
  if (s.nativeResolution) {
237
241
  const h = s.nativeResolution.split("x")[1];
238
- qParts.push((h ? nativeResolutionLabels[h] : undefined) ?? s.nativeResolution);
242
+ qParts.push((h ? nativeResolutionLabels[h] : undefined) ?? escapeHtml(s.nativeResolution));
239
243
  }
240
244
  if (qParts.length > 0) {
241
245
  qualitySuffix = " - " + qParts.join(" ");
@@ -243,7 +247,7 @@ function renderDetailCodec(s) {
243
247
  }
244
248
  return "<strong>Codec:</strong> " + codecLabel + " (" + modeLabel + ")" + qualitySuffix;
245
249
  }
246
- // Detail panel "Started:" line with optional "(N HLS, M MPEG-TS)" client suffix when clients > 0.
250
+ // Detail panel "Started:" line with an optional " &middot; N HLS, M MPEG-TS" client suffix (middot separator, comma-joined list, no parentheses) when clients > 0.
247
251
  function renderDetailStarted(s) {
248
252
  const clientSuffix = s.clientCount > 0 ? " &middot; " + formatClients(s) : "";
249
253
  return "<strong>Started:</strong> " + formatTime(s.startTime) + clientSuffix;
@@ -293,7 +297,7 @@ function buildStreamPopoverContent(menu, ctx) {
293
297
  const name = (s.channel ?? "") || (s.serviceName ?? "") || getDomain(s.url);
294
298
  const dur = Math.floor((now - new Date(s.startTime).getTime()) / 1000);
295
299
  const hwBadge = s.hardwareAccelerated ? " <span title=\"Hardware accelerated\">⚡</span>" : "";
296
- const showSuffix = s.showName ? " <span class=\"stream-popover-show\">" + s.showName + "</span>" : "";
300
+ const showSuffix = s.showName ? " <span class=\"stream-popover-show\">" + escapeHtml(s.showName) + "</span>" : "";
297
301
  html += "<div class=\"stream-popover-row\">";
298
302
  html += "<span class=\"status-dot\" style=\"color: " + color + ";\">&#9679;</span>";
299
303
  html += ctx.externals.channelDisplayHtml(s.logoUrl, name, "stream-popover-logo", "stream-popover-channel");
@@ -318,7 +322,7 @@ function updateStreamPopover(ctx) {
318
322
  }
319
323
  // Render scheduling. The DOM-writing render functions funnel through requestAnimationFrame gates so multiple SSE events arriving within the same frame produce a
320
324
  // single DOM write instead of redundant back-to-back rebuilds that destroy and recreate image elements.
321
- // Schedule a full-table render on the next animation frame. Idempotent within a frame - repeated calls collapse into one render.
325
+ // Schedule a full-table render on the next animation frame. Safe to call repeatedly within the same frame - repeated calls collapse into one render.
322
326
  function scheduleTableRender(ctx) {
323
327
  if (!ctx.state.tableRenderPending) {
324
328
  ctx.state.tableRenderPending = true;
@@ -328,7 +332,7 @@ function scheduleTableRender(ctx) {
328
332
  });
329
333
  }
330
334
  }
331
- // Schedule a popover refresh on the next animation frame. Idempotent within a frame.
335
+ // Schedule a popover refresh on the next animation frame. Safe to call repeatedly within the same frame.
332
336
  function schedulePopoverRender(ctx) {
333
337
  if (!ctx.state.popoverRenderPending) {
334
338
  ctx.state.popoverRenderPending = true;
@@ -357,7 +361,8 @@ function renderStreamsTable(ctx) {
357
361
  // The channel/serviceName fallback uses || semantics so empty strings (server may emit them when identification is pending) fall through to the domain.
358
362
  const channelText = (s.channel ?? "") || (s.serviceName ?? "") || getDomain(s.url);
359
363
  const channelDisplay = ctx.externals.channelDisplayHtml(s.logoUrl, channelText, "channel-logo", "channel-text");
360
- html += "<tr class=\"stream-row\" data-id=\"" + id + "\" onclick=\"toggleStreamDetails(" + id + ")\" style=\"background-color: " + rowTint + ";\">";
364
+ html += "<tr class=\"stream-row\" data-id=\"" + id + "\" data-click-action=\"toggle-stream-details\" data-stream-id=\"" + id +
365
+ "\" style=\"background-color: " + rowTint + ";\">";
361
366
  html += "<td class=\"chevron\">" + chevron + "</td>";
362
367
  const hwIcon = s.hardwareAccelerated ? "⚡ " : "";
363
368
  let nativeBadge = "";
@@ -365,11 +370,11 @@ function renderStreamsTable(ctx) {
365
370
  nativeBadge = " <span class=\"native-badge\" title=\"Native HLS\">Native</span>";
366
371
  }
367
372
  else if (s.hardwareAccelerated) {
368
- nativeBadge = " <span class=\"native-badge\" title=\"Hardware accelerated\">" + hwIcon + (s.captureCodec ?? "") + "</span>";
373
+ nativeBadge = " <span class=\"native-badge\" title=\"Hardware accelerated\">" + hwIcon + escapeHtml(s.captureCodec ?? "") + "</span>";
369
374
  }
370
375
  const durationSpan = "<span class=\"stream-duration\" id=\"duration-" + id + "\">· " + formatDuration(s.duration) + "</span>";
371
376
  html += "<td class=\"stream-info\">" + channelDisplay + nativeBadge + " " + durationSpan + "</td>";
372
- const showDisplay = s.showName ?? "";
377
+ const showDisplay = escapeHtml(s.showName ?? "");
373
378
  html += "<td class=\"stream-show\">" + showDisplay + "</td>";
374
379
  html += "<td class=\"stream-health\">" + renderHealthCellContent(s) + "</td>";
375
380
  html += "</tr>";
@@ -378,7 +383,7 @@ function renderStreamsTable(ctx) {
378
383
  html += "<td colspan=\"4\">";
379
384
  html += "<div class=\"details-content\">";
380
385
  html += "<div class=\"details-header\">";
381
- html += "<div class=\"details-url\">" + s.url + "</div>";
386
+ html += "<div class=\"details-url\">" + escapeHtml(s.url) + "</div>";
382
387
  html += "<div class=\"details-started\">" + renderDetailStarted(s) + "</div>";
383
388
  html += "</div>";
384
389
  html += "<div class=\"details-metrics\">";
@@ -394,8 +399,8 @@ function renderStreamsTable(ctx) {
394
399
  tbody.innerHTML = html;
395
400
  }
396
401
  // Targeted update for a single stream row. Updates only the cells that change between health ticks (health badge, show name, client count, row tint, and detail
397
- // panel metrics if expanded). Leaves the logo, channel name, badge, and structural elements untouched so image elements are never destroyed and recreated. Falls
398
- // back to a full table render if the row does not exist yet (e.g., race between streamAdded and streamHealthChanged).
402
+ // panel metrics if expanded). Leaves the logo, channel name, and native/hardware badge in the stream-info cell untouched so image elements are never destroyed
403
+ // and recreated. Falls back to a full table render if the row does not exist yet (e.g., race between streamAdded and streamHealthChanged).
399
404
  function updateStreamRow(s, ctx) {
400
405
  const row = ctx.document.querySelector(".stream-row[data-id=\"" + String(s.id) + "\"]");
401
406
  if (!row) {
@@ -437,7 +442,7 @@ function updateStreamRow(s, ctx) {
437
442
  }
438
443
  }
439
444
  }
440
- // Toggle the expanded/collapsed state of a stream's detail panel. Triggered by inline onclick from the table row; the IIFE exposes a window-bound trampoline.
445
+ // Toggle the expanded/collapsed state of a stream's detail panel. Triggered by the project-wide action dispatcher via data-click-action on the table row.
441
446
  function toggleStreamDetails(id, ctx) {
442
447
  ctx.state.expandedStreams[id] = !ctx.state.expandedStreams[id];
443
448
  renderStreamsTable(ctx);
@@ -455,52 +460,8 @@ function updateDurations(ctx) {
455
460
  }
456
461
  schedulePopoverRender(ctx);
457
462
  }
458
- // Update the per-channel health icon in the Channels tab. Domain match check guards against stale events from a prior service binding - the login button carries
459
- // a data-auth-domain attribute that must agree with the event's domain (when supplied) for the update to apply.
460
- function updateChannelHealth(channelKey, status, timestamp, domain, ctx) {
461
- const row = ctx.document.getElementById("display-row-" + channelKey);
462
- if (!row) {
463
- return;
464
- }
465
- if (domain) {
466
- const loginBtn = row.querySelector(".btn-icon-login");
467
- if (loginBtn && (loginBtn.getAttribute("data-auth-domain") !== domain)) {
468
- return;
469
- }
470
- }
471
- const icon = row.querySelector(".btn-icon-health");
472
- if (!icon) {
473
- return;
474
- }
475
- icon.classList.remove("health-success", "health-failed");
476
- if (status === "success") {
477
- icon.classList.add("health-success");
478
- }
479
- else {
480
- icon.classList.add("health-failed");
481
- }
482
- icon.title = (status === "success" ? "Succeeded " : "Failed ") + formatTimeAgo(timestamp);
483
- }
484
- // Mark every login button bound to the given domain as verified, with a "Verified {time-ago}" tooltip. Called for successful health events and for snapshot
485
- // domain entries.
486
- function updateDomainAuth(domain, timestamp, ctx) {
487
- const buttons = ctx.document.querySelectorAll(".btn-icon-login[data-auth-domain=\"" + domain + "\"]");
488
- for (const button of Array.from(buttons)) {
489
- button.classList.add("health-success");
490
- button.title = "Verified " + formatTimeAgo(timestamp);
491
- }
492
- }
493
- // Apply a full health snapshot. Walks the channels map then the domains map, applying the per-key updaters for each entry.
494
- function applyHealthSnapshot(data, ctx) {
495
- for (const [channelKey, entry] of Object.entries(data.channels)) {
496
- updateChannelHealth(channelKey, entry.status, entry.timestamp, entry.domain, ctx);
497
- }
498
- for (const [domain, timestamp] of Object.entries(data.domains)) {
499
- updateDomainAuth(domain, timestamp, ctx);
500
- }
501
- }
502
463
  // SSE handlers. Each takes the parsed event payload and the HandlerContext. The IIFE wires JSON.parse and event-listener registration; the handlers themselves
503
- // are pure logic.
464
+ // are pure logic. Channel row state is owned by the server - every reactive update arrives as a channelUpdate patch and is applied via channelTable.applyPatch.
504
465
  // Snapshot handler. Replaces all client state with the snapshot's contents and re-renders everything, then applies the optional health snapshot.
505
466
  function handleSnapshot(data, ctx) {
506
467
  ctx.state.systemData = data.system;
@@ -511,8 +472,10 @@ function handleSnapshot(data, ctx) {
511
472
  updateSystemStatus(ctx);
512
473
  renderStreamsTable(ctx);
513
474
  updateStreamPopover(ctx);
514
- if (data.health) {
515
- applyHealthSnapshot(data.health, ctx);
475
+ // Channel table catch-up. The server includes a patch covering any rows whose state may have changed during the SSE disconnect gap; routing it through the
476
+ // same applyPatch primitive as live channelUpdate events keeps presentation logic in one place.
477
+ if (data.channelPatch !== undefined) {
478
+ ctx.externals.channelTable.applyPatch(data.channelPatch);
516
479
  }
517
480
  }
518
481
  // streamAdded handler. Inserts the new stream into streamData and triggers a full table render plus popover refresh.
@@ -542,6 +505,8 @@ function handleStreamHealthChanged(data, ctx) {
542
505
  if (!prev) {
543
506
  return;
544
507
  }
508
+ // These four fields are exactly the ones updateStreamRow's targeted-update path does not touch - they live in the stream-info cell (the logo, the
509
+ // native/hardware badge, and the codec label) - so a change to any of them requires the full table rebuild rather than the cheap per-cell update.
545
510
  const structuralChange = (prev.logoUrl !== data.logoUrl) || (prev.streamingMode !== data.streamingMode) ||
546
511
  (prev.hardwareAccelerated !== data.hardwareAccelerated) || (prev.captureCodec !== data.captureCodec);
547
512
  ctx.state.streamData[data.id] = data;
@@ -558,13 +523,6 @@ function handleSystemStatusChanged(data, ctx) {
558
523
  ctx.state.systemData = data;
559
524
  updateSystemStatus(ctx);
560
525
  }
561
- // healthChanged handler. Targeted update for a single channel; if the result is success, also refreshes the domain-auth icons for that domain.
562
- function handleHealthChanged(data, ctx) {
563
- updateChannelHealth(data.channelKey, data.status, data.timestamp, data.domain, ctx);
564
- if ((data.status === "success") && data.domain) {
565
- updateDomainAuth(data.domain, data.timestamp, ctx);
566
- }
567
- }
568
526
  // channelUpdate handler. Forwards the patch to the shared channelTable namespace exposed by shared.ts.
569
527
  function handleChannelUpdate(data, ctx) {
570
528
  ctx.externals.channelTable.applyPatch(data);
@@ -578,7 +536,7 @@ function handleSseError(ctx) {
578
536
  }
579
537
  }
580
538
  // Window-bound trampolines and lifecycle helpers. These are invoked from the IIFE either via window.* assignment or directly.
581
- // Toggle the stream popover open/closed. Wired to window.toggleStreamPopover by the IIFE so the header button's onclick can reach it.
539
+ // Toggle the stream popover open/closed. Triggered by the project-wide action dispatcher via data-click-action on the header stream-count button.
582
540
  function toggleStreamPopover(ctx) {
583
541
  const ids = Object.keys(ctx.state.streamData);
584
542
  if (ids.length === 0) {
@@ -595,7 +553,7 @@ function toggleStreamPopover(ctx) {
595
553
  menu.classList.add("show");
596
554
  }
597
555
  }
598
- // Copy the Quick Start playlist URL to the clipboard. Wired to window.copyOverviewPlaylistUrl by the IIFE so the Copy button's onclick can reach it.
556
+ // Copy the Quick Start playlist URL to the clipboard. Triggered by the project-wide action dispatcher via data-click-action on the Copy button.
599
557
  function copyOverviewPlaylistUrl(ctx) {
600
558
  const urlEl = ctx.document.getElementById("overview-playlist-url");
601
559
  if (urlEl) {
@@ -663,8 +621,9 @@ function initIPadTooltips(ctx) {
663
621
  }
664
622
  /**
665
623
  * The script-side function registry. generateStatusScript() emits each entry's .toString() output in order. Order is hoisting-irrelevant for function
666
- * declarations but reflects the logical groups: pure formatters, state-derived renderers, DOM mutators, render schedulers, SSE handlers, then trampolines and
667
- * lifecycle helpers. Adding a new function means appending here and using its identifier in the IIFE; nothing else changes.
624
+ * declarations but reflects the logical groups: pure formatters, state-derived renderers, DOM mutators (updateSystemStatus / buildStreamPopoverContent /
625
+ * updateStreamPopover), the render-scheduler pair, more DOM mutators (renderStreamsTable / updateStreamRow / toggleStreamDetails / updateDurations), SSE
626
+ * handlers, then trampolines and lifecycle helpers. Adding a new function means appending here and using its identifier in the IIFE; nothing else changes.
668
627
  *
669
628
  * The exported individual functions remain importable for tests; this registry is just the emission order for the script body.
670
629
  */
@@ -691,15 +650,11 @@ export const HANDLER_FUNCTIONS = [
691
650
  updateStreamRow,
692
651
  toggleStreamDetails,
693
652
  updateDurations,
694
- updateChannelHealth,
695
- updateDomainAuth,
696
- applyHealthSnapshot,
697
653
  handleSnapshot,
698
654
  handleStreamAdded,
699
655
  handleStreamRemoved,
700
656
  handleStreamHealthChanged,
701
657
  handleSystemStatusChanged,
702
- handleHealthChanged,
703
658
  handleChannelUpdate,
704
659
  handleSseError,
705
660
  toggleStreamPopover,
@@ -707,7 +662,6 @@ export const HANDLER_FUNCTIONS = [
707
662
  handleVisibilityChange,
708
663
  initIPadTooltips
709
664
  ];
710
- // Test surface. Each function is exported so status.handlers.test.ts and the DOM-runtime suite at test/e2e/dom-runtime/status-handlers-runtime.test.ts can
711
- // import and call them directly.
712
- export { applyHealthSnapshot, buildStreamPopoverContent, copyOverviewPlaylistUrl, formatAutoRecovery, formatBytes, formatClients, formatDuration, formatLastIssue, formatTime, formatTimeAgo, getDomain, getHealthBadge, getRecoveringLabel, handleChannelUpdate, handleHealthChanged, handleSnapshot, handleSseError, handleStreamAdded, handleStreamHealthChanged, handleStreamRemoved, handleSystemStatusChanged, handleVisibilityChange, initIPadTooltips, renderDetailCodec, renderDetailStarted, renderHealthCellContent, renderStreamsTable, schedulePopoverRender, scheduleTableRender, toggleStreamDetails, toggleStreamPopover, updateChannelHealth, updateDomainAuth, updateDurations, updateStreamPopover, updateStreamRow, updateSystemStatus };
665
+ // Test surface. Each function is exported so the DOM-runtime suite at test/e2e/dom-runtime/status-handlers-runtime.test.ts can import and call them directly.
666
+ export { buildStreamPopoverContent, copyOverviewPlaylistUrl, formatAutoRecovery, formatBytes, formatClients, formatDuration, formatLastIssue, formatTime, formatTimeAgo, getDomain, getHealthBadge, getRecoveringLabel, handleChannelUpdate, handleSnapshot, handleSseError, handleStreamAdded, handleStreamHealthChanged, handleStreamRemoved, handleSystemStatusChanged, handleVisibilityChange, initIPadTooltips, renderDetailCodec, renderDetailStarted, renderHealthCellContent, renderStreamsTable, schedulePopoverRender, scheduleTableRender, toggleStreamDetails, toggleStreamPopover, updateDurations, updateStreamPopover, updateStreamRow, updateSystemStatus };
713
667
  //# sourceMappingURL=status.handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.handlers.js","sourceRoot":"","sources":["../../../../src/routes/root/scripts/status.handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.handlers.js","sourceRoot":"","sources":["../../../../src/routes/root/scripts/status.handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AA8GH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB;IAEhC,OAAO;QAEL,eAAe,EAAE,EAAE;QACnB,WAAW,EAAE,CAAC;QACd,mBAAmB,EAAE,CAAC;QACtB,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,KAAK;KAC1B,CAAC;AACJ,CAAC;AAED,sKAAsK;AACtK,0JAA0J;AAC1J,eAAe;AACf,MAAM,eAAe,GAA2B;IAE9C,SAAS,EAAE,yBAAyB;IACpC,KAAK,EAAE,qBAAqB;IAC5B,OAAO,EAAE,uBAAuB;IAChC,UAAU,EAAE,0BAA0B;IACtC,OAAO,EAAE,uBAAuB;CACjC,CAAC;AAEF,gJAAgJ;AAChJ,MAAM,YAAY,GAA2B;IAE3C,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,0JAA0J;AAC1J,MAAM,gBAAgB,GAA2B;IAE/C,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,uHAAuH;AACvH,MAAM,sBAAsB,GAA2B;IAErD,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,8JAA8J;AAC9J,iJAAiJ;AACjJ,MAAM,QAAQ,GAA2B;IAEvC,SAAS,EAAE,8BAA8B;IACzC,KAAK,EAAE,0BAA0B;IACjC,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,+BAA+B;IAC3C,OAAO,EAAE,4BAA4B;CACtC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkE;IAE9F,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACrD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;IACnD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE;IAC7C,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,sBAAsB,EAAE;IACjE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE;CACtC,CAAC;AASF,iIAAiI;AAEjI,iJAAiJ;AACjJ,SAAS,cAAc,CAAC,OAAe;IAErC,IAAG,OAAO,GAAG,EAAE,EAAE,CAAC;QAEhB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED,IAAG,OAAO,GAAG,IAAI,EAAE,CAAC;QAElB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC5C,CAAC;AAED,2HAA2H;AAC3H,SAAS,WAAW,CAAC,KAAa;IAEhC,IAAG,KAAK,KAAK,CAAC,EAAE,CAAC;QAEf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QAEhB,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAG,KAAK,GAAG,OAAO,EAAE,CAAC;QAEnB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAC9C,CAAC;AAED,iHAAiH;AACjH,SAAS,UAAU,CAAC,SAAiB;IAEnC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvC,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;IACnB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3B,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IAE7F,IAAG,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;QAE9C,MAAM,MAAM,GAAG,CAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAE,CAAC;QAEtG,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC;IAC5F,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yDAAyD;AACzD,SAAS,aAAa,CAAC,EAAU;IAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAErD,IAAG,OAAO,GAAG,EAAE,EAAE,CAAC;QAEhB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAEzC,IAAG,OAAO,GAAG,EAAE,EAAE,CAAC;QAEhB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAEvC,IAAG,KAAK,GAAG,EAAE,EAAE,CAAC;QAEd,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAChE,CAAC;AAED,iKAAiK;AACjK,mKAAmK;AACnK,iJAAiJ;AACjJ,SAAS,SAAS,CAAC,GAAW;IAE5B,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEzC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,gKAAgK;AAChK,2JAA2J;AAC3J,+GAA+G;AAC/G,SAAS,kBAAkB,CAAC,KAAa;IAEvC,QAAO,KAAK,EAAE,CAAC;QAEb,KAAK,CAAC,CAAC,CAAC,OAAO,mBAAmB,CAAC;QAEnC,KAAK,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC;QAEjC,KAAK,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC;QAElC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC;IACjE,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,SAAS,cAAc,CAAC,MAAc,EAAE,KAAa;IAEnD,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC;IAEvG,OAAO,4CAA4C,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,GAAG,qBAAqB;QAC5H,gDAAgD,GAAG,KAAK,GAAG,SAAS,CAAC;AACzE,CAAC;AAED,iKAAiK;AACjK,mGAAmG;AACnG,SAAS,eAAe,CAAC,CAAgB;IAEvC,IAAG,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAExC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;IAE3E,OAAO,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAChD,CAAC;AAED,6JAA6J;AAC7J,SAAS,kBAAkB,CAAC,CAAgB;IAE1C,MAAM,QAAQ,GAAG,CAAC,CAAC,gBAAgB,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,CAAC,mBAAmB,CAAC;IAEtC,IAAG,QAAQ,KAAK,CAAC,EAAE,CAAC;QAElB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAEzE,IAAG,OAAO,GAAG,CAAC,EAAE,CAAC;QAEf,GAAG,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gJAAgJ;AAChJ,SAAS,aAAa,CAAC,CAAgB;IAErC,IAAG,CAAC,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;QAEvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAI,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAEzB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gKAAgK;AAChK,uDAAuD;AACvD,SAAS,uBAAuB,CAAC,CAAgB;IAE/C,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,IAAG,CAAC,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAErB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAErF,eAAe,GAAG,uCAAuC,GAAG,KAAK,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;IACzH,CAAC;IAED,OAAO,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,8JAA8J;AAC9J,oFAAoF;AACpF,SAAS,iBAAiB,CAAC,CAAgB;IAEzC,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,IAAG,CAAC,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAEhC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAEhC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACxE,CAAC;QAED,IAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAEtB,MAAM,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,IAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAErB,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,0BAA0B,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,GAAG,aAAa,CAAC;AAC1F,CAAC;AAED,mKAAmK;AACnK,SAAS,mBAAmB,CAAC,CAAgB;IAE3C,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9E,OAAO,4BAA4B,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;AAC/E,CAAC;AAED,8JAA8J;AAC9J,qBAAqB;AAErB,8JAA8J;AAC9J,wBAAwB;AACxB,SAAS,kBAAkB,CAAC,GAAmB;IAE7C,IAAG,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAEzB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAE7D,IAAG,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE1B,OAAO;IACT,CAAC;IAED,IAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAE1C,QAAQ,CAAC,SAAS,GAAG,mFAAmF,CAAC;IAC3G,CAAC;SAAM,CAAC;QAEN,QAAQ,CAAC,SAAS,GAAG,iGAAiG,CAAC;IACzH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;IAEjD,IAAG,MAAM,KAAK,CAAC,EAAE,CAAC;QAEhB,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAEnE,IAAG,OAAO,EAAE,CAAC;YAEX,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;SAAM,CAAC;QAEN,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;QACzE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,wHAAwH;AACxH,SAAS,yBAAyB,CAAC,IAAa,EAAE,GAAmB;IAEnE,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,KAAI,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAEnD,yJAAyJ;QACzJ,iCAAiC;QACjC,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC;QAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uCAAuC,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAElH,IAAI,IAAI,oCAAoC,CAAC;QAC7C,IAAI,IAAI,4CAA4C,GAAG,KAAK,GAAG,oBAAoB,CAAC;QACpF,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;QAC3G,IAAI,IAAI,OAAO,GAAG,UAAU,CAAC;QAC7B,IAAI,IAAI,0CAA0C,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QACrF,IAAI,IAAI,QAAQ,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACxB,CAAC;AAED,mJAAmJ;AACnJ,SAAS,mBAAmB,CAAC,GAAmB;IAE9C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEhE,IAAG,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAErC,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAG,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAEpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9B,OAAO;IACT,CAAC;IAED,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,iKAAiK;AACjK,wGAAwG;AAExG,qJAAqJ;AACrJ,SAAS,mBAAmB,CAAC,GAAmB;IAE9C,IAAG,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAEjC,GAAG,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACpC,qBAAqB,CAAC,GAAG,EAAE;YAEzB,GAAG,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC;YACrC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,yGAAyG;AACzG,SAAS,qBAAqB,CAAC,GAAmB;IAEhD,IAAG,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAEnC,GAAG,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACtC,qBAAqB,CAAC,GAAG,EAAE;YAEzB,GAAG,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACvC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,+JAA+J;AAC/J,SAAS,kBAAkB,CAAC,GAAmB;IAE7C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAE3D,IAAG,CAAC,KAAK,EAAE,CAAC;QAEV,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAErD,IAAG,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAExB,KAAK,CAAC,SAAS,GAAG,uEAAuE,CAAC;QAE1F,OAAO;IACT,CAAC;IAED,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,KAAI,MAAM,CAAE,EAAE,EAAE,CAAC,CAAE,IAAI,OAAO,EAAE,CAAC;QAE/B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC;QACpD,wJAAwJ;QACxJ,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnF,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAEhH,IAAI,IAAI,qCAAqC,GAAG,EAAE,GAAG,kEAAkE,GAAG,EAAE;YAC1H,+BAA+B,GAAG,OAAO,GAAG,MAAM,CAAC;QACrD,IAAI,IAAI,wBAAwB,GAAG,OAAO,GAAG,OAAO,CAAC;QAErD,MAAM,MAAM,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAG,CAAC,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAEhC,WAAW,GAAG,kEAAkE,CAAC;QACnF,CAAC;aAAM,IAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC;YAEhC,WAAW,GAAG,+DAA+D,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;QACxI,CAAC;QAED,MAAM,YAAY,GAAG,gDAAgD,GAAG,EAAE,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;QAE9H,IAAI,IAAI,4BAA4B,GAAG,cAAc,GAAG,WAAW,GAAG,GAAG,GAAG,YAAY,GAAG,OAAO,CAAC;QAEnG,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAEjD,IAAI,IAAI,4BAA4B,GAAG,WAAW,GAAG,OAAO,CAAC;QAC7D,IAAI,IAAI,8BAA8B,GAAG,uBAAuB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAC9E,IAAI,IAAI,OAAO,CAAC;QAEhB,IAAG,UAAU,EAAE,CAAC;YAEd,IAAI,IAAI,yCAAyC,GAAG,EAAE,GAAG,KAAK,CAAC;YAC/D,IAAI,IAAI,oBAAoB,CAAC;YAC7B,IAAI,IAAI,iCAAiC,CAAC;YAC1C,IAAI,IAAI,gCAAgC,CAAC;YACzC,IAAI,IAAI,6BAA6B,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YACrE,IAAI,IAAI,iCAAiC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YAC9E,IAAI,IAAI,QAAQ,CAAC;YACjB,IAAI,IAAI,iCAAiC,CAAC;YAC1C,IAAI,IAAI,+BAA+B,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YAC1E,IAAI,IAAI,4DAA4D,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YACrG,IAAI,IAAI,6DAA6D,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YACzG,IAAI,IAAI,yDAAyD,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;YAC1G,IAAI,IAAI,QAAQ,CAAC;YACjB,IAAI,IAAI,QAAQ,CAAC;YACjB,IAAI,IAAI,YAAY,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;AACzB,CAAC;AAED,gKAAgK;AAChK,+JAA+J;AAC/J,2IAA2I;AAC3I,SAAS,eAAe,CAAC,CAAgB,EAAE,GAAmB;IAE5D,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAc,wBAAwB,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IAErG,IAAG,CAAC,GAAG,EAAE,CAAC;QAER,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAEzB,OAAO;IACT,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC;IAEhE,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAEvD,IAAG,UAAU,EAAE,CAAC;QAEd,UAAU,CAAC,SAAS,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAEnD,IAAG,QAAQ,EAAE,CAAC;QAEZ,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,IAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAEnC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,4BAA4B,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QAElG,IAAG,SAAS,EAAE,CAAC;YAEb,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAE1D,IAAG,OAAO,EAAE,CAAC;gBAEX,OAAO,CAAC,SAAS,GAAG,+BAA+B,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAEhE,IAAG,UAAU,EAAE,CAAC;gBAEd,UAAU,CAAC,SAAS,GAAG,6BAA6B,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;YAED,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YAE5D,IAAG,QAAQ,EAAE,CAAC;gBAEZ,QAAQ,CAAC,SAAS,GAAG,2BAA2B,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChF,CAAC;YAED,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAE1D,IAAG,OAAO,EAAE,CAAC;gBAEX,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAE9D,IAAG,SAAS,EAAE,CAAC;gBAEb,SAAS,CAAC,SAAS,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,0JAA0J;AAC1J,SAAS,mBAAmB,CAAC,EAAmB,EAAE,GAAmB;IAEnE,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC/D,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,uJAAuJ;AACvJ,oHAAoH;AACpH,SAAS,eAAe,CAAC,GAAmB;IAE1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,KAAI,MAAM,CAAE,EAAE,EAAE,CAAC,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAE5D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/E,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QAEzD,IAAG,EAAE,EAAE,CAAC;YAEN,EAAE,CAAC,WAAW,GAAG,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,+JAA+J;AAC/J,gKAAgK;AAEhK,iJAAiJ;AACjJ,SAAS,cAAc,CAAC,IAAqB,EAAE,GAAmB;IAEhE,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IACnC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;IAE1B,KAAI,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAEjC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;IAC3C,CAAC;IAED,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEzB,2JAA2J;IAC3J,gGAAgG;IAChG,IAAG,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAEnC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,qHAAqH;AACrH,SAAS,iBAAiB,CAAC,IAAmB,EAAE,GAAmB;IAEjE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACrC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,iKAAiK;AACjK,8GAA8G;AAC9G,SAAS,mBAAmB,CAAC,IAA0B,EAAE,GAAmB;IAE1E,2JAA2J;IAC3J,0IAA0I;IAC1I,0JAA0J;IAC1J,gEAAgE;IAChE,OAAO,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,gEAAgE;IAChE,OAAO,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;AAC9C,CAAC;AAED,wJAAwJ;AACxJ,4FAA4F;AAC5F,SAAS,yBAAyB,CAAC,IAAmB,EAAE,GAAmB;IAEzE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE3C,IAAG,CAAC,IAAI,EAAE,CAAC;QAET,OAAO;IACT,CAAC;IAED,kJAAkJ;IAClJ,kJAAkJ;IAClJ,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,CAAC;QACrG,CAAC,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;IAEvG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAErC,IAAG,gBAAgB,EAAE,CAAC;QAEpB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QAEN,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,qBAAqB,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,6EAA6E;AAC7E,SAAS,yBAAyB,CAAC,IAAmB,EAAE,GAAmB;IAEzE,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IAC5B,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,uGAAuG;AACvG,SAAS,mBAAmB,CAAC,IAAa,EAAE,GAAmB;IAE7D,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,4JAA4J;AAC5J,uBAAuB;AACvB,SAAS,cAAc,CAAC,GAAmB;IAEzC,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAExD,IAAG,EAAE,EAAE,CAAC;QAEN,EAAE,CAAC,SAAS,GAAG,kGAAkG,CAAC;IACpH,CAAC;AACH,CAAC;AAED,8HAA8H;AAE9H,kJAAkJ;AAClJ,SAAS,mBAAmB,CAAC,GAAmB;IAE9C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAG,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAEpB,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAEhE,IAAG,CAAC,IAAI,EAAE,CAAC;QAET,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE/C,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAEhC,IAAG,CAAC,MAAM,EAAE,CAAC;QAEX,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,gJAAgJ;AAChJ,SAAS,uBAAuB,CAAC,GAAmB;IAElD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAEnE,IAAG,KAAK,EAAE,CAAC;QAET,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,8JAA8J;AAC9J,wJAAwJ;AACxJ,YAAY;AACZ,SAAS,sBAAsB,CAAC,GAAmB,EAAE,SAAqB;IAExE,IAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEvB,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;SAAM,IAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;QAExF,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;QAC1B,SAAS,EAAE,CAAC;QAEZ,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAEhE,IAAG,SAAS,EAAE,CAAC;YAEb,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjI,CAAC;IACH,CAAC;SAAM,CAAC;QAEN,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,sJAAsJ;AACtJ,2GAA2G;AAC3G,SAAS,gBAAgB,CAAC,GAAmB;IAE3C,IAAG,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC;QAE/C,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE9C,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAC;IACnC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAQ,EAAE,EAAE;QAEvD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAwB,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAErD,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAE1E,IAAG,CAAC,KAAK,EAAE,CAAC;YAEV,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;QAEzC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QACxB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACvE,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACrF,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC;IAC3C,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAQ,EAAE,EAAE;QAEvD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAwB,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAErD,IAAG,CAAC,GAAG,EAAE,CAAC;YAER,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAI,CAAgB,CAAC,aAA+B,CAAC;QAClE,MAAM,IAAI,GAAG,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAEvD,IAAG,IAAI,KAAK,GAAG,EAAE,CAAC;YAEhB,OAAO;QACT,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IAEvD,cAAc;IACd,WAAW;IACX,UAAU;IACV,aAAa;IACb,SAAS;IACT,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,aAAa;IACb,uBAAuB;IACvB,iBAAiB;IACjB,mBAAmB;IACnB,kBAAkB;IAClB,yBAAyB;IACzB,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,eAAe;IACf,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;IACzB,yBAAyB;IACzB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,uBAAuB;IACvB,sBAAsB;IACtB,gBAAgB;CACjB,CAAC;AAEF,8JAA8J;AAC9J,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EACnB,CAAC"}
@@ -20,6 +20,7 @@
20
20
  * EventSource, JSON, document, setInterval, window). The IIFE has no closures over server-side TS state.
21
21
  */
22
22
  import { HANDLER_CONSTANTS, HANDLER_FUNCTIONS } from "./status.handlers.js";
23
+ import { ACTIONS } from "../../clientActions.js";
23
24
  /**
24
25
  * Generates the inline <script> block that drives the status display. Returns a complete <script>...</script> string ready to embed in the page wrapper.
25
26
  * @returns The script string.
@@ -29,15 +30,18 @@ export function generateStatusScript() {
29
30
  // status.handlers.ts) keeps generation deterministic across calls.
30
31
  const constantDecls = HANDLER_CONSTANTS.map((c) => "const " + c.name + " = " + JSON.stringify(c.value) + ";").join("\n");
31
32
  // Section 2: emit each handler/helper as its source via Function.prototype.toString(). Function declarations are hoisted in script-tag scope, so cross-handler
32
- // references resolve regardless of declaration order; the order chosen in HANDLER_FUNCTIONS reflects the logical groups (formatters, renderers, mutators,
33
- // schedulers, handlers, trampolines).
33
+ // references resolve regardless of declaration order; the order chosen in HANDLER_FUNCTIONS groups by logical role - formatters, renderers, the render
34
+ // schedulers, then the DOM mutators (renderStreamsTable, updateStreamRow, toggleStreamDetails, updateDurations), SSE handlers, and trampolines - rather than a
35
+ // strict linear pass through those categories.
34
36
  const handlerSources = HANDLER_FUNCTIONS.map((fn) => fn.toString()).join("\n\n");
35
37
  // Section 3: the IIFE. Wires the runtime side - constructs the state and externals, opens the EventSource, dispatches events, attaches window.* trampolines,
36
- // starts the timers. The handler-side state mutations all go through the ctx that is built here. The shared sibling-script values (channelDisplayHtml,
37
- // channelTable, copyToClipboard, dropdowns) are referenced as bare identifiers, matching the existing client-side idiom - shared.ts assigns them via
38
- // window.X = ... before this script loads, and bare identifiers in non-strict script-tag scope resolve through the global object. updateRestartDialogStatus
39
- // is wrapped in a typeof guard inside a getter because config.ts loads after status.ts; a streamRemoved event arriving before config.ts has registered the
40
- // callback must not throw.
38
+ // starts the timers. The handler-side state mutations all go through the ctx that is built here. The shared sibling-script collaborators (channelDisplayHtml,
39
+ // channelTable, copyToClipboard, dropdowns) are wired into ctx.externals via bare identifiers, matching the existing client-side idiom - shared.ts assigns them via
40
+ // window.X = ... before this script loads, and bare identifiers in non-strict script-tag scope resolve through the global object. The shared escapeHtml SSOT is NOT
41
+ // wired through externals: the handler bodies reference it directly as a bare global (like Date or requestAnimationFrame), resolving to the window.escapeHtml that
42
+ // shared.ts installs, so it needs no entry here. config.ts's script is emitted before status.ts's script on the page, so updateRestartDialogStatus is already
43
+ // registered on window by the time this IIFE runs; the typeof guard inside the getter is defensive in case that emission order ever changes, so a
44
+ // streamRemoved event still cannot throw if the callback is not yet registered.
41
45
  //
42
46
  // Trampoline capture: the handlers toggleStreamPopover, toggleStreamDetails, and copyOverviewPlaylistUrl share names with the window.* properties we bind
43
47
  // them to. In classic-script scope, function declarations live as properties of the global object, so assigning window.toggleStreamPopover = ... would
@@ -54,6 +58,11 @@ export function generateStatusScript() {
54
58
  " systemData: null,",
55
59
  " tableRenderPending: false",
56
60
  " };",
61
+ // The live count of the streams this script tracks, published for config.ts's restart dialog and upgrade flow. A getter rather than a stored value because
62
+ // state.streamData changes on every SSE stream event, so anything captured at definition time would be stale by the time either consumer read it. config.ts's
63
+ // script is emitted ahead of this one on the page, which means the channel does not exist yet while that script is being evaluated; both consumers run from
64
+ // event handlers long after this IIFE has executed, and each guards its read so an absent channel is handled rather than assumed to mean zero.
65
+ " Object.defineProperty(window, 'activeStreamCount', { configurable: true, get: () => Object.keys(state.streamData).length });",
57
66
  " const externals = {",
58
67
  " channelDisplayHtml: channelDisplayHtml,",
59
68
  " channelTable: channelTable,",
@@ -79,7 +88,6 @@ export function generateStatusScript() {
79
88
  " on('streamRemoved', (e) => handleStreamRemoved(JSON.parse(e.data), ctx));",
80
89
  " on('streamHealthChanged', (e) => handleStreamHealthChanged(JSON.parse(e.data), ctx));",
81
90
  " on('systemStatusChanged', (e) => handleSystemStatusChanged(JSON.parse(e.data), ctx));",
82
- " on('healthChanged', (e) => handleHealthChanged(JSON.parse(e.data), ctx));",
83
91
  " on('channelUpdate', (e) => handleChannelUpdate(JSON.parse(e.data), ctx));",
84
92
  " statusEventSource.onerror = () => handleSseError(ctx);",
85
93
  " }",
@@ -96,6 +104,11 @@ export function generateStatusScript() {
96
104
  " }, 45000);",
97
105
  " document.addEventListener('visibilitychange', () => handleVisibilityChange(ctx, connectStatusSSE));",
98
106
  " initIPadTooltips(ctx);",
107
+ // Action registrations. Bound to the project-wide dispatcher so the Overview Copy button, the header stream-count toggle, and the per-row stream details
108
+ // toggle (rendered dynamically by status.handlers.ts) dispatch via data-*-action attributes.
109
+ " window.registerAction('" + ACTIONS.copyOverviewPlaylistUrl + "', () => copyOverviewPlaylistUrl());",
110
+ " window.registerAction('" + ACTIONS.toggleStreamDetails + "', (target) => toggleStreamDetails(Number(target.dataset.streamId)));",
111
+ " window.registerAction('" + ACTIONS.toggleStreamPopover + "', () => toggleStreamPopover());",
99
112
  "})();"
100
113
  ].join("\n");
101
114
  return ["<script>", constantDecls, handlerSources, iife, "</script>"].join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/routes/root/scripts/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAElC,oJAAoJ;IACpJ,mEAAmE;IACnE,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzH,+JAA+J;IAC/J,0JAA0J;IAC1J,sCAAsC;IACtC,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjF,6JAA6J;IAC7J,uJAAuJ;IACvJ,qJAAqJ;IACrJ,4JAA4J;IAC5J,2JAA2J;IAC3J,2BAA2B;IAC3B,EAAE;IACF,0JAA0J;IAC1J,uJAAuJ;IACvJ,wJAAwJ;IACxJ,qJAAqJ;IACrJ,MAAM,IAAI,GAAG;QAEX,eAAe;QACf,mBAAmB;QACnB,0BAA0B;QAC1B,qBAAqB;QACrB,sCAAsC;QACtC,kCAAkC;QAClC,qBAAqB;QACrB,uBAAuB;QACvB,+BAA+B;QAC/B,MAAM;QACN,uBAAuB;QACvB,6CAA6C;QAC7C,iCAAiC;QACjC,uCAAuC;QACvC,2BAA2B;QAC3B,4IAA4I;QAC5I,MAAM;QACN,2EAA2E;QAC3E,iCAAiC;QACjC,iCAAiC;QACjC,0DAA0D;QAC1D,6DAA6D;QAC7D,6CAA6C;QAC7C,mCAAmC;QACnC,0DAA0D;QAC1D,iDAAiD;QACjD,qCAAqC;QACrC,WAAW;QACX,OAAO;QACP,sBAAsB;QACtB,qEAAqE;QACrE,2EAA2E;QAC3E,+EAA+E;QAC/E,2FAA2F;QAC3F,2FAA2F;QAC3F,+EAA+E;QAC/E,+EAA+E;QAC/E,4DAA4D;QAC5D,KAAK;QACL,kDAAkD;QAClD,kDAAkD;QAClD,qDAAqD;QACrD,8DAA8D;QAC9D,oEAAoE;QACpE,iEAAiE;QACjE,uBAAuB;QACvB,kDAAkD;QAClD,uBAAuB;QACvB,kFAAkF;QAClF,cAAc;QACd,uGAAuG;QACvG,0BAA0B;QAC1B,OAAO;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,CAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/routes/root/scripts/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAElC,oJAAoJ;IACpJ,mEAAmE;IACnE,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzH,+JAA+J;IAC/J,uJAAuJ;IACvJ,+JAA+J;IAC/J,+CAA+C;IAC/C,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjF,6JAA6J;IAC7J,8JAA8J;IAC9J,oKAAoK;IACpK,oKAAoK;IACpK,mKAAmK;IACnK,8JAA8J;IAC9J,kJAAkJ;IAClJ,gFAAgF;IAChF,EAAE;IACF,0JAA0J;IAC1J,uJAAuJ;IACvJ,wJAAwJ;IACxJ,qJAAqJ;IACrJ,MAAM,IAAI,GAAG;QAEX,eAAe;QACf,mBAAmB;QACnB,0BAA0B;QAC1B,qBAAqB;QACrB,sCAAsC;QACtC,kCAAkC;QAClC,qBAAqB;QACrB,uBAAuB;QACvB,+BAA+B;QAC/B,MAAM;QACN,2JAA2J;QAC3J,8JAA8J;QAC9J,4JAA4J;QAC5J,+IAA+I;QAC/I,gIAAgI;QAChI,uBAAuB;QACvB,6CAA6C;QAC7C,iCAAiC;QACjC,uCAAuC;QACvC,2BAA2B;QAC3B,4IAA4I;QAC5I,MAAM;QACN,2EAA2E;QAC3E,iCAAiC;QACjC,iCAAiC;QACjC,0DAA0D;QAC1D,6DAA6D;QAC7D,6CAA6C;QAC7C,mCAAmC;QACnC,0DAA0D;QAC1D,iDAAiD;QACjD,qCAAqC;QACrC,WAAW;QACX,OAAO;QACP,sBAAsB;QACtB,qEAAqE;QACrE,2EAA2E;QAC3E,+EAA+E;QAC/E,2FAA2F;QAC3F,2FAA2F;QAC3F,+EAA+E;QAC/E,4DAA4D;QAC5D,KAAK;QACL,kDAAkD;QAClD,kDAAkD;QAClD,qDAAqD;QACrD,8DAA8D;QAC9D,oEAAoE;QACpE,iEAAiE;QACjE,uBAAuB;QACvB,kDAAkD;QAClD,uBAAuB;QACvB,kFAAkF;QAClF,cAAc;QACd,uGAAuG;QACvG,0BAA0B;QAC1B,yJAAyJ;QACzJ,6FAA6F;QAC7F,2BAA2B,GAAG,OAAO,CAAC,uBAAuB,GAAG,sCAAsC;QACtG,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,GAAG,uEAAuE;QACnI,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,GAAG,kCAAkC;QAC9F,OAAO;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,CAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC"}
@@ -3,3 +3,4 @@
3
3
  * @returns CSS styles as a string.
4
4
  */
5
5
  export declare function generateLandingPageStyles(): string;
6
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/routes/root/styles.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CA4qBlD"}
@@ -360,7 +360,8 @@ export function generateLandingPageStyles() {
360
360
  ".btn-icon-login:hover { color: var(--interactive-primary); }",
361
361
  ".btn-icon-copy:hover { color: var(--interactive-primary); }",
362
362
  ".btn-icon-placeholder { display: inline-block; width: 28px; height: 28px; }",
363
- // Health indicator colors. The login icon only uses health-success (provider verified). The health icon uses both (channel last-tune result).
363
+ // Health indicator colors. The login icon uses both: health-success (provider verified) and health-failed (provider needs sign-in). The health icon uses both
364
+ // (channel last-tune result).
364
365
  ".health-success { color: var(--interactive-success); }",
365
366
  ".health-failed { color: var(--interactive-delete); }",
366
367
  // Health icon is non-interactive - no hover effect, default cursor. The .user-channel override needs matching specificity (0-3-0) to prevent the
@@ -368,9 +369,11 @@ export function generateLandingPageStyles() {
368
369
  ".btn-icon-health { cursor: default; }",
369
370
  ".btn-icon-health:hover { background: transparent; color: var(--text-secondary); }",
370
371
  ".user-channel .btn-icon-health:hover { background: transparent; }",
371
- // Override hover to preserve health color when set.
372
+ // Override hover to preserve health color when set. The login icon's needs-sign-in red gets the same treatment - without it, the generic
373
+ // .btn-icon-login:hover rule above would swap the red for the interactive-primary color on hover.
372
374
  ".btn-icon-health.health-success:hover { color: var(--interactive-success); }",
373
375
  ".btn-icon-health.health-failed:hover { color: var(--interactive-delete); }",
376
+ ".btn-icon-login.health-failed:hover { color: var(--interactive-delete); }",
374
377
  ".copy-dropdown .dropdown-item { font-size: 12px; }",
375
378
  // JS tooltip styling. The tooltip element is appended to <body> and positioned via getBoundingClientRect() so it's immune to overflow and stacking contexts.
376
379
  // Only activated when the primary input can't hover (hover: none), targeting iPadOS where Safari doesn't show native title tooltips. On pure-touch
@@ -568,8 +571,8 @@ export function generateLandingPageStyles() {
568
571
  ".browse-search::placeholder { color: var(--text-muted); }",
569
572
  // Channel list container. Scrollable area with a maximum height so the modal does not grow unbounded.
570
573
  ".browse-channel-list { max-height: 50vh; overflow-y: auto; border: 1px solid var(--border-default); border-radius: var(--radius-md); }",
571
- // Individual channel row. Scoped under .browse-channel-list for specificity (0,2,0) to beat .wizard-content label (0,1,1) which sets display:block on
572
- // all labels inside the wizard content area. The name takes all remaining space (flex: 1) and truncates with ellipsis, keeping the metadata pinned right.
574
+ // Individual channel row. Scoped under .browse-channel-list for specificity (0,2,0) to beat ui.ts's .form-row label (0,1,1), which sets display:block
575
+ // on labels inside form rows. The name takes all remaining space (flex: 1) and truncates with ellipsis, keeping the metadata pinned right.
573
576
  ".browse-channel-list .browse-channel-item { display: flex; align-items: center; gap: 10px; padding: 8px 12px; font-size: 13px; ",
574
577
  "color: var(--text-primary); cursor: pointer; transition: background 0.15s; border-bottom: 1px solid var(--border-light, var(--border-default)); ",
575
578
  "margin-bottom: 0; }",