@kbve/droid 0.0.6 → 0.1.1

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 (108) hide show
  1. package/comlink.js +1 -7
  2. package/droid.mjs +191 -61
  3. package/index.d.ts +29 -0
  4. package/index.js +9054 -2763
  5. package/lib/gateway/SupabaseGateway.d.ts +38 -0
  6. package/lib/gateway/SupabaseGateway.d.ts.map +1 -0
  7. package/lib/gateway/WorkerCommunication.d.ts +39 -0
  8. package/lib/gateway/WorkerCommunication.d.ts.map +1 -0
  9. package/lib/gateway/WorkerPool.d.ts +55 -0
  10. package/lib/gateway/WorkerPool.d.ts.map +1 -0
  11. package/lib/gateway/capabilities.d.ts +23 -0
  12. package/lib/gateway/capabilities.d.ts.map +1 -0
  13. package/lib/gateway/index.d.ts +9 -0
  14. package/lib/gateway/index.d.ts.map +1 -0
  15. package/lib/gateway/strategies/DirectStrategy.d.ts +52 -0
  16. package/lib/gateway/strategies/DirectStrategy.d.ts.map +1 -0
  17. package/lib/gateway/strategies/SharedWorkerStrategy.d.ts +46 -0
  18. package/lib/gateway/strategies/SharedWorkerStrategy.d.ts.map +1 -0
  19. package/lib/gateway/strategies/WebWorkerStrategy.d.ts +45 -0
  20. package/lib/gateway/strategies/WebWorkerStrategy.d.ts.map +1 -0
  21. package/lib/gateway/types.d.ts +81 -0
  22. package/lib/gateway/types.d.ts.map +1 -0
  23. package/lib/workers/canvas-ui-renderer.d.ts +25 -0
  24. package/lib/workers/canvas-ui-renderer.d.ts.map +1 -0
  25. package/lib/workers/canvas-worker.d.ts +14 -0
  26. package/lib/workers/canvas-worker.d.ts.map +1 -0
  27. package/lib/workers/canvas-worker.js +291 -145
  28. package/lib/workers/data.d.ts +40 -0
  29. package/lib/workers/data.d.ts.map +1 -0
  30. package/lib/workers/db-worker.d.ts +69 -0
  31. package/lib/workers/db-worker.d.ts.map +1 -0
  32. package/lib/workers/db-worker.js +2680 -2147
  33. package/lib/workers/events.d.ts +11 -0
  34. package/lib/workers/events.d.ts.map +1 -0
  35. package/lib/workers/flexbuilder.d.ts +4 -0
  36. package/lib/workers/flexbuilder.d.ts.map +1 -0
  37. package/lib/workers/init.d.ts +11 -0
  38. package/lib/workers/init.d.ts.map +1 -0
  39. package/lib/workers/main.d.ts +107 -0
  40. package/lib/workers/main.d.ts.map +1 -0
  41. package/lib/workers/supabase-db-worker.d.ts +2 -0
  42. package/lib/workers/supabase-db-worker.d.ts.map +1 -0
  43. package/lib/workers/supabase-db-worker.js +9337 -0
  44. package/lib/workers/supabase-shared-worker.d.ts +2 -0
  45. package/lib/workers/supabase-shared-worker.d.ts.map +1 -0
  46. package/lib/workers/supabase-shared-worker.js +12635 -0
  47. package/lib/workers/tools.d.ts +4 -0
  48. package/lib/workers/tools.d.ts.map +1 -0
  49. package/lib/workers/validate.d.ts +15 -0
  50. package/lib/workers/validate.d.ts.map +1 -0
  51. package/lib/workers/ws-worker.d.ts +11 -0
  52. package/lib/workers/ws-worker.d.ts.map +1 -0
  53. package/lib/workers/ws-worker.js +174 -115
  54. package/main.js +4875 -0
  55. package/package.json +17 -6
  56. package/reference.js +688 -228
  57. package/src/index.ts +38 -13
  58. package/src/lib/droid.spec.ts +14 -19
  59. package/src/lib/droid.ts +48 -4
  60. package/src/lib/gateway/SupabaseGateway.ts +183 -0
  61. package/src/lib/gateway/WorkerCommunication.ts +132 -0
  62. package/src/lib/gateway/WorkerPool.ts +304 -0
  63. package/src/lib/gateway/capabilities.ts +80 -0
  64. package/src/lib/gateway/index.ts +15 -0
  65. package/src/lib/gateway/strategies/DirectStrategy.ts +443 -0
  66. package/src/lib/gateway/strategies/SharedWorkerStrategy.ts +278 -0
  67. package/src/lib/gateway/strategies/WebWorkerStrategy.ts +278 -0
  68. package/src/lib/gateway/types.ts +112 -0
  69. package/src/lib/mod/mod-manager.ts +13 -8
  70. package/src/lib/mod/module/bento/mod-bento.worker.ts +1 -1
  71. package/src/lib/mod/module/supabase/mod-supabase.spec.ts +21 -25
  72. package/src/lib/mod/module/supabase/mod-supabase.ts +68 -0
  73. package/src/lib/mod/module/supabase/mod-supabase.worker.ts +1 -56
  74. package/src/lib/state/auth.spec.ts +58 -0
  75. package/src/lib/state/auth.ts +30 -0
  76. package/src/lib/state/index.ts +34 -0
  77. package/src/lib/state/overlay-manager.ts +125 -0
  78. package/src/lib/state/router.ts +24 -0
  79. package/src/lib/state/theme-sync.ts +75 -0
  80. package/src/lib/state/toasts.spec.ts +106 -0
  81. package/src/lib/state/toasts.ts +34 -0
  82. package/src/lib/state/ui.spec.ts +148 -0
  83. package/src/lib/state/ui.ts +45 -0
  84. package/src/lib/state/welcome-toast.ts +76 -0
  85. package/src/lib/types/bento.spec.ts +116 -0
  86. package/src/lib/types/bento.ts +94 -55
  87. package/src/lib/types/event-types.spec.ts +93 -0
  88. package/src/lib/types/event-types.ts +39 -3
  89. package/src/lib/types/modules.ts +12 -5
  90. package/src/lib/types/ui-event-types.ts +66 -0
  91. package/src/lib/workers/canvas-ui-renderer.ts +266 -0
  92. package/src/lib/workers/canvas-worker.ts +94 -9
  93. package/src/lib/workers/data.ts +59 -36
  94. package/src/lib/workers/db-worker.ts +79 -32
  95. package/src/lib/workers/events.spec.ts +208 -0
  96. package/src/lib/workers/events.ts +27 -14
  97. package/src/lib/workers/flexbuilder.ts +2 -2
  98. package/src/lib/workers/init.ts +25 -17
  99. package/src/lib/workers/main.ts +510 -316
  100. package/src/lib/workers/supabase-db-worker.ts +221 -0
  101. package/src/lib/workers/supabase-shared-worker.ts +572 -0
  102. package/src/lib/workers/validate.ts +64 -0
  103. package/src/lib/workers/ws-worker.ts +156 -25
  104. package/src/setup-vitest.ts +4 -2
  105. package/src/types.ts +30 -0
  106. package/src/vite-env.d.ts +1 -0
  107. package/workers/main.js +10 -1123
  108. package/src/types.d.ts +0 -31
package/comlink.js CHANGED
@@ -1,9 +1,4 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- const M = Symbol("Comlink.proxy"), z = Symbol("Comlink.endpoint"), N = Symbol("Comlink.releaseProxy"), x = Symbol("Comlink.finalizer"), h = Symbol("Comlink.thrown"), S = (e) => typeof e == "object" && e !== null || typeof e == "function", H = {
1
+ const M = /* @__PURE__ */ Symbol("Comlink.proxy"), z = /* @__PURE__ */ Symbol("Comlink.endpoint"), N = /* @__PURE__ */ Symbol("Comlink.releaseProxy"), x = /* @__PURE__ */ Symbol("Comlink.finalizer"), h = /* @__PURE__ */ Symbol("Comlink.thrown"), S = (e) => typeof e == "object" && e !== null || typeof e == "function", H = {
7
2
  canHandle: (e) => S(e) && e[M],
8
3
  serialize(e) {
9
4
  const { port1: t, port2: r } = new MessageChannel();
@@ -248,6 +243,5 @@ function G() {
248
243
  export {
249
244
  R as e,
250
245
  U as p,
251
- F as t,
252
246
  I as w
253
247
  };
package/droid.mjs CHANGED
@@ -1,76 +1,206 @@
1
- import { z as C } from "./index.js";
2
- async function k(l) {
1
+ import { o as m, s as e, r as i, a as W, b as h, n as p, _ as t, c as Q, M as u, T as G, d as Z, e as c, f as d } from "./main.js";
2
+ import { $ as O, g as z, h as M, i as D, j, C as _, D as $, k as q, l as aa, m as ea, p as oa, q as la, t as sa, u as ta, v as na, O as ia, P as ra, w as Ca, x as ca, S as da, y as ba, z as Ja, A as ga, V as ka, W as ma, B as Wa, E as ha, F as pa, G as Qa, H as ua, I as Ga, J as Za, K as wa, L as Ra, N as ya, Q as Ia, R as Sa, U as La, X as Xa, Y as Ya, Z as Va, a0 as Ba, a1 as Ta, a2 as va, a3 as Ua, a4 as Aa, a5 as fa } from "./main.js";
3
+ import { W as xa, g as Ha } from "./WorkerCommunication.js";
4
+ import { C as Ka } from "./canvas-ui-renderer.js";
5
+ async function T(a) {
3
6
  console.log("[DROID]: droid<T>");
4
- const { main: g } = await import("./workers/main.js");
5
- return await g({ workerURLs: l?.workerURLs }), console.log("[DROID]: droid<T> => await WorkerURLs"), { initialized: !0 };
7
+ const { main: o } = await import("./workers/main.js"), l = o({
8
+ workerURLs: a?.workerURLs,
9
+ workerRefs: a?.workerRefs,
10
+ i18nPath: a?.i18nPath,
11
+ dataPath: a?.dataPath
12
+ });
13
+ if (a?.initTimeout && a.initTimeout > 0) {
14
+ const s = new Promise(
15
+ (V, k) => setTimeout(
16
+ () => k(
17
+ new Error(
18
+ `[DROID] Worker init timed out after ${a.initTimeout}ms`
19
+ )
20
+ ),
21
+ a.initTimeout
22
+ )
23
+ );
24
+ await Promise.race([l, s]);
25
+ } else
26
+ await l;
27
+ return console.log("[DROID]: droid<T> => await WorkerRefs + URLs"), { initialized: !0 };
6
28
  }
7
- const b = ["default", "minimal", "image-heavy"], J = ["fade-in", "slide-up", "none"], c = ["_self", "_blank", "_parent", "_top"], d = ["button", "link", "region", "article"], m = ["default", "success", "warning", "error"], Z = /^[a-z]+-(100|200|300|400|500|600|700|800|900)$/, W = /^(?:(?:[a-z]+:)?(col|row)-span-\d+\s*)+$/, I = /^01[0-9A-HJKMNP-TV-Z]{24}$/, Y = C.object({
8
- id: C.string().regex(I, "Invalid ULID format").optional(),
9
- title: C.string().min(1, "Title is required"),
10
- subtitle: C.string().optional(),
11
- description: C.string().optional(),
12
- span: C.string().regex(W, "Invalid span format (e.g., col-span-2, row-span-1)").optional(),
13
- primaryColor: C.string().regex(Z, "Invalid Tailwind color format (e.g., blue-500)"),
14
- secondaryColor: C.string().regex(Z, "Invalid Tailwind color format (e.g., blue-500)"),
15
- icon: C.string().optional(),
16
- backgroundImage: C.string().url().optional(),
17
- onclick: C.string().optional(),
18
- href: C.string().url().optional(),
19
- target: C.enum(c).optional(),
20
- ariaLabel: C.string().optional(),
21
- role: C.enum(d).optional(),
22
- variant: C.enum(b).optional(),
23
- animation: C.enum(J).optional(),
24
- badge: C.string().optional(),
25
- badgeType: C.enum(m).optional(),
26
- priority: C.number().int().min(0).optional(),
27
- tooltip: C.string().optional(),
28
- disabled: C.boolean().optional(),
29
- meta: C.record(C.any()).optional(),
30
- dataset: C.record(C.string()).optional(),
31
- className: C.string().optional()
29
+ const w = ["default", "minimal", "image-heavy"], R = ["fade-in", "slide-up", "none"], y = ["_self", "_blank", "_parent", "_top"], I = ["button", "link", "region", "article"], S = [
30
+ "default",
31
+ "success",
32
+ "warning",
33
+ "error"
34
+ ], r = /^[a-z]+-(100|200|300|400|500|600|700|800|900)$/, L = /^(?:(?:[a-z]+:)?(col|row)-span-\d+\s*)+$/, X = /^01[0-9A-HJKMNP-TV-Z]{24}$/, v = m({
35
+ id: e().regex(X, "Invalid ULID format").optional(),
36
+ title: e().min(1, "Title is required"),
37
+ subtitle: e().optional(),
38
+ description: e().optional(),
39
+ span: e().regex(
40
+ L,
41
+ "Invalid span format (e.g., col-span-2, row-span-1)"
42
+ ).optional(),
43
+ primaryColor: e().regex(
44
+ r,
45
+ "Invalid Tailwind color format (e.g., blue-500)"
46
+ ),
47
+ secondaryColor: e().regex(
48
+ r,
49
+ "Invalid Tailwind color format (e.g., blue-500)"
50
+ ),
51
+ icon: e().optional(),
52
+ backgroundImage: e().url().optional(),
53
+ onclick: e().optional(),
54
+ href: e().url().optional(),
55
+ target: t(y).optional(),
56
+ ariaLabel: e().optional(),
57
+ role: t(I).optional(),
58
+ variant: t(w).optional(),
59
+ animation: t(R).optional(),
60
+ badge: e().optional(),
61
+ badgeType: t(S).optional(),
62
+ priority: p().int().min(0).optional(),
63
+ tooltip: e().optional(),
64
+ disabled: h().optional(),
65
+ meta: i(e(), W()).optional(),
66
+ dataset: i(e(), e()).optional(),
67
+ className: e().optional()
68
+ }).refine((a) => !a.href || a.href && a.target, {
69
+ message: "target is required when href is provided",
70
+ path: ["target"]
32
71
  }).refine(
33
- (l) => !l.href || l.href && l.target,
34
- { message: "target is required when href is provided", path: ["target"] }
35
- ).refine(
36
- (l) => !l.badgeType || l.badge && l.badge.length > 0,
37
- { message: "badge must be provided if badgeType is set", path: ["badge"] }
38
- ), X = {
72
+ (a) => !a.badgeType || a.badge && a.badge.length > 0,
73
+ {
74
+ message: "badge must be provided if badgeType is set",
75
+ path: ["badge"]
76
+ }
77
+ ), U = {
39
78
  default: { base: "p-4 flex flex-col justify-between" },
40
- minimal: { base: "p-2 bg-opacity-30 backdrop-blur-sm", hover: "bg-opacity-50" },
79
+ minimal: {
80
+ base: "p-2 bg-opacity-30 backdrop-blur-sm",
81
+ hover: "bg-opacity-50"
82
+ },
41
83
  "image-heavy": { base: "p-0 overflow-hidden", hover: "scale-105" }
42
- }, o = {
84
+ }, A = {
43
85
  "fade-in": "animate-fade-in",
44
86
  "slide-up": "animate-slide-up",
45
87
  none: ""
46
- }, y = {
88
+ }, f = {
47
89
  default: "bg-white/30 text-white",
48
90
  success: "bg-green-500/80 text-white",
49
91
  warning: "bg-yellow-500/80 text-black",
50
92
  error: "bg-red-500/80 text-white"
51
- }, n = {
52
- bento: new URL("data:video/mp2t;base64,aW1wb3J0IHsgZXhwb3NlIH0gZnJvbSAnY29tbGluayc7CmltcG9ydCB0eXBlIHsgQmFzZU1vZEFQSSwgVmlydHVhbE5vZGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9tb2R1bGVzJzsKaW1wb3J0IHsKCUJlbnRvVGlsZVNjaGVtYSwKCXR5cGUgQmVudG9UaWxlLAoJQkVOVE9fQkFER0VfQ0xBU1NfTUFQLAoJQkVOVE9fQU5JTUFUSU9OX0NMQVNTX01BUCwKCUJFTlRPX1ZBUklBTlRfQ0xBU1NfTUFQLAp9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2JlbnRvJzsKCmxldCBlbWl0VG9NYWluOiAoKG1zZzogYW55KSA9PiB2b2lkKSB8IHVuZGVmaW5lZDsKCmZ1bmN0aW9uIGNyZWF0ZVZOb2RlRnJvbVRpbGUodGlsZTogQmVudG9UaWxlKTogVmlydHVhbE5vZGUgewoJY29uc3QgdmFyaWFudCA9IHRpbGUudmFyaWFudCA/PyAnZGVmYXVsdCc7Cgljb25zdCBhbmltYXRpb25DbGFzcyA9IHRpbGUuYW5pbWF0aW9uCgkJPyBCRU5UT19BTklNQVRJT05fQ0xBU1NfTUFQW3RpbGUuYW5pbWF0aW9uXQoJCTogJyc7Cgljb25zdCB2YXJpYW50QmFzZSA9IEJFTlRPX1ZBUklBTlRfQ0xBU1NfTUFQW3ZhcmlhbnRdPy5iYXNlID8/ICcnOwoJY29uc3QgdmFyaWFudEhvdmVyID0gQkVOVE9fVkFSSUFOVF9DTEFTU19NQVBbdmFyaWFudF0/LmhvdmVyID8/ICcnOwoKCWNvbnN0IHJvb3RDbGFzc2VzID0gWwoJCSdiZW50by1pdGVtJywKCQknY29sLXNwYW4tMScsCgkJJ3Jvdy1zcGFuLTEnLAoJCXRpbGUuc3BhbiA/PyAnbWQ6Y29sLXNwYW4tMiBtZDpyb3ctc3Bhbi0xJywKCQknYmctZ3JhZGllbnQtdG8tYnInLAoJCXRpbGUucHJpbWFyeUNvbG9yID8gYGZyb20tJHt0aWxlLnByaW1hcnlDb2xvcn1gIDogJycsCgkJdGlsZS5zZWNvbmRhcnlDb2xvciA/IGB0by0ke3RpbGUuc2Vjb25kYXJ5Q29sb3J9YCA6ICcnLAoJCSdyb3VuZGVkLTJ4bCBvdmVyZmxvdy1oaWRkZW4gc2hhZG93LTJ4bCcsCgkJdmFyaWFudEJhc2UsCgkJdmFyaWFudEhvdmVyID8gYGhvdmVyOiR7dmFyaWFudEhvdmVyfWAgOiAnJywKCQlhbmltYXRpb25DbGFzcywKCQl0aWxlLmNsYXNzTmFtZSA/PyAnJywKCV0KCQkuZmlsdGVyKEJvb2xlYW4pCgkJLmpvaW4oJyAnKTsKCgljb25zdCBkYXRhc2V0QXR0cnMgPSB0aWxlLmRhdGFzZXQKCQk/IE9iamVjdC5mcm9tRW50cmllcygKCQkJCU9iamVjdC5lbnRyaWVzKHRpbGUuZGF0YXNldCkubWFwKChbaywgdl0pID0+IFtgZGF0YS0ke2t9YCwgdl0pLAoJCQkpCgkJOiB7fTsKCgljb25zdCB3cmFwcGVyOiBWaXJ0dWFsTm9kZSA9IHsKCQl0YWc6IHRpbGUuaHJlZiA/ICdhJyA6ICdkaXYnLAoJCWNsYXNzOiByb290Q2xhc3NlcywKCQlhdHRyczogewoJCQkuLi4odGlsZS5ocmVmCgkJCQk/IHsgaHJlZjogdGlsZS5ocmVmLCB0YXJnZXQ6IHRpbGUudGFyZ2V0ID8/ICdfc2VsZicgfQoJCQkJOiB7fSksCgkJCS4uLih0aWxlLm9uY2xpY2sgPyB7IG9uY2xpY2s6IHRpbGUub25jbGljayB9IDoge30pLAoJCQkuLi4odGlsZS5hcmlhTGFiZWwgPyB7ICdhcmlhLWxhYmVsJzogdGlsZS5hcmlhTGFiZWwgfSA6IHt9KSwKCQkJLi4uKHRpbGUucm9sZSA/IHsgcm9sZTogdGlsZS5yb2xlIH0gOiB7fSksCgkJCS4uLmRhdGFzZXRBdHRycywKCQl9LAoJCWNoaWxkcmVuOiBbCgkJCXRpbGUuYmFkZ2UgJiYgewoJCQkJdGFnOiAnc3BhbicsCgkJCQljbGFzczogYGFic29sdXRlIHRvcC0yIHJpZ2h0LTIgcHgtMiBweS0xIHRleHQteHMgcm91bmRlZCB6LTEwICR7QkVOVE9fQkFER0VfQ0xBU1NfTUFQW3RpbGUuYmFkZ2VUeXBlID8/ICdkZWZhdWx0J119YCwKCQkJCWNoaWxkcmVuOiBbdGlsZS5iYWRnZV0sCgkJCX0sCgkJCXsKCQkJCXRhZzogJ2RpdicsCgkJCQljbGFzczogJ3AtNCBmbGV4IGZsZXgtY29sIGp1c3RpZnktYmV0d2VlbiBoLWZ1bGwnLAoJCQkJY2hpbGRyZW46IFsKCQkJCQl7CgkJCQkJCXRhZzogJ2RpdicsCgkJCQkJCWNsYXNzOiAnZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMnLAoJCQkJCQljaGlsZHJlbjogWwoJCQkJCQkJdGlsZS5pY29uICYmIHsKCQkJCQkJCQl0YWc6ICdkaXYnLAoJCQkJCQkJCWNsYXNzOiAndGV4dC0yeGwgYmctd2hpdGUvMjAgcm91bmRlZC1mdWxsIHAtMiB0ZXh0LXdoaXRlJywKCQkJCQkJCQljaGlsZHJlbjogW3RpbGUuaWNvbl0sCgkJCQkJCQl9LAoJCQkJCQkJewoJCQkJCQkJCXRhZzogJ2gzJywKCQkJCQkJCQljbGFzczogJ3RleHQtd2hpdGUgdGV4dC1sZyBmb250LWJvbGQnLAoJCQkJCQkJCWNoaWxkcmVuOiBbdGlsZS50aXRsZV0sCgkJCQkJCQl9LAoJCQkJCQldLmZpbHRlcihCb29sZWFuKSBhcyBWaXJ0dWFsTm9kZVtdLAoJCQkJCX0sCgkJCQkJdGlsZS5zdWJ0aXRsZSAmJiB7CgkJCQkJCXRhZzogJ3AnLAoJCQkJCQljbGFzczogJ3RleHQtc20gdGV4dC13aGl0ZS84MCBtdC0yJywKCQkJCQkJY2hpbGRyZW46IFt0aWxlLnN1YnRpdGxlXSwKCQkJCQl9LAoJCQkJCXRpbGUuZGVzY3JpcHRpb24gJiYgewoJCQkJCQl0YWc6ICdwJywKCQkJCQkJY2xhc3M6ICd0ZXh0LXhzIHRleHQtd2hpdGUvNjAgbXQtMScsCgkJCQkJCWNoaWxkcmVuOiBbdGlsZS5kZXNjcmlwdGlvbl0sCgkJCQkJfSwKCQkJCV0uZmlsdGVyKEJvb2xlYW4pIGFzIFZpcnR1YWxOb2RlW10sCgkJCX0sCgkJXS5maWx0ZXIoQm9vbGVhbikgYXMgVmlydHVhbE5vZGVbXSwKCX07CgoJcmV0dXJuIHdyYXBwZXI7Cn0KCmNvbnN0IGFwaTogQmFzZU1vZEFQSSA9IHsKCWFzeW5jIGdldE1ldGEoKSB7CgkJcmV0dXJuIHsKCQkJbmFtZTogJ2JlbnRvJywKCQkJdmVyc2lvbjogJzAuMS4wJywKCQl9OwoJfSwKCglhc3luYyBpbml0KGNvbnRleHQpIHsKCQllbWl0VG9NYWluID0gY29udGV4dD8uZW1pdEZyb21Xb3JrZXI7Cgl9LAoKCWFzeW5jIHJ1bihkYXRhOiB1bmtub3duKSB7CgkJaWYgKCFlbWl0VG9NYWluKSB7CgkJCWNvbnNvbGUud2FybignW21vZC1iZW50b10gZW1pdEZyb21Xb3JrZXIgbm90IGRlZmluZWQnKTsKCQkJcmV0dXJuOwoJCX0KCgkJdHJ5IHsKCQkJY29uc3QgdGlsZSA9IEJlbnRvVGlsZVNjaGVtYS5wYXJzZShkYXRhKTsKCQkJY29uc3Qgdm5vZGUgPSBjcmVhdGVWTm9kZUZyb21UaWxlKHRpbGUpOwoJCQllbWl0VG9NYWluKHsgdHlwZTogJ2luamVjdFZOb2RlJywgdm5vZGUgfSk7CgkJfSBjYXRjaCAoZXJyKSB7CgkJCWNvbnNvbGUuZXJyb3IoJ1ttb2QtYmVudG9dIEludmFsaWQgQmVudG9UaWxlIGRhdGE6JywgZXJyKTsKCQl9Cgl9LAp9OwoKZXhwb3NlKGFwaSk7Cg==", import.meta.url).href
53
- }, s = {
54
- canvasWorker: new URL("data:video/mp2t;base64,aW1wb3J0IHsgZXhwb3NlIH0gZnJvbSAnY29tbGluayc7CgpleHBvcnQgaW50ZXJmYWNlIENhbnZhc1dvcmtlckFQSSB7CgliaW5kQ2FudmFzKHBhbmVsSWQ6IHN0cmluZywgY2FudmFzOiBPZmZzY3JlZW5DYW52YXMsIG1vZGU/OiBDYW52YXNEcmF3TW9kZSk6IFByb21pc2U8dm9pZD47Cgl1bmJpbmRDYW52YXMocGFuZWxJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjsKfQoKaW50ZXJmYWNlIENhbnZhc0JpbmRpbmcgewoJY3R4OiBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7CgljYW52YXM6IE9mZnNjcmVlbkNhbnZhczsKCXBhbmVsSWQ6IHN0cmluZzsKCW1vZGU/OiBDYW52YXNEcmF3TW9kZTsKCWFuaW1hdGlvbkZyYW1lPzogbnVtYmVyOwp9CgpleHBvcnQgdHlwZSBDYW52YXNEcmF3TW9kZSA9ICdzdGF0aWMnIHwgJ2FuaW1hdGVkJyB8ICdkeW5hbWljJzsKCmNvbnN0IENhbnZhc01hbmFnZXIgPSB7CgliaW5kaW5nczogbmV3IE1hcDxzdHJpbmcsIENhbnZhc0JpbmRpbmc+KCksCgoJYXN5bmMgYmluZENhbnZhcyhwYW5lbElkOiBzdHJpbmcsIGNhbnZhczogT2Zmc2NyZWVuQ2FudmFzLCBtb2RlOiBDYW52YXNEcmF3TW9kZSA9ICdhbmltYXRlZCcpIHsKCQljb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKCgkJaWYgKCFjdHgpIHsKCQkJY29uc29sZS5lcnJvcihgW0NhbnZhc1dvcmtlcl0gRmFpbGVkIHRvIGdldCAyRCBjb250ZXh0IGZvciBwYW5lbCAke3BhbmVsSWR9YCk7CgkJCXJldHVybjsKCQl9CgoJCWNvbnNvbGUubG9nKGBbQ2FudmFzV29ya2VyXSBTdWNjZXNzZnVsbHkgYm91bmQgY2FudmFzIGZvciBwYW5lbCAke3BhbmVsSWR9IHdpdGggbW9kZSAke21vZGV9YCk7CgoJCXRoaXMuYmluZGluZ3Muc2V0KHBhbmVsSWQsIHsgY3R4LCBjYW52YXMsIHBhbmVsSWQsIG1vZGUgfSk7CgoJCXRoaXMuc3RhcnRBbmltYXRpb24ocGFuZWxJZCk7Cgl9LAoKCXN0YXJ0QW5pbWF0aW9uKHBhbmVsSWQ6IHN0cmluZykgewoJCWNvbnN0IGJpbmRpbmcgPSB0aGlzLmJpbmRpbmdzLmdldChwYW5lbElkKTsKCQlpZiAoIWJpbmRpbmcpIHJldHVybjsKCgkJc3dpdGNoIChiaW5kaW5nLm1vZGUpIHsKCQkJY2FzZSAnc3RhdGljJzoKCQkJCXRoaXMuZHJhd1N0YXRpYyhiaW5kaW5nKTsKCQkJCWJyZWFrOwoJCQljYXNlICdhbmltYXRlZCc6CgkJCQl0aGlzLmRyYXdBbmltYXRlZChiaW5kaW5nKTsKCQkJCWJyZWFrOwoJCQljYXNlICdkeW5hbWljJzoKCQkJCXRoaXMuZHJhd0R5bmFtaWMoYmluZGluZyk7CgkJCQlicmVhazsKCQkJZGVmYXVsdDoKCQkJCWNvbnNvbGUud2FybihgW0NhbnZhc1dvcmtlcl0gVW5rbm93biBkcmF3IG1vZGUgZm9yIHBhbmVsICR7cGFuZWxJZH1gKTsKCQl9Cgl9LAoKCWRyYXdTdGF0aWMoYmluZGluZzogQ2FudmFzQmluZGluZykgewoJCWJpbmRpbmcuY3R4LmZpbGxTdHlsZSA9ICdncmF5JzsKCQliaW5kaW5nLmN0eC5maWxsUmVjdCgwLCAwLCBiaW5kaW5nLmNhbnZhcy53aWR0aCwgYmluZGluZy5jYW52YXMuaGVpZ2h0KTsKCX0sCgoJZHJhd0FuaW1hdGVkKGJpbmRpbmc6IENhbnZhc0JpbmRpbmcpIHsKCQlsZXQgaHVlID0gMDsKCgkJY29uc3QgZHJhd0ZyYW1lID0gKCkgPT4gewoJCQlodWUgPSAoaHVlICsgMSkgJSAzNjA7CgkJCWJpbmRpbmcuY3R4LmZpbGxTdHlsZSA9IGBoc2woJHtodWV9LCAxMDAlLCA1MCUpYDsKCQkJYmluZGluZy5jdHguZmlsbFJlY3QoMCwgMCwgYmluZGluZy5jYW52YXMud2lkdGgsIGJpbmRpbmcuY2FudmFzLmhlaWdodCk7CgoJCQliaW5kaW5nLmFuaW1hdGlvbkZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRyYXdGcmFtZSk7CgkJfTsKCgkJZHJhd0ZyYW1lKCk7Cgl9LAoKCWRyYXdEeW5hbWljKGJpbmRpbmc6IENhbnZhc0JpbmRpbmcpIHsKCQlsZXQgdGltZSA9IDA7CgoJCWNvbnN0IGRyYXdGcmFtZSA9ICgpID0+IHsKCQkJdGltZSArPSAwLjA1OwoJCQliaW5kaW5nLmN0eC5jbGVhclJlY3QoMCwgMCwgYmluZGluZy5jYW52YXMud2lkdGgsIGJpbmRpbmcuY2FudmFzLmhlaWdodCk7CgkJCWJpbmRpbmcuY3R4LmJlZ2luUGF0aCgpOwoJCQliaW5kaW5nLmN0eC5hcmMoCgkJCQliaW5kaW5nLmNhbnZhcy53aWR0aCAvIDIgKyBNYXRoLnNpbih0aW1lKSAqIDUwLAoJCQkJYmluZGluZy5jYW52YXMuaGVpZ2h0IC8gMiArIE1hdGguY29zKHRpbWUpICogNTAsCgkJCQkzMCwKCQkJCTAsCgkJCQlNYXRoLlBJICogMgoJCQkpOwoJCQliaW5kaW5nLmN0eC5maWxsU3R5bGUgPSAnb3JhbmdlJzsKCQkJYmluZGluZy5jdHguZmlsbCgpOwoJCgkJCWJpbmRpbmcuYW5pbWF0aW9uRnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZHJhd0ZyYW1lKTsKCQl9OwoKCQlkcmF3RnJhbWUoKTsKCX0sCgoJYXN5bmMgdW5iaW5kQ2FudmFzKHBhbmVsSWQ6IHN0cmluZykgewoJCWNvbnN0IGJpbmRpbmcgPSB0aGlzLmJpbmRpbmdzLmdldChwYW5lbElkKTsKCQlpZiAoYmluZGluZz8uYW5pbWF0aW9uRnJhbWUpIHsKCQkJY2FuY2VsQW5pbWF0aW9uRnJhbWUoYmluZGluZy5hbmltYXRpb25GcmFtZSk7CgkJfQoJCXRoaXMuYmluZGluZ3MuZGVsZXRlKHBhbmVsSWQpOwoJCWNvbnNvbGUubG9nKGBbQ2FudmFzV29ya2VyXSBVbmJvdW5kIGNhbnZhcyBmb3IgcGFuZWwgJHtwYW5lbElkfWApOwoJfSwKfTsKCmV4cG9zZShDYW52YXNNYW5hZ2VyKTsK", import.meta.url),
55
- dbWorker: new URL("data:video/mp2t;base64,aW1wb3J0IHsgZXhwb3NlIH0gZnJvbSAnY29tbGluayc7CmltcG9ydCBEZXhpZSwgeyB0eXBlIFRhYmxlIH0gZnJvbSAnZGV4aWUnOwppbXBvcnQgdHlwZSB7IERpc2NvcmRTZXJ2ZXIsIERpc2NvcmRUYWcsIFByb2ZpbGUgfSBmcm9tICcuLi90eXBlcy9kaXNjb3JkJzsKaW1wb3J0IHsgdG9SZWZlcmVuY2UgfSBmcm9tICcuL2ZsZXhidWlsZGVyJzsKCmludGVyZmFjZSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSBleHRlbmRzIFdvcmtlciB7CglvbmNvbm5lY3Q6IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB2b2lkOwp9CmRlY2xhcmUgY29uc3Qgc2VsZjogU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU7CgpjbGFzcyBBcHBEZXhpZSBleHRlbmRzIERleGllIHsKCXNldHRpbmdzITogVGFibGU8eyBpZDogc3RyaW5nOyB2YWx1ZTogYW55IH0sIHN0cmluZz47CgltZXRhITogVGFibGU8eyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueSB9LCBzdHJpbmc+OwoJaTE4biE6IFRhYmxlPHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSwgc3RyaW5nPjsKCWh0bWxzZXJ2ZXJzITogVGFibGU8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9LCBzdHJpbmc+OwoJc2VydmVycyE6IFRhYmxlPERpc2NvcmRTZXJ2ZXIsIHN0cmluZz47Cgl0YWdzITogVGFibGU8RGlzY29yZFRhZywgc3RyaW5nPjsKCXByb2ZpbGVzITogVGFibGU8UHJvZmlsZSwgc3RyaW5nPjsKCXdzX21lc3NhZ2VzITogVGFibGU8eyBrZXk6IHN0cmluZzsgbWVzc2FnZTogYW55IH0sIHN0cmluZz47CgoJY29uc3RydWN0b3IoKSB7CgkJc3VwZXIoJ0FwcFN0b3JhZ2UnKTsKCQl0aGlzLnZlcnNpb24oMykuc3RvcmVzKHsKCQkJc2V0dGluZ3M6ICcmaWQnLAoJCQltZXRhOiAnJmtleScsCgkJCWkxOG46ICcma2V5JywKCQkJaHRtbHNlcnZlcnM6ICcma2V5JywKCQkJc2VydmVyczogJyZzZXJ2ZXJfaWQnLAoJCQl0YWdzOiAnJnRhZ19pZCcsCgkJCXByb2ZpbGVzOiAnJnByb2ZpbGVfaWQnLAoJCQl3c19tZXNzYWdlczogJyZrZXknLAoJCX0pOwoJfQp9CmNvbnN0IGRiID0gbmV3IEFwcERleGllKCk7CgpmdW5jdGlvbiBkZWxheShtczogbnVtYmVyKSB7CglyZXR1cm4gbmV3IFByb21pc2UoKHJlcykgPT4gc2V0VGltZW91dChyZXMsIG1zKSk7Cn0KCmZ1bmN0aW9uIHJlbmRlckh0bWxGb3JTZXJ2ZXIoc2VydmVyOiBEaXNjb3JkU2VydmVyKTogc3RyaW5nIHsKCXJldHVybiBgCgkJPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBnYXAtMiBwLTIiPgoJCQk8aW1nIHNyYz0iJHtzZXJ2ZXIubG9nb30iIGFsdD0iJHtzZXJ2ZXIubmFtZX0iIGNsYXNzPSJ3LTEyIGgtMTIgcm91bmRlZC1mdWxsIiAvPgoJCQk8aDMgY2xhc3M9InRleHQtbGcgZm9udC1ib2xkIj4ke3NlcnZlci5uYW1lfTwvaDM+CgkJCTxwIGNsYXNzPSJ0ZXh0LXNtIG9wYWNpdHktNzAiPiR7c2VydmVyLnN1bW1hcnl9PC9wPgoJCQk8YSBocmVmPSIke3NlcnZlci5pbnZpdGV9IiBjbGFzcz0idGV4dC1wdXJwbGUtNDAwIHVuZGVybGluZSB0ZXh0LXhzIj5Kb2luIEpvaW4gSm9pbjwvYT4KCQk8L2Rpdj4KCWAudHJpbSgpOwp9CgovLyAtLS0gQ29tbGluay1TYWZlIEFQSSAtLS0KY29uc3Qgc3RvcmFnZUFQSSA9IHsKCgkvLyBXZWJTb2NrZXQKCglhc3luYyBzdG9yZVdzTWVzc2FnZShrZXk6IHN0cmluZywgYnVmZmVyOiBBcnJheUJ1ZmZlcikgewoJCWNvbnN0IGRlY29kZWQgPSB0b1JlZmVyZW5jZShidWZmZXIpLnRvT2JqZWN0KCk7CgkJYXdhaXQgZGIud3NfbWVzc2FnZXMucHV0KHsga2V5LCBtZXNzYWdlOiBkZWNvZGVkIH0pOwoJfSwKCglhc3luYyBnZXRXc01lc3NhZ2Uoa2V5OiBzdHJpbmcpIHsKCQlyZXR1cm4gKGF3YWl0IGRiLndzX21lc3NhZ2VzLmdldChrZXkpKT8ubWVzc2FnZSA/PyBudWxsOwoJfSwKCQoJYXN5bmMgZ2V0QWxsV3NNZXNzYWdlcygpOiBQcm9taXNlPHsga2V5OiBzdHJpbmc7IG1lc3NhZ2U6IGFueSB9W10+IHsKCQljb25zdCByYXcgPSBhd2FpdCBkYi53c19tZXNzYWdlcy50b0FycmF5KCk7CgkJcmV0dXJuIHJhdy5zb3J0KChhLCBiKSA9PiB7CgkJCWNvbnN0IGF0ID0gTnVtYmVyKGEua2V5LnNwbGl0KCc6JylbMV0pOwoJCQljb25zdCBidCA9IE51bWJlcihiLmtleS5zcGxpdCgnOicpWzFdKTsKCQkJcmV0dXJuIGJ0IC0gYXQ7CgkJfSk7Cgl9LAoJCglhc3luYyBjbGVhcldzTWVzc2FnZXMoKSB7CgkJYXdhaXQgZGIud3NfbWVzc2FnZXMuY2xlYXIoKTsKCX0sCgoJLy8gSTE4bgoJYXN5bmMgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcpIHsKCQlyZXR1cm4gKGF3YWl0IGRiLmkxOG4uZ2V0KGtleSkpPy52YWx1ZSA/PyBudWxsOwoJfSwKCWFzeW5jIGdldFRyYW5zbGF0aW9ucyhrZXlzOiBzdHJpbmdbXSkgewoJCWNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9OwoJCWZvciAoY29uc3Qga2V5IG9mIGtleXMpIHsKCQkJY29uc3QgdmFsID0gYXdhaXQgZGIuaTE4bi5nZXQoa2V5KTsKCQkJaWYgKHZhbCkgcmVzdWx0W2tleV0gPSB2YWwudmFsdWU7CgkJfQoJCXJldHVybiByZXN1bHQ7Cgl9LAoJYXN5bmMgcHV0STE4bkJhdGNoKGRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHsKCQljb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoZGF0YSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7CgkJCWtleSwKCQkJdmFsdWUsCgkJfSkpOwoJCWF3YWl0IGRiLmkxOG4uYnVsa1B1dChlbnRyaWVzKTsKCX0sCglhc3luYyBsb2FkSTE4bkZyb21KU09OKHBhdGggPSAnaHR0cHM6Ly9kaXNjb3JkLnNoL2kxOG4vZGIuanNvbicpIHsKCWNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHBhdGgpOwoJY29uc3QgZGF0YSA9IGF3YWl0IHJlcy5qc29uKCk7Cglhd2FpdCBzdG9yYWdlQVBJLnB1dEkxOG5CYXRjaChkYXRhKTsKCX0sCglhc3luYyBnZXRBbGxJMThuS2V5cygpOiBQcm9taXNlPHN0cmluZ1tdPiB7CgkJY29uc3QgYWxsID0gYXdhaXQgZGIuaTE4bi50b0NvbGxlY3Rpb24oKS5wcmltYXJ5S2V5cygpOwoJCXJldHVybiBhbGwgYXMgc3RyaW5nW107Cgl9LAoKCWFzeW5jIGxvYWRTZXJ2ZXJzRnJvbUpTT04ocGF0aCA9ICdodHRwczovL2Rpc2NvcmQuc2gvZGF0YS9zZXJ2ZXJzLmpzb24nKSB7CgkJY29uc3QgcmVzID0gYXdhaXQgZmV0Y2gocGF0aCk7CgkJY29uc3QgZGF0YSA9IGF3YWl0IHJlcy5qc29uKCk7CgkKCQkvLyBUaGUgSlNPTiBzaG91bGQgYmUgYSBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkU2VydmVyPgoJCWNvbnN0IHNlcnZlcnM6IERpc2NvcmRTZXJ2ZXJbXSA9IE9iamVjdC52YWx1ZXMoZGF0YSk7CgkJYXdhaXQgc3RvcmFnZUFQSS5wdXRTZXJ2ZXJzKHNlcnZlcnMpOwoJCWF3YWl0IHN0b3JhZ2VBUEkuc3luY0h0bWxGcm9tU2VydmVycygpOwoJfSwKCgkvLyBIVE1MIFByZVJlbmRlcgoJYXN5bmMgc3luY0h0bWxGcm9tU2VydmVycygpIHsKCQljb25zdCBhbGxTZXJ2ZXJzID0gYXdhaXQgZGIuc2VydmVycy50b0FycmF5KCk7CgkJY29uc3QgZXhpc3RpbmdIdG1sS2V5cyA9IGF3YWl0IGRiLmh0bWxzZXJ2ZXJzLnRvQ29sbGVjdGlvbigpLnByaW1hcnlLZXlzKCk7CgkJY29uc3QgbWlzc2luZzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10gPSBbXTsKCQoJCWZvciAoY29uc3Qgc2VydmVyIG9mIGFsbFNlcnZlcnMpIHsKCQkJaWYgKCFleGlzdGluZ0h0bWxLZXlzLmluY2x1ZGVzKHNlcnZlci5zZXJ2ZXJfaWQpKSB7CgkJCQljb25zdCBodG1sID0gcmVuZGVySHRtbEZvclNlcnZlcihzZXJ2ZXIpOwoJCQkJbWlzc2luZy5wdXNoKHsga2V5OiBzZXJ2ZXIuc2VydmVyX2lkLCB2YWx1ZTogaHRtbCB9KTsKCQkJfQoJCX0KCQoJCWlmIChtaXNzaW5nLmxlbmd0aCA+IDApIHsKCQkJYXdhaXQgZGIuaHRtbHNlcnZlcnMuYnVsa1B1dChtaXNzaW5nKTsKCQkJY29uc29sZS5pbmZvKGBbc3luY0h0bWxGcm9tU2VydmVyc10gR2VuZXJhdGVkICR7bWlzc2luZy5sZW5ndGh9IEhUTUwgY2FyZHMuYCk7CgkJfSBlbHNlIHsKCQkJY29uc29sZS5pbmZvKCdbc3luY0h0bWxGcm9tU2VydmVyc10gQWxsIHNlcnZlcnMgYWxyZWFkeSBoYXZlIEhUTUwgY2FyZHMuJyk7CgkJfQoJfSwKCgkvLyBTZXR0aW5ncwoJYXN5bmMgZGJTZXQoaWQ6IHN0cmluZywgdmFsdWU6IGFueSkgewoJCWF3YWl0IGRiLnNldHRpbmdzLnB1dCh7IGlkLCB2YWx1ZSB9KTsKCX0sCglhc3luYyBkYkdldChpZDogc3RyaW5nKSB7CgkJcmV0dXJuIChhd2FpdCBkYi5zZXR0aW5ncy5nZXQoaWQpKT8udmFsdWUgPz8gbnVsbDsKCX0sCglhc3luYyBkYkNsZWFyKCkgewoJCWF3YWl0IGRiLnNldHRpbmdzLmNsZWFyKCk7Cgl9LAoKCS8vIE1ldGEKCWFzeW5jIHNldFZlcnNpb24odmVyc2lvbjogc3RyaW5nKSB7CgkJYXdhaXQgZGIubWV0YS5wdXQoeyBrZXk6ICd2ZXJzaW9uJywgdmFsdWU6IHZlcnNpb24gfSk7Cgl9LAoJYXN5bmMgZ2V0VmVyc2lvbigpIHsKCQlyZXR1cm4gKGF3YWl0IGRiLm1ldGEuZ2V0KCd2ZXJzaW9uJykpPy52YWx1ZSA/PyBudWxsOwoJfSwKCWFzeW5jIG1hcmtTZWVkZWQoKSB7CgkJYXdhaXQgZGIubWV0YS5wdXQoeyBrZXk6ICdkYl9zZWVkZWQnLCB2YWx1ZTogdHJ1ZSB9KTsKCX0sCglhc3luYyBjaGVja1NlZWRlZCgpIHsKCQlyZXR1cm4gKGF3YWl0IGRiLm1ldGEuZ2V0KCdkYl9zZWVkZWQnKSk/LnZhbHVlID09PSB0cnVlOwoJfSwKCgkvLyBTZXJ2ZXJzCglhc3luYyBwdXRTZXJ2ZXJzKHNlcnZlcnM6IERpc2NvcmRTZXJ2ZXJbXSkgewoJCWF3YWl0IGRiLnNlcnZlcnMuYnVsa1B1dChzZXJ2ZXJzKTsKCX0sCglhc3luYyBnZXRBbGxTZXJ2ZXJzKCkgewoJCXJldHVybiBhd2FpdCBkYi5zZXJ2ZXJzLnRvQXJyYXkoKTsKCX0sCgoJLy8gSFRNTCBzZXJ2ZXJzCglhc3luYyBwdXRIdG1sQ2FyZHMoZGF0YTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10pIHsKCQlhd2FpdCBkYi5odG1sc2VydmVycy5idWxrUHV0KGRhdGEpOwoJfSwKCWFzeW5jIGdldEh0bWxDYXJkKGtleTogc3RyaW5nKSB7CgkJcmV0dXJuIChhd2FpdCBkYi5odG1sc2VydmVycy5nZXQoa2V5KSk/LnZhbHVlID8/IG51bGw7Cgl9LAoKCS8vIFRhZ3MKCWFzeW5jIHB1dFRhZ3ModGFnczogRGlzY29yZFRhZ1tdKSB7CgkJYXdhaXQgZGIudGFncy5idWxrUHV0KHRhZ3MpOwoJfSwKCWFzeW5jIGdldEFsbFRhZ3MoKSB7CgkJcmV0dXJuIGF3YWl0IGRiLnRhZ3MudG9BcnJheSgpOwoJfSwKCgkvLyBQcm9maWxlcwoJYXN5bmMgcHV0UHJvZmlsZXMocHJvZmlsZXM6IFByb2ZpbGVbXSkgewoJCWF3YWl0IGRiLnByb2ZpbGVzLmJ1bGtQdXQocHJvZmlsZXMpOwoJfSwKCWFzeW5jIGdldEFsbFByb2ZpbGVzKCkgewoJCXJldHVybiBhd2FpdCBkYi5wcm9maWxlcy50b0FycmF5KCk7Cgl9LAp9OwoKZXhwb3J0IHR5cGUgTG9jYWxTdG9yYWdlQVBJID0gdHlwZW9mIHN0b3JhZ2VBUEk7CgpzZWxmLm9uY29ubmVjdCA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7Cgljb25zdCBwb3J0ID0gZXZlbnQucG9ydHNbMF07Cglwb3J0LnN0YXJ0KCk7CglleHBvc2Uoc3RvcmFnZUFQSSwgcG9ydCk7Cn07Cg==", import.meta.url),
56
- wsWorker: new URL("data:video/mp2t;base64,aW1wb3J0IHsgd3JhcCwgZXhwb3NlLCB0eXBlIFJlbW90ZSB9IGZyb20gJ2NvbWxpbmsnOwppbXBvcnQgdHlwZSB7IExvY2FsU3RvcmFnZUFQSSB9IGZyb20gJy4vZGItd29ya2VyJzsKaW1wb3J0IHsgdG9SZWZlcmVuY2UsIGJ1aWxkZXIgfSBmcm9tICcuL2ZsZXhidWlsZGVyJzsKCgppbnRlcmZhY2UgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUgZXh0ZW5kcyBXb3JrZXIgewoJb25jb25uZWN0OiAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4gdm9pZDsKfQpkZWNsYXJlIGNvbnN0IHNlbGY6IFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOwoKCmxldCB3czogV2ViU29ja2V0IHwgbnVsbCA9IG51bGw7CmxldCBvbk1lc3NhZ2VDYWxsYmFjazogKChkYXRhOiBhbnkpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7CgoKLy8gLS0tIFdlYlNvY2tldCBBUEkgLS0tCmNvbnN0IHdzSW5zdGFuY2VBUEkgPSB7Cglhc3luYyBjb25uZWN0KHVybDogc3RyaW5nKSB7CgkJaWYgKHdzKSByZXR1cm47CgoJCXdzID0gbmV3IFdlYlNvY2tldCh1cmwpOwoJCXdzLmJpbmFyeVR5cGUgPSAnYXJyYXlidWZmZXInOwoKCQl3cy5vbm9wZW4gPSAoKSA9PiBjb25zb2xlLmxvZygnW1dTXSBDb25uZWN0ZWQ6JywgdXJsKTsKCiAgICAgICAgd3Mub25tZXNzYWdlID0gKGUpID0+IHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdbV1NdIFJlY2VpdmVkIGJpbmFyeSBtZXNzYWdlJyk7CgkJCQkKCQkJCWlmIChlLmRhdGEgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgewoJCQkJCW9uTWVzc2FnZUNhbGxiYWNrPy4oZS5kYXRhKTsgICAKCQkJCX0KICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdbV1NdIEZhaWxlZCB0byBmb3J3YXJkIG1lc3NhZ2UnLCBlcnIpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKIAoKCQl3cy5vbmVycm9yID0gKGUpID0+IGNvbnNvbGUuZXJyb3IoJ1tXU10gRXJyb3I6JywgZSk7CgkJd3Mub25jbG9zZSA9ICgpID0+IHsKCQkJY29uc29sZS5sb2coJ1tXU10gRGlzY29ubmVjdGVkJyk7CgkJCXdzID0gbnVsbDsKCQl9OwoJfSwKCglhc3luYyBzZW5kKHBheWxvYWQ6IFVpbnQ4QXJyYXkpIHsKCQlpZiAod3M/LnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5PUEVOKSB7CgkJCXdzLnNlbmQocGF5bG9hZCk7CgkJfSBlbHNlIHsKCQkJY29uc29sZS53YXJuKCdbV1NdIFRyaWVkIHRvIHNlbmQgd2hpbGUgZGlzY29ubmVjdGVkJyk7CgkJfQoJfSwKCglhc3luYyBjbG9zZSgpIHsKCQl3cz8uY2xvc2UoKTsKCQl3cyA9IG51bGw7Cgl9LAoKCW9uTWVzc2FnZShjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkgewoJCW9uTWVzc2FnZUNhbGxiYWNrID0gY2FsbGJhY2s7Cgl9LAoKCn07CgpleHBvcnQgdHlwZSBXU0luc3RhbmNlID0gdHlwZW9mIHdzSW5zdGFuY2VBUEk7CgpzZWxmLm9uY29ubmVjdCA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7Cgljb25zdCBwb3J0ID0gZXZlbnQucG9ydHNbMF07Cglwb3J0LnN0YXJ0KCk7CglleHBvc2Uod3NJbnN0YW5jZUFQSSwgcG9ydCk7Cn07Cgo=", import.meta.url)
57
- }, V = {
58
- canvasWorker: new URL("data:video/mp2t;base64,aW1wb3J0IHsgZXhwb3NlIH0gZnJvbSAnY29tbGluayc7CgpleHBvcnQgaW50ZXJmYWNlIENhbnZhc1dvcmtlckFQSSB7CgliaW5kQ2FudmFzKHBhbmVsSWQ6IHN0cmluZywgY2FudmFzOiBPZmZzY3JlZW5DYW52YXMsIG1vZGU/OiBDYW52YXNEcmF3TW9kZSk6IFByb21pc2U8dm9pZD47Cgl1bmJpbmRDYW52YXMocGFuZWxJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjsKfQoKaW50ZXJmYWNlIENhbnZhc0JpbmRpbmcgewoJY3R4OiBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7CgljYW52YXM6IE9mZnNjcmVlbkNhbnZhczsKCXBhbmVsSWQ6IHN0cmluZzsKCW1vZGU/OiBDYW52YXNEcmF3TW9kZTsKCWFuaW1hdGlvbkZyYW1lPzogbnVtYmVyOwp9CgpleHBvcnQgdHlwZSBDYW52YXNEcmF3TW9kZSA9ICdzdGF0aWMnIHwgJ2FuaW1hdGVkJyB8ICdkeW5hbWljJzsKCmNvbnN0IENhbnZhc01hbmFnZXIgPSB7CgliaW5kaW5nczogbmV3IE1hcDxzdHJpbmcsIENhbnZhc0JpbmRpbmc+KCksCgoJYXN5bmMgYmluZENhbnZhcyhwYW5lbElkOiBzdHJpbmcsIGNhbnZhczogT2Zmc2NyZWVuQ2FudmFzLCBtb2RlOiBDYW52YXNEcmF3TW9kZSA9ICdhbmltYXRlZCcpIHsKCQljb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKCgkJaWYgKCFjdHgpIHsKCQkJY29uc29sZS5lcnJvcihgW0NhbnZhc1dvcmtlcl0gRmFpbGVkIHRvIGdldCAyRCBjb250ZXh0IGZvciBwYW5lbCAke3BhbmVsSWR9YCk7CgkJCXJldHVybjsKCQl9CgoJCWNvbnNvbGUubG9nKGBbQ2FudmFzV29ya2VyXSBTdWNjZXNzZnVsbHkgYm91bmQgY2FudmFzIGZvciBwYW5lbCAke3BhbmVsSWR9IHdpdGggbW9kZSAke21vZGV9YCk7CgoJCXRoaXMuYmluZGluZ3Muc2V0KHBhbmVsSWQsIHsgY3R4LCBjYW52YXMsIHBhbmVsSWQsIG1vZGUgfSk7CgoJCXRoaXMuc3RhcnRBbmltYXRpb24ocGFuZWxJZCk7Cgl9LAoKCXN0YXJ0QW5pbWF0aW9uKHBhbmVsSWQ6IHN0cmluZykgewoJCWNvbnN0IGJpbmRpbmcgPSB0aGlzLmJpbmRpbmdzLmdldChwYW5lbElkKTsKCQlpZiAoIWJpbmRpbmcpIHJldHVybjsKCgkJc3dpdGNoIChiaW5kaW5nLm1vZGUpIHsKCQkJY2FzZSAnc3RhdGljJzoKCQkJCXRoaXMuZHJhd1N0YXRpYyhiaW5kaW5nKTsKCQkJCWJyZWFrOwoJCQljYXNlICdhbmltYXRlZCc6CgkJCQl0aGlzLmRyYXdBbmltYXRlZChiaW5kaW5nKTsKCQkJCWJyZWFrOwoJCQljYXNlICdkeW5hbWljJzoKCQkJCXRoaXMuZHJhd0R5bmFtaWMoYmluZGluZyk7CgkJCQlicmVhazsKCQkJZGVmYXVsdDoKCQkJCWNvbnNvbGUud2FybihgW0NhbnZhc1dvcmtlcl0gVW5rbm93biBkcmF3IG1vZGUgZm9yIHBhbmVsICR7cGFuZWxJZH1gKTsKCQl9Cgl9LAoKCWRyYXdTdGF0aWMoYmluZGluZzogQ2FudmFzQmluZGluZykgewoJCWJpbmRpbmcuY3R4LmZpbGxTdHlsZSA9ICdncmF5JzsKCQliaW5kaW5nLmN0eC5maWxsUmVjdCgwLCAwLCBiaW5kaW5nLmNhbnZhcy53aWR0aCwgYmluZGluZy5jYW52YXMuaGVpZ2h0KTsKCX0sCgoJZHJhd0FuaW1hdGVkKGJpbmRpbmc6IENhbnZhc0JpbmRpbmcpIHsKCQlsZXQgaHVlID0gMDsKCgkJY29uc3QgZHJhd0ZyYW1lID0gKCkgPT4gewoJCQlodWUgPSAoaHVlICsgMSkgJSAzNjA7CgkJCWJpbmRpbmcuY3R4LmZpbGxTdHlsZSA9IGBoc2woJHtodWV9LCAxMDAlLCA1MCUpYDsKCQkJYmluZGluZy5jdHguZmlsbFJlY3QoMCwgMCwgYmluZGluZy5jYW52YXMud2lkdGgsIGJpbmRpbmcuY2FudmFzLmhlaWdodCk7CgoJCQliaW5kaW5nLmFuaW1hdGlvbkZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRyYXdGcmFtZSk7CgkJfTsKCgkJZHJhd0ZyYW1lKCk7Cgl9LAoKCWRyYXdEeW5hbWljKGJpbmRpbmc6IENhbnZhc0JpbmRpbmcpIHsKCQlsZXQgdGltZSA9IDA7CgoJCWNvbnN0IGRyYXdGcmFtZSA9ICgpID0+IHsKCQkJdGltZSArPSAwLjA1OwoJCQliaW5kaW5nLmN0eC5jbGVhclJlY3QoMCwgMCwgYmluZGluZy5jYW52YXMud2lkdGgsIGJpbmRpbmcuY2FudmFzLmhlaWdodCk7CgkJCWJpbmRpbmcuY3R4LmJlZ2luUGF0aCgpOwoJCQliaW5kaW5nLmN0eC5hcmMoCgkJCQliaW5kaW5nLmNhbnZhcy53aWR0aCAvIDIgKyBNYXRoLnNpbih0aW1lKSAqIDUwLAoJCQkJYmluZGluZy5jYW52YXMuaGVpZ2h0IC8gMiArIE1hdGguY29zKHRpbWUpICogNTAsCgkJCQkzMCwKCQkJCTAsCgkJCQlNYXRoLlBJICogMgoJCQkpOwoJCQliaW5kaW5nLmN0eC5maWxsU3R5bGUgPSAnb3JhbmdlJzsKCQkJYmluZGluZy5jdHguZmlsbCgpOwoJCgkJCWJpbmRpbmcuYW5pbWF0aW9uRnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZHJhd0ZyYW1lKTsKCQl9OwoKCQlkcmF3RnJhbWUoKTsKCX0sCgoJYXN5bmMgdW5iaW5kQ2FudmFzKHBhbmVsSWQ6IHN0cmluZykgewoJCWNvbnN0IGJpbmRpbmcgPSB0aGlzLmJpbmRpbmdzLmdldChwYW5lbElkKTsKCQlpZiAoYmluZGluZz8uYW5pbWF0aW9uRnJhbWUpIHsKCQkJY2FuY2VsQW5pbWF0aW9uRnJhbWUoYmluZGluZy5hbmltYXRpb25GcmFtZSk7CgkJfQoJCXRoaXMuYmluZGluZ3MuZGVsZXRlKHBhbmVsSWQpOwoJCWNvbnNvbGUubG9nKGBbQ2FudmFzV29ya2VyXSBVbmJvdW5kIGNhbnZhcyBmb3IgcGFuZWwgJHtwYW5lbElkfWApOwoJfSwKfTsKCmV4cG9zZShDYW52YXNNYW5hZ2VyKTsK", import.meta.url).toString(),
59
- dbWorker: new URL("data:video/mp2t;base64,aW1wb3J0IHsgZXhwb3NlIH0gZnJvbSAnY29tbGluayc7CmltcG9ydCBEZXhpZSwgeyB0eXBlIFRhYmxlIH0gZnJvbSAnZGV4aWUnOwppbXBvcnQgdHlwZSB7IERpc2NvcmRTZXJ2ZXIsIERpc2NvcmRUYWcsIFByb2ZpbGUgfSBmcm9tICcuLi90eXBlcy9kaXNjb3JkJzsKaW1wb3J0IHsgdG9SZWZlcmVuY2UgfSBmcm9tICcuL2ZsZXhidWlsZGVyJzsKCmludGVyZmFjZSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSBleHRlbmRzIFdvcmtlciB7CglvbmNvbm5lY3Q6IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB2b2lkOwp9CmRlY2xhcmUgY29uc3Qgc2VsZjogU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU7CgpjbGFzcyBBcHBEZXhpZSBleHRlbmRzIERleGllIHsKCXNldHRpbmdzITogVGFibGU8eyBpZDogc3RyaW5nOyB2YWx1ZTogYW55IH0sIHN0cmluZz47CgltZXRhITogVGFibGU8eyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueSB9LCBzdHJpbmc+OwoJaTE4biE6IFRhYmxlPHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSwgc3RyaW5nPjsKCWh0bWxzZXJ2ZXJzITogVGFibGU8eyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9LCBzdHJpbmc+OwoJc2VydmVycyE6IFRhYmxlPERpc2NvcmRTZXJ2ZXIsIHN0cmluZz47Cgl0YWdzITogVGFibGU8RGlzY29yZFRhZywgc3RyaW5nPjsKCXByb2ZpbGVzITogVGFibGU8UHJvZmlsZSwgc3RyaW5nPjsKCXdzX21lc3NhZ2VzITogVGFibGU8eyBrZXk6IHN0cmluZzsgbWVzc2FnZTogYW55IH0sIHN0cmluZz47CgoJY29uc3RydWN0b3IoKSB7CgkJc3VwZXIoJ0FwcFN0b3JhZ2UnKTsKCQl0aGlzLnZlcnNpb24oMykuc3RvcmVzKHsKCQkJc2V0dGluZ3M6ICcmaWQnLAoJCQltZXRhOiAnJmtleScsCgkJCWkxOG46ICcma2V5JywKCQkJaHRtbHNlcnZlcnM6ICcma2V5JywKCQkJc2VydmVyczogJyZzZXJ2ZXJfaWQnLAoJCQl0YWdzOiAnJnRhZ19pZCcsCgkJCXByb2ZpbGVzOiAnJnByb2ZpbGVfaWQnLAoJCQl3c19tZXNzYWdlczogJyZrZXknLAoJCX0pOwoJfQp9CmNvbnN0IGRiID0gbmV3IEFwcERleGllKCk7CgpmdW5jdGlvbiBkZWxheShtczogbnVtYmVyKSB7CglyZXR1cm4gbmV3IFByb21pc2UoKHJlcykgPT4gc2V0VGltZW91dChyZXMsIG1zKSk7Cn0KCmZ1bmN0aW9uIHJlbmRlckh0bWxGb3JTZXJ2ZXIoc2VydmVyOiBEaXNjb3JkU2VydmVyKTogc3RyaW5nIHsKCXJldHVybiBgCgkJPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBnYXAtMiBwLTIiPgoJCQk8aW1nIHNyYz0iJHtzZXJ2ZXIubG9nb30iIGFsdD0iJHtzZXJ2ZXIubmFtZX0iIGNsYXNzPSJ3LTEyIGgtMTIgcm91bmRlZC1mdWxsIiAvPgoJCQk8aDMgY2xhc3M9InRleHQtbGcgZm9udC1ib2xkIj4ke3NlcnZlci5uYW1lfTwvaDM+CgkJCTxwIGNsYXNzPSJ0ZXh0LXNtIG9wYWNpdHktNzAiPiR7c2VydmVyLnN1bW1hcnl9PC9wPgoJCQk8YSBocmVmPSIke3NlcnZlci5pbnZpdGV9IiBjbGFzcz0idGV4dC1wdXJwbGUtNDAwIHVuZGVybGluZSB0ZXh0LXhzIj5Kb2luIEpvaW4gSm9pbjwvYT4KCQk8L2Rpdj4KCWAudHJpbSgpOwp9CgovLyAtLS0gQ29tbGluay1TYWZlIEFQSSAtLS0KY29uc3Qgc3RvcmFnZUFQSSA9IHsKCgkvLyBXZWJTb2NrZXQKCglhc3luYyBzdG9yZVdzTWVzc2FnZShrZXk6IHN0cmluZywgYnVmZmVyOiBBcnJheUJ1ZmZlcikgewoJCWNvbnN0IGRlY29kZWQgPSB0b1JlZmVyZW5jZShidWZmZXIpLnRvT2JqZWN0KCk7CgkJYXdhaXQgZGIud3NfbWVzc2FnZXMucHV0KHsga2V5LCBtZXNzYWdlOiBkZWNvZGVkIH0pOwoJfSwKCglhc3luYyBnZXRXc01lc3NhZ2Uoa2V5OiBzdHJpbmcpIHsKCQlyZXR1cm4gKGF3YWl0IGRiLndzX21lc3NhZ2VzLmdldChrZXkpKT8ubWVzc2FnZSA/PyBudWxsOwoJfSwKCQoJYXN5bmMgZ2V0QWxsV3NNZXNzYWdlcygpOiBQcm9taXNlPHsga2V5OiBzdHJpbmc7IG1lc3NhZ2U6IGFueSB9W10+IHsKCQljb25zdCByYXcgPSBhd2FpdCBkYi53c19tZXNzYWdlcy50b0FycmF5KCk7CgkJcmV0dXJuIHJhdy5zb3J0KChhLCBiKSA9PiB7CgkJCWNvbnN0IGF0ID0gTnVtYmVyKGEua2V5LnNwbGl0KCc6JylbMV0pOwoJCQljb25zdCBidCA9IE51bWJlcihiLmtleS5zcGxpdCgnOicpWzFdKTsKCQkJcmV0dXJuIGJ0IC0gYXQ7CgkJfSk7Cgl9LAoJCglhc3luYyBjbGVhcldzTWVzc2FnZXMoKSB7CgkJYXdhaXQgZGIud3NfbWVzc2FnZXMuY2xlYXIoKTsKCX0sCgoJLy8gSTE4bgoJYXN5bmMgZ2V0VHJhbnNsYXRpb24oa2V5OiBzdHJpbmcpIHsKCQlyZXR1cm4gKGF3YWl0IGRiLmkxOG4uZ2V0KGtleSkpPy52YWx1ZSA/PyBudWxsOwoJfSwKCWFzeW5jIGdldFRyYW5zbGF0aW9ucyhrZXlzOiBzdHJpbmdbXSkgewoJCWNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9OwoJCWZvciAoY29uc3Qga2V5IG9mIGtleXMpIHsKCQkJY29uc3QgdmFsID0gYXdhaXQgZGIuaTE4bi5nZXQoa2V5KTsKCQkJaWYgKHZhbCkgcmVzdWx0W2tleV0gPSB2YWwudmFsdWU7CgkJfQoJCXJldHVybiByZXN1bHQ7Cgl9LAoJYXN5bmMgcHV0STE4bkJhdGNoKGRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHsKCQljb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoZGF0YSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7CgkJCWtleSwKCQkJdmFsdWUsCgkJfSkpOwoJCWF3YWl0IGRiLmkxOG4uYnVsa1B1dChlbnRyaWVzKTsKCX0sCglhc3luYyBsb2FkSTE4bkZyb21KU09OKHBhdGggPSAnaHR0cHM6Ly9kaXNjb3JkLnNoL2kxOG4vZGIuanNvbicpIHsKCWNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHBhdGgpOwoJY29uc3QgZGF0YSA9IGF3YWl0IHJlcy5qc29uKCk7Cglhd2FpdCBzdG9yYWdlQVBJLnB1dEkxOG5CYXRjaChkYXRhKTsKCX0sCglhc3luYyBnZXRBbGxJMThuS2V5cygpOiBQcm9taXNlPHN0cmluZ1tdPiB7CgkJY29uc3QgYWxsID0gYXdhaXQgZGIuaTE4bi50b0NvbGxlY3Rpb24oKS5wcmltYXJ5S2V5cygpOwoJCXJldHVybiBhbGwgYXMgc3RyaW5nW107Cgl9LAoKCWFzeW5jIGxvYWRTZXJ2ZXJzRnJvbUpTT04ocGF0aCA9ICdodHRwczovL2Rpc2NvcmQuc2gvZGF0YS9zZXJ2ZXJzLmpzb24nKSB7CgkJY29uc3QgcmVzID0gYXdhaXQgZmV0Y2gocGF0aCk7CgkJY29uc3QgZGF0YSA9IGF3YWl0IHJlcy5qc29uKCk7CgkKCQkvLyBUaGUgSlNPTiBzaG91bGQgYmUgYSBSZWNvcmQ8c3RyaW5nLCBEaXNjb3JkU2VydmVyPgoJCWNvbnN0IHNlcnZlcnM6IERpc2NvcmRTZXJ2ZXJbXSA9IE9iamVjdC52YWx1ZXMoZGF0YSk7CgkJYXdhaXQgc3RvcmFnZUFQSS5wdXRTZXJ2ZXJzKHNlcnZlcnMpOwoJCWF3YWl0IHN0b3JhZ2VBUEkuc3luY0h0bWxGcm9tU2VydmVycygpOwoJfSwKCgkvLyBIVE1MIFByZVJlbmRlcgoJYXN5bmMgc3luY0h0bWxGcm9tU2VydmVycygpIHsKCQljb25zdCBhbGxTZXJ2ZXJzID0gYXdhaXQgZGIuc2VydmVycy50b0FycmF5KCk7CgkJY29uc3QgZXhpc3RpbmdIdG1sS2V5cyA9IGF3YWl0IGRiLmh0bWxzZXJ2ZXJzLnRvQ29sbGVjdGlvbigpLnByaW1hcnlLZXlzKCk7CgkJY29uc3QgbWlzc2luZzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10gPSBbXTsKCQoJCWZvciAoY29uc3Qgc2VydmVyIG9mIGFsbFNlcnZlcnMpIHsKCQkJaWYgKCFleGlzdGluZ0h0bWxLZXlzLmluY2x1ZGVzKHNlcnZlci5zZXJ2ZXJfaWQpKSB7CgkJCQljb25zdCBodG1sID0gcmVuZGVySHRtbEZvclNlcnZlcihzZXJ2ZXIpOwoJCQkJbWlzc2luZy5wdXNoKHsga2V5OiBzZXJ2ZXIuc2VydmVyX2lkLCB2YWx1ZTogaHRtbCB9KTsKCQkJfQoJCX0KCQoJCWlmIChtaXNzaW5nLmxlbmd0aCA+IDApIHsKCQkJYXdhaXQgZGIuaHRtbHNlcnZlcnMuYnVsa1B1dChtaXNzaW5nKTsKCQkJY29uc29sZS5pbmZvKGBbc3luY0h0bWxGcm9tU2VydmVyc10gR2VuZXJhdGVkICR7bWlzc2luZy5sZW5ndGh9IEhUTUwgY2FyZHMuYCk7CgkJfSBlbHNlIHsKCQkJY29uc29sZS5pbmZvKCdbc3luY0h0bWxGcm9tU2VydmVyc10gQWxsIHNlcnZlcnMgYWxyZWFkeSBoYXZlIEhUTUwgY2FyZHMuJyk7CgkJfQoJfSwKCgkvLyBTZXR0aW5ncwoJYXN5bmMgZGJTZXQoaWQ6IHN0cmluZywgdmFsdWU6IGFueSkgewoJCWF3YWl0IGRiLnNldHRpbmdzLnB1dCh7IGlkLCB2YWx1ZSB9KTsKCX0sCglhc3luYyBkYkdldChpZDogc3RyaW5nKSB7CgkJcmV0dXJuIChhd2FpdCBkYi5zZXR0aW5ncy5nZXQoaWQpKT8udmFsdWUgPz8gbnVsbDsKCX0sCglhc3luYyBkYkNsZWFyKCkgewoJCWF3YWl0IGRiLnNldHRpbmdzLmNsZWFyKCk7Cgl9LAoKCS8vIE1ldGEKCWFzeW5jIHNldFZlcnNpb24odmVyc2lvbjogc3RyaW5nKSB7CgkJYXdhaXQgZGIubWV0YS5wdXQoeyBrZXk6ICd2ZXJzaW9uJywgdmFsdWU6IHZlcnNpb24gfSk7Cgl9LAoJYXN5bmMgZ2V0VmVyc2lvbigpIHsKCQlyZXR1cm4gKGF3YWl0IGRiLm1ldGEuZ2V0KCd2ZXJzaW9uJykpPy52YWx1ZSA/PyBudWxsOwoJfSwKCWFzeW5jIG1hcmtTZWVkZWQoKSB7CgkJYXdhaXQgZGIubWV0YS5wdXQoeyBrZXk6ICdkYl9zZWVkZWQnLCB2YWx1ZTogdHJ1ZSB9KTsKCX0sCglhc3luYyBjaGVja1NlZWRlZCgpIHsKCQlyZXR1cm4gKGF3YWl0IGRiLm1ldGEuZ2V0KCdkYl9zZWVkZWQnKSk/LnZhbHVlID09PSB0cnVlOwoJfSwKCgkvLyBTZXJ2ZXJzCglhc3luYyBwdXRTZXJ2ZXJzKHNlcnZlcnM6IERpc2NvcmRTZXJ2ZXJbXSkgewoJCWF3YWl0IGRiLnNlcnZlcnMuYnVsa1B1dChzZXJ2ZXJzKTsKCX0sCglhc3luYyBnZXRBbGxTZXJ2ZXJzKCkgewoJCXJldHVybiBhd2FpdCBkYi5zZXJ2ZXJzLnRvQXJyYXkoKTsKCX0sCgoJLy8gSFRNTCBzZXJ2ZXJzCglhc3luYyBwdXRIdG1sQ2FyZHMoZGF0YTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10pIHsKCQlhd2FpdCBkYi5odG1sc2VydmVycy5idWxrUHV0KGRhdGEpOwoJfSwKCWFzeW5jIGdldEh0bWxDYXJkKGtleTogc3RyaW5nKSB7CgkJcmV0dXJuIChhd2FpdCBkYi5odG1sc2VydmVycy5nZXQoa2V5KSk/LnZhbHVlID8/IG51bGw7Cgl9LAoKCS8vIFRhZ3MKCWFzeW5jIHB1dFRhZ3ModGFnczogRGlzY29yZFRhZ1tdKSB7CgkJYXdhaXQgZGIudGFncy5idWxrUHV0KHRhZ3MpOwoJfSwKCWFzeW5jIGdldEFsbFRhZ3MoKSB7CgkJcmV0dXJuIGF3YWl0IGRiLnRhZ3MudG9BcnJheSgpOwoJfSwKCgkvLyBQcm9maWxlcwoJYXN5bmMgcHV0UHJvZmlsZXMocHJvZmlsZXM6IFByb2ZpbGVbXSkgewoJCWF3YWl0IGRiLnByb2ZpbGVzLmJ1bGtQdXQocHJvZmlsZXMpOwoJfSwKCWFzeW5jIGdldEFsbFByb2ZpbGVzKCkgewoJCXJldHVybiBhd2FpdCBkYi5wcm9maWxlcy50b0FycmF5KCk7Cgl9LAp9OwoKZXhwb3J0IHR5cGUgTG9jYWxTdG9yYWdlQVBJID0gdHlwZW9mIHN0b3JhZ2VBUEk7CgpzZWxmLm9uY29ubmVjdCA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7Cgljb25zdCBwb3J0ID0gZXZlbnQucG9ydHNbMF07Cglwb3J0LnN0YXJ0KCk7CglleHBvc2Uoc3RvcmFnZUFQSSwgcG9ydCk7Cn07Cg==", import.meta.url).toString(),
60
- wsWorker: new URL("data:video/mp2t;base64,aW1wb3J0IHsgd3JhcCwgZXhwb3NlLCB0eXBlIFJlbW90ZSB9IGZyb20gJ2NvbWxpbmsnOwppbXBvcnQgdHlwZSB7IExvY2FsU3RvcmFnZUFQSSB9IGZyb20gJy4vZGItd29ya2VyJzsKaW1wb3J0IHsgdG9SZWZlcmVuY2UsIGJ1aWxkZXIgfSBmcm9tICcuL2ZsZXhidWlsZGVyJzsKCgppbnRlcmZhY2UgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUgZXh0ZW5kcyBXb3JrZXIgewoJb25jb25uZWN0OiAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4gdm9pZDsKfQpkZWNsYXJlIGNvbnN0IHNlbGY6IFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOwoKCmxldCB3czogV2ViU29ja2V0IHwgbnVsbCA9IG51bGw7CmxldCBvbk1lc3NhZ2VDYWxsYmFjazogKChkYXRhOiBhbnkpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7CgoKLy8gLS0tIFdlYlNvY2tldCBBUEkgLS0tCmNvbnN0IHdzSW5zdGFuY2VBUEkgPSB7Cglhc3luYyBjb25uZWN0KHVybDogc3RyaW5nKSB7CgkJaWYgKHdzKSByZXR1cm47CgoJCXdzID0gbmV3IFdlYlNvY2tldCh1cmwpOwoJCXdzLmJpbmFyeVR5cGUgPSAnYXJyYXlidWZmZXInOwoKCQl3cy5vbm9wZW4gPSAoKSA9PiBjb25zb2xlLmxvZygnW1dTXSBDb25uZWN0ZWQ6JywgdXJsKTsKCiAgICAgICAgd3Mub25tZXNzYWdlID0gKGUpID0+IHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdbV1NdIFJlY2VpdmVkIGJpbmFyeSBtZXNzYWdlJyk7CgkJCQkKCQkJCWlmIChlLmRhdGEgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgewoJCQkJCW9uTWVzc2FnZUNhbGxiYWNrPy4oZS5kYXRhKTsgICAKCQkJCX0KICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdbV1NdIEZhaWxlZCB0byBmb3J3YXJkIG1lc3NhZ2UnLCBlcnIpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKIAoKCQl3cy5vbmVycm9yID0gKGUpID0+IGNvbnNvbGUuZXJyb3IoJ1tXU10gRXJyb3I6JywgZSk7CgkJd3Mub25jbG9zZSA9ICgpID0+IHsKCQkJY29uc29sZS5sb2coJ1tXU10gRGlzY29ubmVjdGVkJyk7CgkJCXdzID0gbnVsbDsKCQl9OwoJfSwKCglhc3luYyBzZW5kKHBheWxvYWQ6IFVpbnQ4QXJyYXkpIHsKCQlpZiAod3M/LnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5PUEVOKSB7CgkJCXdzLnNlbmQocGF5bG9hZCk7CgkJfSBlbHNlIHsKCQkJY29uc29sZS53YXJuKCdbV1NdIFRyaWVkIHRvIHNlbmQgd2hpbGUgZGlzY29ubmVjdGVkJyk7CgkJfQoJfSwKCglhc3luYyBjbG9zZSgpIHsKCQl3cz8uY2xvc2UoKTsKCQl3cyA9IG51bGw7Cgl9LAoKCW9uTWVzc2FnZShjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkgewoJCW9uTWVzc2FnZUNhbGxiYWNrID0gY2FsbGJhY2s7Cgl9LAoKCn07CgpleHBvcnQgdHlwZSBXU0luc3RhbmNlID0gdHlwZW9mIHdzSW5zdGFuY2VBUEk7CgpzZWxmLm9uY29ubmVjdCA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7Cgljb25zdCBwb3J0ID0gZXZlbnQucG9ydHNbMF07Cglwb3J0LnN0YXJ0KCk7CglleHBvc2Uod3NJbnN0YW5jZUFQSSwgcG9ydCk7Cn07Cgo=", import.meta.url).toString()
93
+ }, N = {
94
+ bento: new URL("data:video/mp2t;base64,aW1wb3J0IHsgZXhwb3NlIH0gZnJvbSAnY29tbGluayc7CmltcG9ydCB0eXBlIHsgQmFzZU1vZEFQSSwgVmlydHVhbE5vZGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9tb2R1bGVzJzsKaW1wb3J0IHsKCUJlbnRvVGlsZVNjaGVtYSwKCXR5cGUgQmVudG9UaWxlLAoJQkVOVE9fQkFER0VfQ0xBU1NfTUFQLAoJQkVOVE9fQU5JTUFUSU9OX0NMQVNTX01BUCwKCUJFTlRPX1ZBUklBTlRfQ0xBU1NfTUFQLAp9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2JlbnRvJzsKCmxldCBlbWl0VG9NYWluOiAoKG1zZzogdW5rbm93bikgPT4gdm9pZCkgfCB1bmRlZmluZWQ7CgpmdW5jdGlvbiBjcmVhdGVWTm9kZUZyb21UaWxlKHRpbGU6IEJlbnRvVGlsZSk6IFZpcnR1YWxOb2RlIHsKCWNvbnN0IHZhcmlhbnQgPSB0aWxlLnZhcmlhbnQgPz8gJ2RlZmF1bHQnOwoJY29uc3QgYW5pbWF0aW9uQ2xhc3MgPSB0aWxlLmFuaW1hdGlvbgoJCT8gQkVOVE9fQU5JTUFUSU9OX0NMQVNTX01BUFt0aWxlLmFuaW1hdGlvbl0KCQk6ICcnOwoJY29uc3QgdmFyaWFudEJhc2UgPSBCRU5UT19WQVJJQU5UX0NMQVNTX01BUFt2YXJpYW50XT8uYmFzZSA/PyAnJzsKCWNvbnN0IHZhcmlhbnRIb3ZlciA9IEJFTlRPX1ZBUklBTlRfQ0xBU1NfTUFQW3ZhcmlhbnRdPy5ob3ZlciA/PyAnJzsKCgljb25zdCByb290Q2xhc3NlcyA9IFsKCQknYmVudG8taXRlbScsCgkJJ2NvbC1zcGFuLTEnLAoJCSdyb3ctc3Bhbi0xJywKCQl0aWxlLnNwYW4gPz8gJ21kOmNvbC1zcGFuLTIgbWQ6cm93LXNwYW4tMScsCgkJJ2JnLWdyYWRpZW50LXRvLWJyJywKCQl0aWxlLnByaW1hcnlDb2xvciA/IGBmcm9tLSR7dGlsZS5wcmltYXJ5Q29sb3J9YCA6ICcnLAoJCXRpbGUuc2Vjb25kYXJ5Q29sb3IgPyBgdG8tJHt0aWxlLnNlY29uZGFyeUNvbG9yfWAgOiAnJywKCQkncm91bmRlZC0yeGwgb3ZlcmZsb3ctaGlkZGVuIHNoYWRvdy0yeGwnLAoJCXZhcmlhbnRCYXNlLAoJCXZhcmlhbnRIb3ZlciA/IGBob3Zlcjoke3ZhcmlhbnRIb3Zlcn1gIDogJycsCgkJYW5pbWF0aW9uQ2xhc3MsCgkJdGlsZS5jbGFzc05hbWUgPz8gJycsCgldCgkJLmZpbHRlcihCb29sZWFuKQoJCS5qb2luKCcgJyk7CgoJY29uc3QgZGF0YXNldEF0dHJzID0gdGlsZS5kYXRhc2V0CgkJPyBPYmplY3QuZnJvbUVudHJpZXMoCgkJCQlPYmplY3QuZW50cmllcyh0aWxlLmRhdGFzZXQpLm1hcCgoW2ssIHZdKSA9PiBbYGRhdGEtJHtrfWAsIHZdKSwKCQkJKQoJCToge307CgoJY29uc3Qgd3JhcHBlcjogVmlydHVhbE5vZGUgPSB7CgkJdGFnOiB0aWxlLmhyZWYgPyAnYScgOiAnZGl2JywKCQljbGFzczogcm9vdENsYXNzZXMsCgkJYXR0cnM6IHsKCQkJLi4uKHRpbGUuaHJlZgoJCQkJPyB7IGhyZWY6IHRpbGUuaHJlZiwgdGFyZ2V0OiB0aWxlLnRhcmdldCA/PyAnX3NlbGYnIH0KCQkJCToge30pLAoJCQkuLi4odGlsZS5vbmNsaWNrID8geyBvbmNsaWNrOiB0aWxlLm9uY2xpY2sgfSA6IHt9KSwKCQkJLi4uKHRpbGUuYXJpYUxhYmVsID8geyAnYXJpYS1sYWJlbCc6IHRpbGUuYXJpYUxhYmVsIH0gOiB7fSksCgkJCS4uLih0aWxlLnJvbGUgPyB7IHJvbGU6IHRpbGUucm9sZSB9IDoge30pLAoJCQkuLi5kYXRhc2V0QXR0cnMsCgkJfSwKCQljaGlsZHJlbjogWwoJCQl0aWxlLmJhZGdlICYmIHsKCQkJCXRhZzogJ3NwYW4nLAoJCQkJY2xhc3M6IGBhYnNvbHV0ZSB0b3AtMiByaWdodC0yIHB4LTIgcHktMSB0ZXh0LXhzIHJvdW5kZWQgei0xMCAke0JFTlRPX0JBREdFX0NMQVNTX01BUFt0aWxlLmJhZGdlVHlwZSA/PyAnZGVmYXVsdCddfWAsCgkJCQljaGlsZHJlbjogW3RpbGUuYmFkZ2VdLAoJCQl9LAoJCQl7CgkJCQl0YWc6ICdkaXYnLAoJCQkJY2xhc3M6ICdwLTQgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWJldHdlZW4gaC1mdWxsJywKCQkJCWNoaWxkcmVuOiBbCgkJCQkJewoJCQkJCQl0YWc6ICdkaXYnLAoJCQkJCQljbGFzczogJ2ZsZXggaXRlbXMtY2VudGVyIGdhcC0zJywKCQkJCQkJY2hpbGRyZW46IFsKCQkJCQkJCXRpbGUuaWNvbiAmJiB7CgkJCQkJCQkJdGFnOiAnZGl2JywKCQkJCQkJCQljbGFzczogJ3RleHQtMnhsIGJnLXdoaXRlLzIwIHJvdW5kZWQtZnVsbCBwLTIgdGV4dC13aGl0ZScsCgkJCQkJCQkJY2hpbGRyZW46IFt0aWxlLmljb25dLAoJCQkJCQkJfSwKCQkJCQkJCXsKCQkJCQkJCQl0YWc6ICdoMycsCgkJCQkJCQkJY2xhc3M6ICd0ZXh0LXdoaXRlIHRleHQtbGcgZm9udC1ib2xkJywKCQkJCQkJCQljaGlsZHJlbjogW3RpbGUudGl0bGVdLAoJCQkJCQkJfSwKCQkJCQkJXS5maWx0ZXIoQm9vbGVhbikgYXMgVmlydHVhbE5vZGVbXSwKCQkJCQl9LAoJCQkJCXRpbGUuc3VidGl0bGUgJiYgewoJCQkJCQl0YWc6ICdwJywKCQkJCQkJY2xhc3M6ICd0ZXh0LXNtIHRleHQtd2hpdGUvODAgbXQtMicsCgkJCQkJCWNoaWxkcmVuOiBbdGlsZS5zdWJ0aXRsZV0sCgkJCQkJfSwKCQkJCQl0aWxlLmRlc2NyaXB0aW9uICYmIHsKCQkJCQkJdGFnOiAncCcsCgkJCQkJCWNsYXNzOiAndGV4dC14cyB0ZXh0LXdoaXRlLzYwIG10LTEnLAoJCQkJCQljaGlsZHJlbjogW3RpbGUuZGVzY3JpcHRpb25dLAoJCQkJCX0sCgkJCQldLmZpbHRlcihCb29sZWFuKSBhcyBWaXJ0dWFsTm9kZVtdLAoJCQl9LAoJCV0uZmlsdGVyKEJvb2xlYW4pIGFzIFZpcnR1YWxOb2RlW10sCgl9OwoKCXJldHVybiB3cmFwcGVyOwp9Cgpjb25zdCBhcGk6IEJhc2VNb2RBUEkgPSB7Cglhc3luYyBnZXRNZXRhKCkgewoJCXJldHVybiB7CgkJCW5hbWU6ICdiZW50bycsCgkJCXZlcnNpb246ICcwLjEuMCcsCgkJfTsKCX0sCgoJYXN5bmMgaW5pdChjb250ZXh0KSB7CgkJZW1pdFRvTWFpbiA9IGNvbnRleHQ/LmVtaXRGcm9tV29ya2VyOwoJfSwKCglhc3luYyBydW4oZGF0YTogdW5rbm93bikgewoJCWlmICghZW1pdFRvTWFpbikgewoJCQljb25zb2xlLndhcm4oJ1ttb2QtYmVudG9dIGVtaXRGcm9tV29ya2VyIG5vdCBkZWZpbmVkJyk7CgkJCXJldHVybjsKCQl9CgoJCXRyeSB7CgkJCWNvbnN0IHRpbGUgPSBCZW50b1RpbGVTY2hlbWEucGFyc2UoZGF0YSk7CgkJCWNvbnN0IHZub2RlID0gY3JlYXRlVk5vZGVGcm9tVGlsZSh0aWxlKTsKCQkJZW1pdFRvTWFpbih7IHR5cGU6ICdpbmplY3RWTm9kZScsIHZub2RlIH0pOwoJCX0gY2F0Y2ggKGVycikgewoJCQljb25zb2xlLmVycm9yKCdbbW9kLWJlbnRvXSBJbnZhbGlkIEJlbnRvVGlsZSBkYXRhOicsIGVycik7CgkJfQoJfSwKfTsKCmV4cG9zZShhcGkpOwo=", import.meta.url).href
95
+ }, n = Q("/");
96
+ let C = !1;
97
+ function x(a) {
98
+ C || (C = !0, a && n.set(a), !(typeof window > "u") && (n.set(window.location.pathname), document.addEventListener("astro:page-load", () => {
99
+ n.set(window.location.pathname);
100
+ }), window.addEventListener("popstate", () => {
101
+ n.set(window.location.pathname);
102
+ })));
103
+ }
104
+ const Y = {
105
+ toast: Z,
106
+ "tooltip-open": G,
107
+ "modal-open": u
108
+ };
109
+ function H(a, o) {
110
+ const l = Y[a];
111
+ if (l) {
112
+ const s = l.safeParse(o);
113
+ if (!s.success)
114
+ throw new Error(
115
+ `[KBVE Worker] Invalid ${a} payload: ${s.error.message}`
116
+ );
117
+ return { type: a, payload: s.data };
118
+ }
119
+ if ((a === "toast-remove" || a === "tooltip-close" || a === "modal-close") && (!o || typeof o.id != "string"))
120
+ throw new Error(`[KBVE Worker] ${a} requires { id: string }`);
121
+ return { type: a, payload: o };
122
+ }
123
+ const b = "/lib/workers/canvas-worker.js", J = "/lib/workers/db-worker.js", g = "/lib/workers/ws-worker.js", F = {
124
+ canvasWorker: b,
125
+ dbWorker: J,
126
+ wsWorker: g,
127
+ supabaseSharedWorker: d,
128
+ supabaseDbWorker: c
129
+ }, K = {
130
+ canvasWorker: b,
131
+ dbWorker: J,
132
+ wsWorker: g,
133
+ supabaseSharedWorker: d,
134
+ supabaseDbWorker: c
61
135
  };
62
136
  export {
63
- J as BENTO_ANIMATIONS,
64
- o as BENTO_ANIMATION_CLASS_MAP,
65
- y as BENTO_BADGE_CLASS_MAP,
66
- m as BENTO_BADGE_TYPES,
67
- d as BENTO_ROLES,
68
- c as BENTO_TARGETS,
69
- b as BENTO_VARIANTS,
70
- X as BENTO_VARIANT_CLASS_MAP,
71
- Y as BentoTileSchema,
72
- k as droid,
73
- n as modUrls,
74
- V as workerStrings,
75
- s as workerURLs
137
+ O as $activeTooltip,
138
+ z as $auth,
139
+ n as $currentPath,
140
+ M as $drawerOpen,
141
+ D as $modalId,
142
+ j as $toasts,
143
+ R as BENTO_ANIMATIONS,
144
+ A as BENTO_ANIMATION_CLASS_MAP,
145
+ f as BENTO_BADGE_CLASS_MAP,
146
+ S as BENTO_BADGE_TYPES,
147
+ I as BENTO_ROLES,
148
+ y as BENTO_TARGETS,
149
+ w as BENTO_VARIANTS,
150
+ U as BENTO_VARIANT_CLASS_MAP,
151
+ v as BentoTileSchema,
152
+ _ as CanvasOptionsSchema,
153
+ Ka as CanvasUIRenderer,
154
+ $ as DirectStrategy,
155
+ q as DroidDownscaleSchema,
156
+ aa as DroidEventSchemas,
157
+ ea as DroidEvents,
158
+ oa as DroidFirstConnectSchema,
159
+ la as DroidModReadySchema,
160
+ sa as DroidReadySchema,
161
+ ta as DroidUpscaleSchema,
162
+ na as ModMetaSchema,
163
+ u as ModalPayloadSchema,
164
+ ia as OverlayManager,
165
+ ra as PanelEventSchema,
166
+ Ca as PanelIdSchema,
167
+ ca as PanelPayloadSchema,
168
+ da as SharedWorkerStrategy,
169
+ ba as SupabaseGateway,
170
+ Z as ToastPayloadSchema,
171
+ Ja as ToastSeveritySchema,
172
+ G as TooltipPayloadSchema,
173
+ ga as TooltipPositionSchema,
174
+ ka as VirtualNodeSchema,
175
+ ma as WebWorkerStrategy,
176
+ xa as WorkerCommunication,
177
+ Wa as WorkerPool,
178
+ ha as addToast,
179
+ x as bootRouter,
180
+ pa as broadcastThemeChange,
181
+ Qa as closeDrawer,
182
+ ua as closeModal,
183
+ Ga as closeTooltip,
184
+ Za as detectCapabilities,
185
+ wa as downscale,
186
+ T as droid,
187
+ Ra as getScaleLevel,
188
+ ya as getStrategyDescription,
189
+ Ha as getWorkerCommunication,
190
+ Ia as logCapabilities,
191
+ N as modUrls,
192
+ Sa as observeThemeChanges,
193
+ La as openDrawer,
194
+ Xa as openModal,
195
+ Ya as openTooltip,
196
+ Va as removeToast,
197
+ Ba as resetAuth,
198
+ Ta as selectStrategy,
199
+ va as setAuth,
200
+ Ua as showWelcomeToast,
201
+ Aa as syncThemeToDexie,
202
+ fa as upscale,
203
+ H as validateUIMessage,
204
+ K as workerStrings,
205
+ F as workerURLs
76
206
  };
package/index.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ export type { KBVEGlobal } from './types';
2
+ export * from './lib/droid';
3
+ export * from './lib/types/bento';
4
+ export * from './lib/types/event-types';
5
+ export * from './lib/types/panel-types';
6
+ export * from './lib/types/ui-event-types';
7
+ export * from './lib/workers/events';
8
+ export * from './lib/mod/mod-urls';
9
+ export * from './lib/gateway';
10
+ export * from './lib/state';
11
+ export type { VirtualNode } from './lib/types/modules';
12
+ export { validateUIMessage } from './lib/workers/validate';
13
+ export type { ValidatedWorkerMessage, UIMessageType, } from './lib/workers/validate';
14
+ export { CanvasUIRenderer } from './lib/workers/canvas-ui-renderer';
15
+ export declare const workerURLs: {
16
+ canvasWorker: string;
17
+ dbWorker: string;
18
+ wsWorker: string;
19
+ supabaseSharedWorker: string;
20
+ supabaseDbWorker: string;
21
+ };
22
+ export declare const workerStrings: {
23
+ canvasWorker: string;
24
+ dbWorker: string;
25
+ wsWorker: string;
26
+ supabaseSharedWorker: string;
27
+ supabaseDbWorker: string;
28
+ };
29
+ //# sourceMappingURL=index.d.ts.map