@genome-spy/app 0.83.1 → 0.85.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 (45) hide show
  1. package/dist/{agentApi-AxdD95yY.js → agentApi-Cz0hCnVp.js} +6576 -7722
  2. package/dist/agentApi.es.js +3747 -3317
  3. package/dist/agentShared.es.js +18 -18
  4. package/dist/arrayUtils-LJpQOu-U.js +2175 -0
  5. package/dist/bmFontMetrics-CuNB-kNN.js +31 -0
  6. package/dist/canvas2d-DoAXEiF9.js +309 -0
  7. package/dist/canvas2d-f5jl4A5D.js +310 -0
  8. package/dist/canvasSizeHelper-7h_8rOcx.js +56 -0
  9. package/dist/clipOptions-gqdb3fvW.js +43 -0
  10. package/dist/color-W5zffv-z.js +335 -0
  11. package/dist/{componentStyles-BzJWWojD.js → componentStyles-FsNmIb22.js} +5 -1
  12. package/dist/{debug-CI7POTMx.js → debug-BvCZWumf.js} +10 -10
  13. package/dist/{debug-DJKug_38.js → debug-CgDtmspT.js} +7 -5
  14. package/dist/dialog.es.js +1 -1
  15. package/dist/{esm-CGLz7idZ.js → esm-BA6yMcc-.js} +438 -434
  16. package/dist/{esm-D8vvQAP3.js → esm-CcDLRSvC.js} +33 -33
  17. package/dist/{esm-BeV56E_5.js → esm-CfYZhLHN.js} +33 -33
  18. package/dist/{esm-DQ3lJSQN.js → esm-JAiZmFIS.js} +1 -1
  19. package/dist/framebufferReadback-CCLOjStu.js +148 -0
  20. package/dist/framebufferReadback-THWwFqs8.js +1994 -0
  21. package/dist/index.es.js +3735 -3369
  22. package/dist/index.js +743 -616
  23. package/dist/metadataChannels-DV62inJh.js +19 -0
  24. package/dist/nativeText-DMO8gLt7.js +806 -0
  25. package/dist/nativeText-m5AUINMq.js +806 -0
  26. package/dist/paramUtils-BYI4rwyL.js +2195 -0
  27. package/dist/schema.json +2253 -4201
  28. package/dist/style.css +1 -1
  29. package/dist/svg-CCu8kYy2.js +1158 -0
  30. package/dist/svg-yFj875aX.js +1158 -0
  31. package/dist/svgNumber-DNxESJQB.js +11 -0
  32. package/dist/twgl-full.module-DB2UdP1k.js +1849 -0
  33. package/dist/viewIdentityRegistry-BUdkK9zT.js +92 -0
  34. package/dist/{viewIdentityRegistry-CcQdL0Z8.js → viewIdentityRegistry-D3oPbN4O.js} +1 -1
  35. package/dist/viewRenderingContext-HtpqwS_x.js +120 -0
  36. package/dist/viewSelectors-DGCspRN3.js +4198 -0
  37. package/dist/viewSelectors-U5oLCLHV.js +4195 -0
  38. package/dist/{viewUtils-Cybv1tu-.js → viewUtils-Dg4RA40Q.js} +2405 -3983
  39. package/dist/warning-CpIIpk8e.js +7 -0
  40. package/dist/warning-DRGdb6BF.js +59 -0
  41. package/dist/webgl-Ci6ZhCCf.js +54 -0
  42. package/dist/webgl-Dpz8a3TI.js +53 -0
  43. package/package.json +5 -5
  44. package/dist/metadataChannels-fGQOmJj0.js +0 -6732
  45. package/dist/viewIdentityRegistry-EH5-Noyz.js +0 -6827
@@ -0,0 +1,4195 @@
1
+ import { n as e } from "./rolldown-runtime-DF993M8W.js";
2
+ import { $ as t, At as n, Ht as r, Mt as i, Ot as a, Rt as o, Ut as s, Vt as c, X as l, Y as u, Yt as d, f, gt as p, ht as m, it as h, jt as g, kt as ee, ot as te, r as _, vt as v, x as ne, xt as y, yt as re } from "./arrayUtils-LJpQOu-U.js";
3
+ import { a as ie, c as ae, d as oe, i as se, l as ce, n as le, o as ue, r as de, s as fe, t as pe, u as me } from "./color-W5zffv-z.js";
4
+ import { a as he, t as ge } from "./clipOptions-gqdb3fvW.js";
5
+ //#region ../core/src/view/layout/flexLayout.js
6
+ function _e(e, t, { spacing: n, devicePixelRatio: r, offset: i, reverse: a } = {}) {
7
+ n ||= 0, i ||= 0;
8
+ let o = Oe(e, t, n), s = 0, c = 0;
9
+ for (let t = 0; t < e.length; t++) s += o[t], b(e[t]) || c++;
10
+ let l = s + Math.max(0, c - 1) * n, u = r === void 0 ? (e) => e : (e) => Math.round(e * r) / r, d = 0, f = [], p = (e) => {
11
+ let t = d;
12
+ if (!t) return;
13
+ let r = (e ? n : 0) * (a ? -1 : 1);
14
+ m -= r;
15
+ for (let e = 0; e < t; e++) f.push({
16
+ location: m + (e + 1) / (t + 1) * r,
17
+ size: 0
18
+ });
19
+ m += r, d = 0;
20
+ }, m = a ? Math.max(t, l) : 0 + i;
21
+ if (e.length == 1 && b(e[0])) return [{
22
+ location: m,
23
+ size: 0
24
+ }];
25
+ for (let t = 0; t < e.length; t++) {
26
+ let r = e[t];
27
+ if (b(r)) d++;
28
+ else {
29
+ p(f.length > 0);
30
+ let e = o[t];
31
+ a && (m -= e), f.push({
32
+ location: u(m),
33
+ size: u(e)
34
+ }), a ? m -= n : m += e + n;
35
+ }
36
+ }
37
+ return m += a ? n : -n, p(!1), f;
38
+ }
39
+ function ve(e, { spacing: t } = { spacing: 0 }) {
40
+ let n = 0;
41
+ for (let r of e) n += Me(r) + (b(r) ? 0 : t);
42
+ return Math.max(0, n - t);
43
+ }
44
+ function ye(e, t, { spacing: n = 0 } = {}) {
45
+ let r = [], i = [], a = 0, o = 0;
46
+ for (let [s, c] of e.entries()) {
47
+ let e = Me(c), l = !b(c), u = o && l ? n : 0;
48
+ i.length && a + u + e > t && (r.push(i), i = [], a = 0, o = 0), i.push(s), a += (o && l ? n : 0) + e, o += +!!l;
49
+ }
50
+ return i.length && r.push(i), r;
51
+ }
52
+ function be(e) {
53
+ let t = 0, n = 0, r = 0, i, a = !0;
54
+ for (let o of e) {
55
+ t = Math.max(t, o.px ?? 0), n = Math.max(n, o.grow ?? 0), r = Math.max(r, Me(o));
56
+ let e = Ne(o);
57
+ e === void 0 ? a = !1 : i = i === void 0 ? e : Math.max(i, e);
58
+ }
59
+ return Ie({
60
+ px: t,
61
+ grow: n,
62
+ minPx: r,
63
+ maxPx: a ? i : void 0
64
+ });
65
+ }
66
+ function xe(e) {
67
+ let t = {
68
+ px: 0,
69
+ grow: 0,
70
+ minPx: 0,
71
+ maxPx: 0
72
+ }, n = !0;
73
+ for (let r of e) {
74
+ t.px += x(r.px), t.grow += x(r.grow), t.minPx += Me(r);
75
+ let e = Ne(r);
76
+ e === void 0 ? n = !1 : t.maxPx += e;
77
+ }
78
+ return n || delete t.maxPx, Ie(t);
79
+ }
80
+ var Se = class e {
81
+ constructor(e, t) {
82
+ this.width = e, this.height = t;
83
+ }
84
+ addPadding(e) {
85
+ return this.#e(e.width, e.height);
86
+ }
87
+ subtractPadding(e) {
88
+ return this.#e(-e.width, -e.height);
89
+ }
90
+ #e(t, n) {
91
+ return new e(Fe(this.width, t), Fe(this.height, n));
92
+ }
93
+ isGrowing() {
94
+ return !!(this.width.grow || this.height.grow);
95
+ }
96
+ }, Ce = Object.freeze({
97
+ px: 0,
98
+ grow: 0
99
+ }), we = new Se(Ce, Ce);
100
+ function b(e) {
101
+ return !e.px && !e.grow && !e.minPx;
102
+ }
103
+ function Te(e, t) {
104
+ return !e || !t ? !1 : e.px === t.px && e.grow === t.grow && e.minPx === t.minPx && e.maxPx === t.maxPx;
105
+ }
106
+ function x(e) {
107
+ return e || 0;
108
+ }
109
+ function Ee(e) {
110
+ return e && (c(e.px) || c(e.grow) || c(e.minPx) || c(e.maxPx));
111
+ }
112
+ function De(e) {
113
+ if (Dc(e)) throw Error("parseSizeDef does not accept step-based sizes.");
114
+ if (Ee(e)) return Ae(e), Ie(e);
115
+ if (c(e)) return {
116
+ px: e,
117
+ grow: 0
118
+ };
119
+ if (e === "container" || !e) return {
120
+ px: 0,
121
+ grow: 1
122
+ };
123
+ throw Error(`Invalid sizeDef: ${e}`);
124
+ }
125
+ function Oe(e, t, n) {
126
+ let r = !1;
127
+ for (let t of e) Ae(t), r ||= Pe(t);
128
+ if (!r) return ke(e, t, n);
129
+ let i = Array(e.length).fill(0), a = [];
130
+ for (let t = 0; t < e.length; t++) b(e[t]) || a.push(t);
131
+ let o = Math.max(0, a.length - 1) * n, s = Math.max(0, t - o), c = /* @__PURE__ */ new Set();
132
+ for (let t of a) {
133
+ let n = e[t];
134
+ x(n.grow) || (i[t] = je(x(n.px), n), c.add(t));
135
+ }
136
+ for (;;) {
137
+ let t = 0, n = 0, r = 0;
138
+ for (let o of a) c.has(o) ? r += i[o] : (t += x(e[o].px), n += x(e[o].grow));
139
+ if (!n) {
140
+ for (let t of a) c.has(t) || (i[t] = je(x(e[t].px), e[t]), c.add(t));
141
+ break;
142
+ }
143
+ let o = Math.max(0, s - r - t), l = 0, u = [], d = [];
144
+ for (let t of a) {
145
+ if (c.has(t)) continue;
146
+ let r = e[t], a = x(r.px) + x(r.grow) / n * o, s = je(a, r);
147
+ i[t] = s;
148
+ let f = s - a;
149
+ l += f, f > 0 ? u.push(t) : f < 0 && d.push(t);
150
+ }
151
+ if (!u.length && !d.length) break;
152
+ if (l > 0) for (let e of u) c.add(e);
153
+ else if (l < 0) for (let e of d) c.add(e);
154
+ else for (let e of a) c.add(e);
155
+ }
156
+ return i;
157
+ }
158
+ function ke(e, t, n) {
159
+ let r = 0, i = 0;
160
+ for (let t of e) r += x(t.px) + (b(t) ? 0 : n), i += x(t.grow);
161
+ r -= n;
162
+ let a = Math.max(0, t - r), o = Array(e.length);
163
+ for (let t = 0; t < e.length; t++) {
164
+ let n = e[t];
165
+ o[t] = b(n) ? 0 : x(n.px) + (i ? x(n.grow) / i * a : 0);
166
+ }
167
+ return o;
168
+ }
169
+ function Ae(e) {
170
+ if (e.minPx !== void 0 && e.maxPx !== void 0 && e.minPx > e.maxPx) throw Error("SizeDef minPx cannot be greater than maxPx.");
171
+ }
172
+ function je(e, t) {
173
+ return Math.min(Math.max(e, t.minPx ?? 0), t.maxPx ?? Infinity);
174
+ }
175
+ function Me(e) {
176
+ return je(x(e.px), e);
177
+ }
178
+ function Ne(e) {
179
+ return e.maxPx ?? (x(e.grow) ? void 0 : Me(e));
180
+ }
181
+ function Pe(e) {
182
+ return e.minPx !== void 0 || e.maxPx !== void 0;
183
+ }
184
+ function Fe(e, t) {
185
+ return Ie({
186
+ px: (e.px ?? 0) + t,
187
+ grow: e.grow,
188
+ minPx: e.minPx === void 0 ? void 0 : Math.max(0, e.minPx + t),
189
+ maxPx: e.maxPx === void 0 ? void 0 : Math.max(0, e.maxPx + t)
190
+ });
191
+ }
192
+ function Ie(e) {
193
+ let t = {}, n = e.px !== void 0, r = e.grow !== void 0, i = Pe(e);
194
+ return e.px ? t.px = e.px : e.px === 0 && (t.px = 0), e.grow ? t.grow = e.grow : e.grow === 0 ? t.grow = 0 : !n && !r && i && (t.grow = 1), e.minPx && e.minPx > x(e.px) && (t.minPx = e.minPx), e.maxPx !== void 0 && (x(t.grow) || e.maxPx < x(e.px)) && (t.maxPx = e.maxPx), t;
195
+ }
196
+ //#endregion
197
+ //#region ../core/src/view/layout/padding.js
198
+ var Le = class e {
199
+ constructor(e, t, n, r) {
200
+ this.top = e || 0, this.right = t || 0, this.bottom = n || 0, this.left = r || 0;
201
+ }
202
+ get width() {
203
+ return this.left + this.right;
204
+ }
205
+ get height() {
206
+ return this.top + this.bottom;
207
+ }
208
+ expand(t) {
209
+ return t <= 0 ? this : new e(this.top + t, this.right + t, this.bottom + t, this.left + t);
210
+ }
211
+ add(t) {
212
+ return new e(this.top + t.top, this.right + t.right, this.bottom + t.bottom, this.left + t.left);
213
+ }
214
+ subtract(t) {
215
+ return new e(this.top - t.top, this.right - t.right, this.bottom - t.bottom, this.left - t.left);
216
+ }
217
+ union(t) {
218
+ return new e(Math.max(this.top, t.top), Math.max(this.right, t.right), Math.max(this.bottom, t.bottom), Math.max(this.left, t.left));
219
+ }
220
+ getHorizontal() {
221
+ return new e(0, this.right, 0, this.left);
222
+ }
223
+ getVertical() {
224
+ return new e(this.top, 0, this.bottom, 0);
225
+ }
226
+ get horizontalTotal() {
227
+ return this.left + this.right;
228
+ }
229
+ get verticalTotal() {
230
+ return this.top + this.bottom;
231
+ }
232
+ static createFromConfig(e) {
233
+ return typeof e == "number" ? this.createUniformPadding(e) : e ? this.createFromRecord(e) : ze;
234
+ }
235
+ static createFromRecord(t) {
236
+ return new e(t.top, t.right, t.bottom, t.left);
237
+ }
238
+ static zero() {
239
+ return ze;
240
+ }
241
+ static createUniformPadding(t) {
242
+ return new e(t, t, t, t);
243
+ }
244
+ };
245
+ function Re(e, t) {
246
+ return t ? new Le(t.top === !1 ? 0 : e.top, t.right === !1 ? 0 : e.right, t.bottom === !1 ? 0 : e.bottom, t.left === !1 ? 0 : e.left) : e;
247
+ }
248
+ var ze = Le.createUniformPadding(0);
249
+ Object.freeze(ze);
250
+ //#endregion
251
+ //#region ../core/src/utils/propertyCacher.js
252
+ var Be = Symbol("cacheMap");
253
+ function Ve(e, t, n) {
254
+ let r = Ge(e).get(t);
255
+ return r === void 0 && (r = n(t), Ge(e).set(t, r)), r;
256
+ }
257
+ function He(e, t) {
258
+ Ge(e).delete(t);
259
+ }
260
+ function Ue(e, t) {
261
+ let n = Ge(e);
262
+ for (let e of n.keys()) e.startsWith(t) && n.delete(e);
263
+ Ge(e).delete(t);
264
+ }
265
+ function We(e) {
266
+ e[Be] = /* @__PURE__ */ new Map();
267
+ }
268
+ function Ge(e) {
269
+ return e[Be] || We(e), e[Be];
270
+ }
271
+ //#endregion
272
+ //#region ../../node_modules/d3-array/src/ascending.js
273
+ function S(e, t) {
274
+ return e == null || t == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
275
+ }
276
+ //#endregion
277
+ //#region ../../node_modules/d3-array/src/descending.js
278
+ function Ke(e, t) {
279
+ return e == null || t == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN;
280
+ }
281
+ //#endregion
282
+ //#region ../../node_modules/d3-array/src/bisector.js
283
+ function qe(e) {
284
+ let t, n, r;
285
+ e.length === 2 ? (t = e === S || e === Ke ? e : Je, n = e, r = e) : (t = S, n = (t, n) => S(e(t), n), r = (t, n) => e(t) - n);
286
+ function i(e, r, i = 0, a = e.length) {
287
+ if (i < a) {
288
+ if (t(r, r) !== 0) return a;
289
+ do {
290
+ let t = i + a >>> 1;
291
+ n(e[t], r) < 0 ? i = t + 1 : a = t;
292
+ } while (i < a);
293
+ }
294
+ return i;
295
+ }
296
+ function a(e, r, i = 0, a = e.length) {
297
+ if (i < a) {
298
+ if (t(r, r) !== 0) return a;
299
+ do {
300
+ let t = i + a >>> 1;
301
+ n(e[t], r) <= 0 ? i = t + 1 : a = t;
302
+ } while (i < a);
303
+ }
304
+ return i;
305
+ }
306
+ function o(e, t, n = 0, a = e.length) {
307
+ let o = i(e, t, n, a - 1);
308
+ return o > n && r(e[o - 1], t) > -r(e[o], t) ? o - 1 : o;
309
+ }
310
+ return {
311
+ left: i,
312
+ center: o,
313
+ right: a
314
+ };
315
+ }
316
+ function Je() {
317
+ return 0;
318
+ }
319
+ //#endregion
320
+ //#region ../../node_modules/d3-array/src/number.js
321
+ function Ye(e) {
322
+ return e === null ? NaN : +e;
323
+ }
324
+ function* Xe(e, t) {
325
+ if (t === void 0) for (let t of e) t != null && (t = +t) >= t && (yield t);
326
+ else {
327
+ let n = -1;
328
+ for (let r of e) (r = t(r, ++n, e)) != null && (r = +r) >= r && (yield r);
329
+ }
330
+ }
331
+ //#endregion
332
+ //#region ../../node_modules/d3-array/src/bisect.js
333
+ var Ze = qe(S), C = Ze.right, Qe = Ze.left;
334
+ qe(Ye).center;
335
+ //#endregion
336
+ //#region ../../node_modules/d3-array/src/permute.js
337
+ function $e(e, t) {
338
+ return Array.from(t, (t) => e[t]);
339
+ }
340
+ //#endregion
341
+ //#region ../../node_modules/d3-array/src/sort.js
342
+ function et(e, ...t) {
343
+ if (typeof e[Symbol.iterator] != "function") throw TypeError("values is not iterable");
344
+ e = Array.from(e);
345
+ let [n] = t;
346
+ if (n && n.length !== 2 || t.length > 1) {
347
+ let r = Uint32Array.from(e, (e, t) => t);
348
+ return t.length > 1 ? (t = t.map((t) => e.map(t)), r.sort((e, n) => {
349
+ for (let r of t) {
350
+ let t = nt(r[e], r[n]);
351
+ if (t) return t;
352
+ }
353
+ })) : (n = e.map(n), r.sort((e, t) => nt(n[e], n[t]))), $e(e, r);
354
+ }
355
+ return e.sort(tt(n));
356
+ }
357
+ function tt(e = S) {
358
+ if (e === S) return nt;
359
+ if (typeof e != "function") throw TypeError("compare is not a function");
360
+ return (t, n) => {
361
+ let r = e(t, n);
362
+ return r || r === 0 ? r : (e(n, n) === 0) - (e(t, t) === 0);
363
+ };
364
+ }
365
+ function nt(e, t) {
366
+ return (e == null || !(e >= e)) - (t == null || !(t >= t)) || (e < t ? -1 : +(e > t));
367
+ }
368
+ //#endregion
369
+ //#region ../../node_modules/d3-array/src/ticks.js
370
+ var rt = Math.sqrt(50), it = Math.sqrt(10), at = Math.sqrt(2);
371
+ function ot(e, t, n) {
372
+ let r = (t - e) / Math.max(0, n), i = Math.floor(Math.log10(r)), a = r / 10 ** i, o = a >= rt ? 10 : a >= it ? 5 : a >= at ? 2 : 1, s, c, l;
373
+ return i < 0 ? (l = 10 ** -i / o, s = Math.round(e * l), c = Math.round(t * l), s / l < e && ++s, c / l > t && --c, l = -l) : (l = 10 ** i * o, s = Math.round(e / l), c = Math.round(t / l), s * l < e && ++s, c * l > t && --c), c < s && .5 <= n && n < 2 ? ot(e, t, n * 2) : [
374
+ s,
375
+ c,
376
+ l
377
+ ];
378
+ }
379
+ function st(e, t, n) {
380
+ if (t = +t, e = +e, n = +n, !(n > 0)) return [];
381
+ if (e === t) return [e];
382
+ let r = t < e, [i, a, o] = r ? ot(t, e, n) : ot(e, t, n);
383
+ if (!(a >= i)) return [];
384
+ let s = a - i + 1, c = Array(s);
385
+ if (r) if (o < 0) for (let e = 0; e < s; ++e) c[e] = (a - e) / -o;
386
+ else for (let e = 0; e < s; ++e) c[e] = (a - e) * o;
387
+ else if (o < 0) for (let e = 0; e < s; ++e) c[e] = (i + e) / -o;
388
+ else for (let e = 0; e < s; ++e) c[e] = (i + e) * o;
389
+ return c;
390
+ }
391
+ function ct(e, t, n) {
392
+ return t = +t, e = +e, n = +n, ot(e, t, n)[2];
393
+ }
394
+ function lt(e, t, n) {
395
+ t = +t, e = +e, n = +n;
396
+ let r = t < e, i = r ? ct(t, e, n) : ct(e, t, n);
397
+ return (r ? -1 : 1) * (i < 0 ? 1 / -i : i);
398
+ }
399
+ //#endregion
400
+ //#region ../../node_modules/d3-array/src/max.js
401
+ function ut(e, t) {
402
+ let n;
403
+ if (t === void 0) for (let t of e) t != null && (n < t || n === void 0 && t >= t) && (n = t);
404
+ else {
405
+ let r = -1;
406
+ for (let i of e) (i = t(i, ++r, e)) != null && (n < i || n === void 0 && i >= i) && (n = i);
407
+ }
408
+ return n;
409
+ }
410
+ //#endregion
411
+ //#region ../../node_modules/d3-array/src/min.js
412
+ function dt(e, t) {
413
+ let n;
414
+ if (t === void 0) for (let t of e) t != null && (n > t || n === void 0 && t >= t) && (n = t);
415
+ else {
416
+ let r = -1;
417
+ for (let i of e) (i = t(i, ++r, e)) != null && (n > i || n === void 0 && i >= i) && (n = i);
418
+ }
419
+ return n;
420
+ }
421
+ //#endregion
422
+ //#region ../../node_modules/d3-array/src/quickselect.js
423
+ function ft(e, t, n = 0, r = Infinity, i) {
424
+ if (t = Math.floor(t), n = Math.floor(Math.max(0, n)), r = Math.floor(Math.min(e.length - 1, r)), !(n <= t && t <= r)) return e;
425
+ for (i = i === void 0 ? nt : tt(i); r > n;) {
426
+ if (r - n > 600) {
427
+ let a = r - n + 1, o = t - n + 1, s = Math.log(a), c = .5 * Math.exp(2 * s / 3), l = .5 * Math.sqrt(s * c * (a - c) / a) * (o - a / 2 < 0 ? -1 : 1), u = Math.max(n, Math.floor(t - o * c / a + l)), d = Math.min(r, Math.floor(t + (a - o) * c / a + l));
428
+ ft(e, t, u, d, i);
429
+ }
430
+ let a = e[t], o = n, s = r;
431
+ for (pt(e, n, t), i(e[r], a) > 0 && pt(e, n, r); o < s;) {
432
+ for (pt(e, o, s), ++o, --s; i(e[o], a) < 0;) ++o;
433
+ for (; i(e[s], a) > 0;) --s;
434
+ }
435
+ i(e[n], a) === 0 ? pt(e, n, s) : (++s, pt(e, s, r)), s <= t && (n = s + 1), t <= s && (r = s - 1);
436
+ }
437
+ return e;
438
+ }
439
+ function pt(e, t, n) {
440
+ let r = e[t];
441
+ e[t] = e[n], e[n] = r;
442
+ }
443
+ //#endregion
444
+ //#region ../../node_modules/d3-array/src/quantile.js
445
+ function mt(e, t, n) {
446
+ if (e = Float64Array.from(Xe(e, n)), !(!(r = e.length) || isNaN(t = +t))) {
447
+ if (t <= 0 || r < 2) return dt(e);
448
+ if (t >= 1) return ut(e);
449
+ var r, i = (r - 1) * t, a = Math.floor(i), o = ut(ft(e, a).subarray(0, a + 1));
450
+ return o + (dt(e.subarray(a + 1)) - o) * (i - a);
451
+ }
452
+ }
453
+ function ht(e, t, n = Ye) {
454
+ if (!(!(r = e.length) || isNaN(t = +t))) {
455
+ if (t <= 0 || r < 2) return +n(e[0], 0, e);
456
+ if (t >= 1) return +n(e[r - 1], r - 1, e);
457
+ var r, i = (r - 1) * t, a = Math.floor(i), o = +n(e[a], a, e);
458
+ return o + (+n(e[a + 1], a + 1, e) - o) * (i - a);
459
+ }
460
+ }
461
+ //#endregion
462
+ //#region ../../node_modules/d3-scale/src/init.js
463
+ function w(e, t) {
464
+ switch (arguments.length) {
465
+ case 0: break;
466
+ case 1:
467
+ this.range(e);
468
+ break;
469
+ default:
470
+ this.range(t).domain(e);
471
+ break;
472
+ }
473
+ return this;
474
+ }
475
+ function T(e, t) {
476
+ switch (arguments.length) {
477
+ case 0: break;
478
+ case 1:
479
+ typeof e == "function" ? this.interpolator(e) : this.range(e);
480
+ break;
481
+ default:
482
+ this.domain(e), typeof t == "function" ? this.interpolator(t) : this.range(t);
483
+ break;
484
+ }
485
+ return this;
486
+ }
487
+ //#endregion
488
+ //#region ../../node_modules/d3-scale/src/ordinal.js
489
+ var gt = Symbol("implicit");
490
+ function _t() {
491
+ var e = new oe(), t = [], n = [], r = gt;
492
+ function i(i) {
493
+ let a = e.get(i);
494
+ if (a === void 0) {
495
+ if (r !== gt) return r;
496
+ e.set(i, a = t.push(i) - 1);
497
+ }
498
+ return n[a % n.length];
499
+ }
500
+ return i.domain = function(n) {
501
+ if (!arguments.length) return t.slice();
502
+ t = [], e = new oe();
503
+ for (let r of n) e.has(r) || e.set(r, t.push(r) - 1);
504
+ return i;
505
+ }, i.range = function(e) {
506
+ return arguments.length ? (n = Array.from(e), i) : n.slice();
507
+ }, i.unknown = function(e) {
508
+ return arguments.length ? (r = e, i) : r;
509
+ }, i.copy = function() {
510
+ return _t(t, n).unknown(r);
511
+ }, w.apply(i, arguments), i;
512
+ }
513
+ //#endregion
514
+ //#region ../../node_modules/d3-color/src/math.js
515
+ var vt = Math.PI / 180, yt = 180 / Math.PI, bt = 18, xt = .96422, St = 1, Ct = .82521, wt = 4 / 29, Tt = 6 / 29, Et = 3 * Tt * Tt, Dt = Tt * Tt * Tt;
516
+ function Ot(e) {
517
+ if (e instanceof E) return new E(e.l, e.a, e.b, e.opacity);
518
+ if (e instanceof D) return It(e);
519
+ e instanceof le || (e = ae(e));
520
+ var t = Nt(e.r), n = Nt(e.g), r = Nt(e.b), i = At((.2225045 * t + .7168786 * n + .0606169 * r) / St), a, o;
521
+ return t === n && n === r ? a = o = i : (a = At((.4360747 * t + .3850649 * n + .1430804 * r) / xt), o = At((.0139322 * t + .0971045 * n + .7141733 * r) / Ct)), new E(116 * i - 16, 500 * (a - i), 200 * (i - o), e.opacity);
522
+ }
523
+ function kt(e, t, n, r) {
524
+ return arguments.length === 1 ? Ot(e) : new E(e, t, n, r ?? 1);
525
+ }
526
+ function E(e, t, n, r) {
527
+ this.l = +e, this.a = +t, this.b = +n, this.opacity = +r;
528
+ }
529
+ ce(E, kt, me(pe, {
530
+ brighter(e) {
531
+ return new E(this.l + bt * (e ?? 1), this.a, this.b, this.opacity);
532
+ },
533
+ darker(e) {
534
+ return new E(this.l - bt * (e ?? 1), this.a, this.b, this.opacity);
535
+ },
536
+ rgb() {
537
+ var e = (this.l + 16) / 116, t = isNaN(this.a) ? e : e + this.a / 500, n = isNaN(this.b) ? e : e - this.b / 200;
538
+ return t = xt * jt(t), e = St * jt(e), n = Ct * jt(n), new le(Mt(3.1338561 * t - 1.6168667 * e - .4906146 * n), Mt(-.9787684 * t + 1.9161415 * e + .033454 * n), Mt(.0719453 * t - .2289914 * e + 1.4052427 * n), this.opacity);
539
+ }
540
+ }));
541
+ function At(e) {
542
+ return e > Dt ? e ** (1 / 3) : e / Et + wt;
543
+ }
544
+ function jt(e) {
545
+ return e > Tt ? e * e * e : Et * (e - wt);
546
+ }
547
+ function Mt(e) {
548
+ return 255 * (e <= .0031308 ? 12.92 * e : 1.055 * e ** (1 / 2.4) - .055);
549
+ }
550
+ function Nt(e) {
551
+ return (e /= 255) <= .04045 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4;
552
+ }
553
+ function Pt(e) {
554
+ if (e instanceof D) return new D(e.h, e.c, e.l, e.opacity);
555
+ if (e instanceof E || (e = Ot(e)), e.a === 0 && e.b === 0) return new D(NaN, 0 < e.l && e.l < 100 ? 0 : NaN, e.l, e.opacity);
556
+ var t = Math.atan2(e.b, e.a) * yt;
557
+ return new D(t < 0 ? t + 360 : t, Math.sqrt(e.a * e.a + e.b * e.b), e.l, e.opacity);
558
+ }
559
+ function Ft(e, t, n, r) {
560
+ return arguments.length === 1 ? Pt(e) : new D(e, t, n, r ?? 1);
561
+ }
562
+ function D(e, t, n, r) {
563
+ this.h = +e, this.c = +t, this.l = +n, this.opacity = +r;
564
+ }
565
+ function It(e) {
566
+ if (isNaN(e.h)) return new E(e.l, 0, 0, e.opacity);
567
+ var t = e.h * vt;
568
+ return new E(e.l, Math.cos(t) * e.c, Math.sin(t) * e.c, e.opacity);
569
+ }
570
+ ce(D, Ft, me(pe, {
571
+ brighter(e) {
572
+ return new D(this.h, this.c, this.l + bt * (e ?? 1), this.opacity);
573
+ },
574
+ darker(e) {
575
+ return new D(this.h, this.c, this.l - bt * (e ?? 1), this.opacity);
576
+ },
577
+ rgb() {
578
+ return It(this).rgb();
579
+ }
580
+ }));
581
+ //#endregion
582
+ //#region ../../node_modules/d3-color/src/cubehelix.js
583
+ var Lt = -.14861, Rt = 1.78277, zt = -.29227, Bt = -.90649, Vt = 1.97294, Ht = Vt * Bt, Ut = Vt * Rt, Wt = Rt * zt - Bt * Lt;
584
+ function Gt(e) {
585
+ if (e instanceof qt) return new qt(e.h, e.s, e.l, e.opacity);
586
+ e instanceof le || (e = ae(e));
587
+ var t = e.r / 255, n = e.g / 255, r = e.b / 255, i = (Wt * r + Ht * t - Ut * n) / (Wt + Ht - Ut), a = r - i, o = (Vt * (n - i) - zt * a) / Bt, s = Math.sqrt(o * o + a * a) / (Vt * i * (1 - i)), c = s ? Math.atan2(o, a) * yt - 120 : NaN;
588
+ return new qt(c < 0 ? c + 360 : c, s, i, e.opacity);
589
+ }
590
+ function Kt(e, t, n, r) {
591
+ return arguments.length === 1 ? Gt(e) : new qt(e, t, n, r ?? 1);
592
+ }
593
+ function qt(e, t, n, r) {
594
+ this.h = +e, this.s = +t, this.l = +n, this.opacity = +r;
595
+ }
596
+ ce(qt, Kt, me(pe, {
597
+ brighter(e) {
598
+ return e = e == null ? de : de ** +e, new qt(this.h, this.s, this.l * e, this.opacity);
599
+ },
600
+ darker(e) {
601
+ return e = e == null ? ie : ie ** +e, new qt(this.h, this.s, this.l * e, this.opacity);
602
+ },
603
+ rgb() {
604
+ var e = isNaN(this.h) ? 0 : (this.h + 120) * vt, t = +this.l, n = isNaN(this.s) ? 0 : this.s * t * (1 - t), r = Math.cos(e), i = Math.sin(e);
605
+ return new le(255 * (t + n * (Lt * r + Rt * i)), 255 * (t + n * (zt * r + Bt * i)), 255 * (t + Vt * r * n), this.opacity);
606
+ }
607
+ }));
608
+ //#endregion
609
+ //#region ../../node_modules/d3-interpolate/src/basis.js
610
+ function Jt(e, t, n, r, i) {
611
+ var a = e * e, o = a * e;
612
+ return ((1 - 3 * e + 3 * a - o) * t + (4 - 6 * a + 3 * o) * n + (1 + 3 * e + 3 * a - 3 * o) * r + o * i) / 6;
613
+ }
614
+ function Yt(e) {
615
+ var t = e.length - 1;
616
+ return function(n) {
617
+ var r = n <= 0 ? n = 0 : n >= 1 ? (n = 1, t - 1) : Math.floor(n * t), i = e[r], a = e[r + 1], o = r > 0 ? e[r - 1] : 2 * i - a, s = r < t - 1 ? e[r + 2] : 2 * a - i;
618
+ return Jt((n - r / t) * t, o, i, a, s);
619
+ };
620
+ }
621
+ //#endregion
622
+ //#region ../../node_modules/d3-interpolate/src/basisClosed.js
623
+ function Xt(e) {
624
+ var t = e.length;
625
+ return function(n) {
626
+ var r = Math.floor(((n %= 1) < 0 ? ++n : n) * t), i = e[(r + t - 1) % t], a = e[r % t], o = e[(r + 1) % t], s = e[(r + 2) % t];
627
+ return Jt((n - r / t) * t, i, a, o, s);
628
+ };
629
+ }
630
+ //#endregion
631
+ //#region ../../node_modules/d3-interpolate/src/constant.js
632
+ var Zt = (e) => () => e;
633
+ //#endregion
634
+ //#region ../../node_modules/d3-interpolate/src/color.js
635
+ function Qt(e, t) {
636
+ return function(n) {
637
+ return e + n * t;
638
+ };
639
+ }
640
+ function $t(e, t, n) {
641
+ return e **= +n, t = t ** +n - e, n = 1 / n, function(r) {
642
+ return (e + r * t) ** +n;
643
+ };
644
+ }
645
+ function en(e, t) {
646
+ var n = t - e;
647
+ return n ? Qt(e, n > 180 || n < -180 ? n - 360 * Math.round(n / 360) : n) : Zt(isNaN(e) ? t : e);
648
+ }
649
+ function tn(e) {
650
+ return (e = +e) == 1 ? O : function(t, n) {
651
+ return n - t ? $t(t, n, e) : Zt(isNaN(t) ? n : t);
652
+ };
653
+ }
654
+ function O(e, t) {
655
+ var n = t - e;
656
+ return n ? Qt(e, n) : Zt(isNaN(e) ? t : e);
657
+ }
658
+ //#endregion
659
+ //#region ../../node_modules/d3-interpolate/src/rgb.js
660
+ var nn = (function e(t) {
661
+ var n = tn(t);
662
+ function r(e, t) {
663
+ var r = n((e = fe(e)).r, (t = fe(t)).r), i = n(e.g, t.g), a = n(e.b, t.b), o = O(e.opacity, t.opacity);
664
+ return function(t) {
665
+ return e.r = r(t), e.g = i(t), e.b = a(t), e.opacity = o(t), e + "";
666
+ };
667
+ }
668
+ return r.gamma = e, r;
669
+ })(1);
670
+ function rn(e) {
671
+ return function(t) {
672
+ var n = t.length, r = Array(n), i = Array(n), a = Array(n), o, s;
673
+ for (o = 0; o < n; ++o) s = fe(t[o]), r[o] = s.r || 0, i[o] = s.g || 0, a[o] = s.b || 0;
674
+ return r = e(r), i = e(i), a = e(a), s.opacity = 1, function(e) {
675
+ return s.r = r(e), s.g = i(e), s.b = a(e), s + "";
676
+ };
677
+ };
678
+ }
679
+ var an = rn(Yt), on = rn(Xt);
680
+ //#endregion
681
+ //#region ../../node_modules/d3-interpolate/src/numberArray.js
682
+ function sn(e, t) {
683
+ t ||= [];
684
+ var n = e ? Math.min(t.length, e.length) : 0, r = t.slice(), i;
685
+ return function(a) {
686
+ for (i = 0; i < n; ++i) r[i] = e[i] * (1 - a) + t[i] * a;
687
+ return r;
688
+ };
689
+ }
690
+ function cn(e) {
691
+ return ArrayBuffer.isView(e) && !(e instanceof DataView);
692
+ }
693
+ //#endregion
694
+ //#region ../../node_modules/d3-interpolate/src/array.js
695
+ function ln(e, t) {
696
+ return (cn(t) ? sn : un)(e, t);
697
+ }
698
+ function un(e, t) {
699
+ var n = t ? t.length : 0, r = e ? Math.min(n, e.length) : 0, i = Array(r), a = Array(n), o;
700
+ for (o = 0; o < r; ++o) i[o] = A(e[o], t[o]);
701
+ for (; o < n; ++o) a[o] = t[o];
702
+ return function(e) {
703
+ for (o = 0; o < r; ++o) a[o] = i[o](e);
704
+ return a;
705
+ };
706
+ }
707
+ //#endregion
708
+ //#region ../../node_modules/d3-interpolate/src/date.js
709
+ function dn(e, t) {
710
+ var n = /* @__PURE__ */ new Date();
711
+ return e = +e, t = +t, function(r) {
712
+ return n.setTime(e * (1 - r) + t * r), n;
713
+ };
714
+ }
715
+ //#endregion
716
+ //#region ../../node_modules/d3-interpolate/src/number.js
717
+ function k(e, t) {
718
+ return e = +e, t = +t, function(n) {
719
+ return e * (1 - n) + t * n;
720
+ };
721
+ }
722
+ //#endregion
723
+ //#region ../../node_modules/d3-interpolate/src/object.js
724
+ function fn(e, t) {
725
+ var n = {}, r = {}, i;
726
+ for (i in (typeof e != "object" || !e) && (e = {}), (typeof t != "object" || !t) && (t = {}), t) i in e ? n[i] = A(e[i], t[i]) : r[i] = t[i];
727
+ return function(e) {
728
+ for (i in n) r[i] = n[i](e);
729
+ return r;
730
+ };
731
+ }
732
+ //#endregion
733
+ //#region ../../node_modules/d3-interpolate/src/string.js
734
+ var pn = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, mn = new RegExp(pn.source, "g");
735
+ function hn(e) {
736
+ return function() {
737
+ return e;
738
+ };
739
+ }
740
+ function gn(e) {
741
+ return function(t) {
742
+ return e(t) + "";
743
+ };
744
+ }
745
+ function _n(e, t) {
746
+ var n = pn.lastIndex = mn.lastIndex = 0, r, i, a, o = -1, s = [], c = [];
747
+ for (e += "", t += ""; (r = pn.exec(e)) && (i = mn.exec(t));) (a = i.index) > n && (a = t.slice(n, a), s[o] ? s[o] += a : s[++o] = a), (r = r[0]) === (i = i[0]) ? s[o] ? s[o] += i : s[++o] = i : (s[++o] = null, c.push({
748
+ i: o,
749
+ x: k(r, i)
750
+ })), n = mn.lastIndex;
751
+ return n < t.length && (a = t.slice(n), s[o] ? s[o] += a : s[++o] = a), s.length < 2 ? c[0] ? gn(c[0].x) : hn(t) : (t = c.length, function(e) {
752
+ for (var n = 0, r; n < t; ++n) s[(r = c[n]).i] = r.x(e);
753
+ return s.join("");
754
+ });
755
+ }
756
+ //#endregion
757
+ //#region ../../node_modules/d3-interpolate/src/value.js
758
+ function A(e, t) {
759
+ var n = typeof t, r;
760
+ return t == null || n === "boolean" ? Zt(t) : (n === "number" ? k : n === "string" ? (r = se(t)) ? (t = r, nn) : _n : t instanceof se ? nn : t instanceof Date ? dn : cn(t) ? sn : Array.isArray(t) ? un : typeof t.valueOf != "function" && typeof t.toString != "function" || isNaN(t) ? fn : k)(e, t);
761
+ }
762
+ //#endregion
763
+ //#region ../../node_modules/d3-interpolate/src/discrete.js
764
+ function vn(e) {
765
+ var t = e.length;
766
+ return function(n) {
767
+ return e[Math.max(0, Math.min(t - 1, Math.floor(n * t)))];
768
+ };
769
+ }
770
+ //#endregion
771
+ //#region ../../node_modules/d3-interpolate/src/hue.js
772
+ function yn(e, t) {
773
+ var n = en(+e, +t);
774
+ return function(e) {
775
+ var t = n(e);
776
+ return t - 360 * Math.floor(t / 360);
777
+ };
778
+ }
779
+ //#endregion
780
+ //#region ../../node_modules/d3-interpolate/src/round.js
781
+ function bn(e, t) {
782
+ return e = +e, t = +t, function(n) {
783
+ return Math.round(e * (1 - n) + t * n);
784
+ };
785
+ }
786
+ //#endregion
787
+ //#region ../../node_modules/d3-interpolate/src/transform/decompose.js
788
+ var xn = 180 / Math.PI, Sn = {
789
+ translateX: 0,
790
+ translateY: 0,
791
+ rotate: 0,
792
+ skewX: 0,
793
+ scaleX: 1,
794
+ scaleY: 1
795
+ };
796
+ function Cn(e, t, n, r, i, a) {
797
+ var o, s, c;
798
+ return (o = Math.sqrt(e * e + t * t)) && (e /= o, t /= o), (c = e * n + t * r) && (n -= e * c, r -= t * c), (s = Math.sqrt(n * n + r * r)) && (n /= s, r /= s, c /= s), e * r < t * n && (e = -e, t = -t, c = -c, o = -o), {
799
+ translateX: i,
800
+ translateY: a,
801
+ rotate: Math.atan2(t, e) * xn,
802
+ skewX: Math.atan(c) * xn,
803
+ scaleX: o,
804
+ scaleY: s
805
+ };
806
+ }
807
+ //#endregion
808
+ //#region ../../node_modules/d3-interpolate/src/transform/parse.js
809
+ var wn;
810
+ function Tn(e) {
811
+ let t = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(e + "");
812
+ return t.isIdentity ? Sn : Cn(t.a, t.b, t.c, t.d, t.e, t.f);
813
+ }
814
+ function En(e) {
815
+ return e == null || (wn ||= document.createElementNS("http://www.w3.org/2000/svg", "g"), wn.setAttribute("transform", e), !(e = wn.transform.baseVal.consolidate())) ? Sn : (e = e.matrix, Cn(e.a, e.b, e.c, e.d, e.e, e.f));
816
+ }
817
+ //#endregion
818
+ //#region ../../node_modules/d3-interpolate/src/transform/index.js
819
+ function Dn(e, t, n, r) {
820
+ function i(e) {
821
+ return e.length ? e.pop() + " " : "";
822
+ }
823
+ function a(e, r, i, a, o, s) {
824
+ if (e !== i || r !== a) {
825
+ var c = o.push("translate(", null, t, null, n);
826
+ s.push({
827
+ i: c - 4,
828
+ x: k(e, i)
829
+ }, {
830
+ i: c - 2,
831
+ x: k(r, a)
832
+ });
833
+ } else (i || a) && o.push("translate(" + i + t + a + n);
834
+ }
835
+ function o(e, t, n, a) {
836
+ e === t ? t && n.push(i(n) + "rotate(" + t + r) : (e - t > 180 ? t += 360 : t - e > 180 && (e += 360), a.push({
837
+ i: n.push(i(n) + "rotate(", null, r) - 2,
838
+ x: k(e, t)
839
+ }));
840
+ }
841
+ function s(e, t, n, a) {
842
+ e === t ? t && n.push(i(n) + "skewX(" + t + r) : a.push({
843
+ i: n.push(i(n) + "skewX(", null, r) - 2,
844
+ x: k(e, t)
845
+ });
846
+ }
847
+ function c(e, t, n, r, a, o) {
848
+ if (e !== n || t !== r) {
849
+ var s = a.push(i(a) + "scale(", null, ",", null, ")");
850
+ o.push({
851
+ i: s - 4,
852
+ x: k(e, n)
853
+ }, {
854
+ i: s - 2,
855
+ x: k(t, r)
856
+ });
857
+ } else (n !== 1 || r !== 1) && a.push(i(a) + "scale(" + n + "," + r + ")");
858
+ }
859
+ return function(t, n) {
860
+ var r = [], i = [];
861
+ return t = e(t), n = e(n), a(t.translateX, t.translateY, n.translateX, n.translateY, r, i), o(t.rotate, n.rotate, r, i), s(t.skewX, n.skewX, r, i), c(t.scaleX, t.scaleY, n.scaleX, n.scaleY, r, i), t = n = null, function(e) {
862
+ for (var t = -1, n = i.length, a; ++t < n;) r[(a = i[t]).i] = a.x(e);
863
+ return r.join("");
864
+ };
865
+ };
866
+ }
867
+ var On = Dn(Tn, "px, ", "px)", "deg)"), kn = Dn(En, ", ", ")", ")"), An = 1e-12;
868
+ function jn(e) {
869
+ return ((e = Math.exp(e)) + 1 / e) / 2;
870
+ }
871
+ function Mn(e) {
872
+ return ((e = Math.exp(e)) - 1 / e) / 2;
873
+ }
874
+ function Nn(e) {
875
+ return ((e = Math.exp(2 * e)) - 1) / (e + 1);
876
+ }
877
+ var Pn = (function e(t, n, r) {
878
+ function i(e, i) {
879
+ var a = e[0], o = e[1], s = e[2], c = i[0], l = i[1], u = i[2], d = c - a, f = l - o, p = d * d + f * f, m, h;
880
+ if (p < An) h = Math.log(u / s) / t, m = function(e) {
881
+ return [
882
+ a + e * d,
883
+ o + e * f,
884
+ s * Math.exp(t * e * h)
885
+ ];
886
+ };
887
+ else {
888
+ var g = Math.sqrt(p), ee = (u * u - s * s + r * p) / (2 * s * n * g), te = (u * u - s * s - r * p) / (2 * u * n * g), _ = Math.log(Math.sqrt(ee * ee + 1) - ee);
889
+ h = (Math.log(Math.sqrt(te * te + 1) - te) - _) / t, m = function(e) {
890
+ var r = e * h, i = jn(_), c = s / (n * g) * (i * Nn(t * r + _) - Mn(_));
891
+ return [
892
+ a + c * d,
893
+ o + c * f,
894
+ s * i / jn(t * r + _)
895
+ ];
896
+ };
897
+ }
898
+ return m.duration = h * 1e3 * t / Math.SQRT2, m;
899
+ }
900
+ return i.rho = function(t) {
901
+ var n = Math.max(.001, +t), r = n * n;
902
+ return e(n, r, r * r);
903
+ }, i;
904
+ })(Math.SQRT2, 2, 4);
905
+ //#endregion
906
+ //#region ../../node_modules/d3-interpolate/src/hsl.js
907
+ function Fn(e) {
908
+ return function(t, n) {
909
+ var r = e((t = ue(t)).h, (n = ue(n)).h), i = O(t.s, n.s), a = O(t.l, n.l), o = O(t.opacity, n.opacity);
910
+ return function(e) {
911
+ return t.h = r(e), t.s = i(e), t.l = a(e), t.opacity = o(e), t + "";
912
+ };
913
+ };
914
+ }
915
+ var In = Fn(en), Ln = Fn(O);
916
+ //#endregion
917
+ //#region ../../node_modules/d3-interpolate/src/lab.js
918
+ function Rn(e, t) {
919
+ var n = O((e = kt(e)).l, (t = kt(t)).l), r = O(e.a, t.a), i = O(e.b, t.b), a = O(e.opacity, t.opacity);
920
+ return function(t) {
921
+ return e.l = n(t), e.a = r(t), e.b = i(t), e.opacity = a(t), e + "";
922
+ };
923
+ }
924
+ //#endregion
925
+ //#region ../../node_modules/d3-interpolate/src/hcl.js
926
+ function zn(e) {
927
+ return function(t, n) {
928
+ var r = e((t = Ft(t)).h, (n = Ft(n)).h), i = O(t.c, n.c), a = O(t.l, n.l), o = O(t.opacity, n.opacity);
929
+ return function(e) {
930
+ return t.h = r(e), t.c = i(e), t.l = a(e), t.opacity = o(e), t + "";
931
+ };
932
+ };
933
+ }
934
+ var Bn = zn(en), Vn = zn(O);
935
+ //#endregion
936
+ //#region ../../node_modules/d3-interpolate/src/cubehelix.js
937
+ function Hn(e) {
938
+ return (function t(n) {
939
+ n = +n;
940
+ function r(t, r) {
941
+ var i = e((t = Kt(t)).h, (r = Kt(r)).h), a = O(t.s, r.s), o = O(t.l, r.l), s = O(t.opacity, r.opacity);
942
+ return function(e) {
943
+ return t.h = i(e), t.s = a(e), t.l = o(e ** +n), t.opacity = s(e), t + "";
944
+ };
945
+ }
946
+ return r.gamma = t, r;
947
+ })(1);
948
+ }
949
+ var Un = Hn(en), Wn = Hn(O);
950
+ //#endregion
951
+ //#region ../../node_modules/d3-interpolate/src/piecewise.js
952
+ function Gn(e, t) {
953
+ t === void 0 && (t = e, e = A);
954
+ for (var n = 0, r = t.length - 1, i = t[0], a = Array(r < 0 ? 0 : r); n < r;) a[n] = e(i, i = t[++n]);
955
+ return function(e) {
956
+ var t = Math.max(0, Math.min(r - 1, Math.floor(e *= r)));
957
+ return a[t](e - t);
958
+ };
959
+ }
960
+ //#endregion
961
+ //#region ../../node_modules/d3-interpolate/src/quantize.js
962
+ function Kn(e, t) {
963
+ for (var n = Array(t), r = 0; r < t; ++r) n[r] = e(r / (t - 1));
964
+ return n;
965
+ }
966
+ //#endregion
967
+ //#region ../../node_modules/d3-interpolate/src/index.js
968
+ var qn = /* @__PURE__ */ e({
969
+ interpolate: () => A,
970
+ interpolateArray: () => ln,
971
+ interpolateBasis: () => Yt,
972
+ interpolateBasisClosed: () => Xt,
973
+ interpolateCubehelix: () => Un,
974
+ interpolateCubehelixLong: () => Wn,
975
+ interpolateDate: () => dn,
976
+ interpolateDiscrete: () => vn,
977
+ interpolateHcl: () => Bn,
978
+ interpolateHclLong: () => Vn,
979
+ interpolateHsl: () => In,
980
+ interpolateHslLong: () => Ln,
981
+ interpolateHue: () => yn,
982
+ interpolateLab: () => Rn,
983
+ interpolateNumber: () => k,
984
+ interpolateNumberArray: () => sn,
985
+ interpolateObject: () => fn,
986
+ interpolateRgb: () => nn,
987
+ interpolateRgbBasis: () => an,
988
+ interpolateRgbBasisClosed: () => on,
989
+ interpolateRound: () => bn,
990
+ interpolateString: () => _n,
991
+ interpolateTransformCss: () => On,
992
+ interpolateTransformSvg: () => kn,
993
+ interpolateZoom: () => Pn,
994
+ piecewise: () => Gn,
995
+ quantize: () => Kn
996
+ });
997
+ //#endregion
998
+ //#region ../../node_modules/d3-scale/src/constant.js
999
+ function Jn(e) {
1000
+ return function() {
1001
+ return e;
1002
+ };
1003
+ }
1004
+ //#endregion
1005
+ //#region ../../node_modules/d3-scale/src/number.js
1006
+ function Yn(e) {
1007
+ return +e;
1008
+ }
1009
+ //#endregion
1010
+ //#region ../../node_modules/d3-scale/src/continuous.js
1011
+ var Xn = [0, 1];
1012
+ function j(e) {
1013
+ return e;
1014
+ }
1015
+ function Zn(e, t) {
1016
+ return (t -= e = +e) ? function(n) {
1017
+ return (n - e) / t;
1018
+ } : Jn(isNaN(t) ? NaN : .5);
1019
+ }
1020
+ function Qn(e, t) {
1021
+ var n;
1022
+ return e > t && (n = e, e = t, t = n), function(n) {
1023
+ return Math.max(e, Math.min(t, n));
1024
+ };
1025
+ }
1026
+ function $n(e, t, n) {
1027
+ var r = e[0], i = e[1], a = t[0], o = t[1];
1028
+ return i < r ? (r = Zn(i, r), a = n(o, a)) : (r = Zn(r, i), a = n(a, o)), function(e) {
1029
+ return a(r(e));
1030
+ };
1031
+ }
1032
+ function er(e, t, n) {
1033
+ var r = Math.min(e.length, t.length) - 1, i = Array(r), a = Array(r), o = -1;
1034
+ for (e[r] < e[0] && (e = e.slice().reverse(), t = t.slice().reverse()); ++o < r;) i[o] = Zn(e[o], e[o + 1]), a[o] = n(t[o], t[o + 1]);
1035
+ return function(t) {
1036
+ var n = C(e, t, 1, r) - 1;
1037
+ return a[n](i[n](t));
1038
+ };
1039
+ }
1040
+ function tr(e, t) {
1041
+ return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown());
1042
+ }
1043
+ function nr() {
1044
+ var e = Xn, t = Xn, n = A, r, i, a, o = j, s, c, l;
1045
+ function u() {
1046
+ var n = Math.min(e.length, t.length);
1047
+ return o !== j && (o = Qn(e[0], e[n - 1])), s = n > 2 ? er : $n, c = l = null, d;
1048
+ }
1049
+ function d(i) {
1050
+ return i == null || isNaN(i = +i) ? a : (c ||= s(e.map(r), t, n))(r(o(i)));
1051
+ }
1052
+ return d.invert = function(n) {
1053
+ return o(i((l ||= s(t, e.map(r), k))(n)));
1054
+ }, d.domain = function(t) {
1055
+ return arguments.length ? (e = Array.from(t, Yn), u()) : e.slice();
1056
+ }, d.range = function(e) {
1057
+ return arguments.length ? (t = Array.from(e), u()) : t.slice();
1058
+ }, d.rangeRound = function(e) {
1059
+ return t = Array.from(e), n = bn, u();
1060
+ }, d.clamp = function(e) {
1061
+ return arguments.length ? (o = e ? !0 : j, u()) : o !== j;
1062
+ }, d.interpolate = function(e) {
1063
+ return arguments.length ? (n = e, u()) : n;
1064
+ }, d.unknown = function(e) {
1065
+ return arguments.length ? (a = e, d) : a;
1066
+ }, function(e, t) {
1067
+ return r = e, i = t, u();
1068
+ };
1069
+ }
1070
+ function rr() {
1071
+ return nr()(j, j);
1072
+ }
1073
+ //#endregion
1074
+ //#region ../../node_modules/d3-format/src/precisionFixed.js
1075
+ function ir(e) {
1076
+ return Math.max(0, -g(Math.abs(e)));
1077
+ }
1078
+ //#endregion
1079
+ //#region ../../node_modules/d3-format/src/precisionPrefix.js
1080
+ function ar(e, t) {
1081
+ return Math.max(0, Math.max(-8, Math.min(8, Math.floor(g(t) / 3))) * 3 - g(Math.abs(e)));
1082
+ }
1083
+ //#endregion
1084
+ //#region ../../node_modules/d3-format/src/precisionRound.js
1085
+ function or(e, t) {
1086
+ return e = Math.abs(e), t = Math.abs(t) - e, Math.max(0, g(t) - g(e)) + 1;
1087
+ }
1088
+ //#endregion
1089
+ //#region ../../node_modules/d3-scale/src/tickFormat.js
1090
+ function sr(e, t, r, i) {
1091
+ var o = lt(e, t, r), s;
1092
+ switch (i = n(i ?? ",f"), i.type) {
1093
+ case "s":
1094
+ var c = Math.max(Math.abs(e), Math.abs(t));
1095
+ return i.precision == null && !isNaN(s = ar(o, c)) && (i.precision = s), ee(i, c);
1096
+ case "":
1097
+ case "e":
1098
+ case "g":
1099
+ case "p":
1100
+ case "r":
1101
+ i.precision == null && !isNaN(s = or(o, Math.max(Math.abs(e), Math.abs(t)))) && (i.precision = s - (i.type === "e"));
1102
+ break;
1103
+ case "f":
1104
+ case "%":
1105
+ i.precision == null && !isNaN(s = ir(o)) && (i.precision = s - (i.type === "%") * 2);
1106
+ break;
1107
+ }
1108
+ return a(i);
1109
+ }
1110
+ //#endregion
1111
+ //#region ../../node_modules/d3-scale/src/linear.js
1112
+ function M(e) {
1113
+ var t = e.domain;
1114
+ return e.ticks = function(e) {
1115
+ var n = t();
1116
+ return st(n[0], n[n.length - 1], e ?? 10);
1117
+ }, e.tickFormat = function(e, n) {
1118
+ var r = t();
1119
+ return sr(r[0], r[r.length - 1], e ?? 10, n);
1120
+ }, e.nice = function(n) {
1121
+ n ??= 10;
1122
+ var r = t(), i = 0, a = r.length - 1, o = r[i], s = r[a], c, l, u = 10;
1123
+ for (s < o && (l = o, o = s, s = l, l = i, i = a, a = l); u-- > 0;) {
1124
+ if (l = ct(o, s, n), l === c) return r[i] = o, r[a] = s, t(r);
1125
+ if (l > 0) o = Math.floor(o / l) * l, s = Math.ceil(s / l) * l;
1126
+ else if (l < 0) o = Math.ceil(o * l) / l, s = Math.floor(s * l) / l;
1127
+ else break;
1128
+ c = l;
1129
+ }
1130
+ return e;
1131
+ }, e;
1132
+ }
1133
+ function cr() {
1134
+ var e = rr();
1135
+ return e.copy = function() {
1136
+ return tr(e, cr());
1137
+ }, w.apply(e, arguments), M(e);
1138
+ }
1139
+ //#endregion
1140
+ //#region ../../node_modules/d3-scale/src/identity.js
1141
+ function lr(e) {
1142
+ var t;
1143
+ function n(e) {
1144
+ return e == null || isNaN(e = +e) ? t : e;
1145
+ }
1146
+ return n.invert = n, n.domain = n.range = function(t) {
1147
+ return arguments.length ? (e = Array.from(t, Yn), n) : e.slice();
1148
+ }, n.unknown = function(e) {
1149
+ return arguments.length ? (t = e, n) : t;
1150
+ }, n.copy = function() {
1151
+ return lr(e).unknown(t);
1152
+ }, e = arguments.length ? Array.from(e, Yn) : [0, 1], M(n);
1153
+ }
1154
+ //#endregion
1155
+ //#region ../../node_modules/d3-scale/src/nice.js
1156
+ function ur(e, t) {
1157
+ e = e.slice();
1158
+ var n = 0, r = e.length - 1, i = e[n], a = e[r], o;
1159
+ return a < i && (o = n, n = r, r = o, o = i, i = a, a = o), e[n] = t.floor(i), e[r] = t.ceil(a), e;
1160
+ }
1161
+ //#endregion
1162
+ //#region ../../node_modules/d3-scale/src/log.js
1163
+ function dr(e) {
1164
+ return Math.log(e);
1165
+ }
1166
+ function fr(e) {
1167
+ return Math.exp(e);
1168
+ }
1169
+ function pr(e) {
1170
+ return -Math.log(-e);
1171
+ }
1172
+ function mr(e) {
1173
+ return -Math.exp(-e);
1174
+ }
1175
+ function hr(e) {
1176
+ return isFinite(e) ? +("1e" + e) : e < 0 ? 0 : e;
1177
+ }
1178
+ function gr(e) {
1179
+ return e === 10 ? hr : e === Math.E ? Math.exp : (t) => e ** +t;
1180
+ }
1181
+ function _r(e) {
1182
+ return e === Math.E ? Math.log : e === 10 && Math.log10 || e === 2 && Math.log2 || (e = Math.log(e), (t) => Math.log(t) / e);
1183
+ }
1184
+ function vr(e) {
1185
+ return (t, n) => -e(-t, n);
1186
+ }
1187
+ function yr(e) {
1188
+ let t = e(dr, fr), r = t.domain, i = 10, o, s;
1189
+ function c() {
1190
+ return o = _r(i), s = gr(i), r()[0] < 0 ? (o = vr(o), s = vr(s), e(pr, mr)) : e(dr, fr), t;
1191
+ }
1192
+ return t.base = function(e) {
1193
+ return arguments.length ? (i = +e, c()) : i;
1194
+ }, t.domain = function(e) {
1195
+ return arguments.length ? (r(e), c()) : r();
1196
+ }, t.ticks = (e) => {
1197
+ let t = r(), n = t[0], a = t[t.length - 1], c = a < n;
1198
+ c && ([n, a] = [a, n]);
1199
+ let l = o(n), u = o(a), d, f, p = e == null ? 10 : +e, m = [];
1200
+ if (!(i % 1) && u - l < p) {
1201
+ if (l = Math.floor(l), u = Math.ceil(u), n > 0) {
1202
+ for (; l <= u; ++l) for (d = 1; d < i; ++d) if (f = l < 0 ? d / s(-l) : d * s(l), !(f < n)) {
1203
+ if (f > a) break;
1204
+ m.push(f);
1205
+ }
1206
+ } else for (; l <= u; ++l) for (d = i - 1; d >= 1; --d) if (f = l > 0 ? d / s(-l) : d * s(l), !(f < n)) {
1207
+ if (f > a) break;
1208
+ m.push(f);
1209
+ }
1210
+ m.length * 2 < p && (m = st(n, a, p));
1211
+ } else m = st(l, u, Math.min(u - l, p)).map(s);
1212
+ return c ? m.reverse() : m;
1213
+ }, t.tickFormat = (e, r) => {
1214
+ if (e ??= 10, r ??= i === 10 ? "s" : ",", typeof r != "function" && (!(i % 1) && (r = n(r)).precision == null && (r.trim = !0), r = a(r)), e === Infinity) return r;
1215
+ let c = Math.max(1, i * e / t.ticks().length);
1216
+ return (e) => {
1217
+ let t = e / s(Math.round(o(e)));
1218
+ return t * i < i - .5 && (t *= i), t <= c ? r(e) : "";
1219
+ };
1220
+ }, t.nice = () => r(ur(r(), {
1221
+ floor: (e) => s(Math.floor(o(e))),
1222
+ ceil: (e) => s(Math.ceil(o(e)))
1223
+ })), t;
1224
+ }
1225
+ function br() {
1226
+ let e = yr(nr()).domain([1, 10]);
1227
+ return e.copy = () => tr(e, br()).base(e.base()), w.apply(e, arguments), e;
1228
+ }
1229
+ //#endregion
1230
+ //#region ../../node_modules/d3-scale/src/symlog.js
1231
+ function xr(e) {
1232
+ return function(t) {
1233
+ return Math.sign(t) * Math.log1p(Math.abs(t / e));
1234
+ };
1235
+ }
1236
+ function Sr(e) {
1237
+ return function(t) {
1238
+ return Math.sign(t) * Math.expm1(Math.abs(t)) * e;
1239
+ };
1240
+ }
1241
+ function Cr(e) {
1242
+ var t = 1, n = e(xr(t), Sr(t));
1243
+ return n.constant = function(n) {
1244
+ return arguments.length ? e(xr(t = +n), Sr(t)) : t;
1245
+ }, M(n);
1246
+ }
1247
+ function wr() {
1248
+ var e = Cr(nr());
1249
+ return e.copy = function() {
1250
+ return tr(e, wr()).constant(e.constant());
1251
+ }, w.apply(e, arguments);
1252
+ }
1253
+ //#endregion
1254
+ //#region ../../node_modules/d3-scale/src/pow.js
1255
+ function Tr(e) {
1256
+ return function(t) {
1257
+ return t < 0 ? -((-t) ** +e) : t ** +e;
1258
+ };
1259
+ }
1260
+ function Er(e) {
1261
+ return e < 0 ? -Math.sqrt(-e) : Math.sqrt(e);
1262
+ }
1263
+ function Dr(e) {
1264
+ return e < 0 ? -e * e : e * e;
1265
+ }
1266
+ function Or(e) {
1267
+ var t = e(j, j), n = 1;
1268
+ function r() {
1269
+ return n === 1 ? e(j, j) : n === .5 ? e(Er, Dr) : e(Tr(n), Tr(1 / n));
1270
+ }
1271
+ return t.exponent = function(e) {
1272
+ return arguments.length ? (n = +e, r()) : n;
1273
+ }, M(t);
1274
+ }
1275
+ function kr() {
1276
+ var e = Or(nr());
1277
+ return e.copy = function() {
1278
+ return tr(e, kr()).exponent(e.exponent());
1279
+ }, w.apply(e, arguments), e;
1280
+ }
1281
+ function Ar() {
1282
+ return kr.apply(null, arguments).exponent(.5);
1283
+ }
1284
+ //#endregion
1285
+ //#region ../../node_modules/d3-scale/src/quantile.js
1286
+ function jr() {
1287
+ var e = [], t = [], n = [], r;
1288
+ function i() {
1289
+ var r = 0, i = Math.max(1, t.length);
1290
+ for (n = Array(i - 1); ++r < i;) n[r - 1] = ht(e, r / i);
1291
+ return a;
1292
+ }
1293
+ function a(e) {
1294
+ return e == null || isNaN(e = +e) ? r : t[C(n, e)];
1295
+ }
1296
+ return a.invertExtent = function(r) {
1297
+ var i = t.indexOf(r);
1298
+ return i < 0 ? [NaN, NaN] : [i > 0 ? n[i - 1] : e[0], i < n.length ? n[i] : e[e.length - 1]];
1299
+ }, a.domain = function(t) {
1300
+ if (!arguments.length) return e.slice();
1301
+ e = [];
1302
+ for (let n of t) n != null && !isNaN(n = +n) && e.push(n);
1303
+ return e.sort(S), i();
1304
+ }, a.range = function(e) {
1305
+ return arguments.length ? (t = Array.from(e), i()) : t.slice();
1306
+ }, a.unknown = function(e) {
1307
+ return arguments.length ? (r = e, a) : r;
1308
+ }, a.quantiles = function() {
1309
+ return n.slice();
1310
+ }, a.copy = function() {
1311
+ return jr().domain(e).range(t).unknown(r);
1312
+ }, w.apply(a, arguments);
1313
+ }
1314
+ //#endregion
1315
+ //#region ../../node_modules/d3-scale/src/quantize.js
1316
+ function Mr() {
1317
+ var e = 0, t = 1, n = 1, r = [.5], i = [0, 1], a;
1318
+ function o(e) {
1319
+ return e != null && e <= e ? i[C(r, e, 0, n)] : a;
1320
+ }
1321
+ function s() {
1322
+ var i = -1;
1323
+ for (r = Array(n); ++i < n;) r[i] = ((i + 1) * t - (i - n) * e) / (n + 1);
1324
+ return o;
1325
+ }
1326
+ return o.domain = function(n) {
1327
+ return arguments.length ? ([e, t] = n, e = +e, t = +t, s()) : [e, t];
1328
+ }, o.range = function(e) {
1329
+ return arguments.length ? (n = (i = Array.from(e)).length - 1, s()) : i.slice();
1330
+ }, o.invertExtent = function(a) {
1331
+ var o = i.indexOf(a);
1332
+ return o < 0 ? [NaN, NaN] : o < 1 ? [e, r[0]] : o >= n ? [r[n - 1], t] : [r[o - 1], r[o]];
1333
+ }, o.unknown = function(e) {
1334
+ return arguments.length && (a = e), o;
1335
+ }, o.thresholds = function() {
1336
+ return r.slice();
1337
+ }, o.copy = function() {
1338
+ return Mr().domain([e, t]).range(i).unknown(a);
1339
+ }, w.apply(M(o), arguments);
1340
+ }
1341
+ //#endregion
1342
+ //#region ../../node_modules/d3-scale/src/threshold.js
1343
+ function Nr() {
1344
+ var e = [.5], t = [0, 1], n, r = 1;
1345
+ function i(i) {
1346
+ return i != null && i <= i ? t[C(e, i, 0, r)] : n;
1347
+ }
1348
+ return i.domain = function(n) {
1349
+ return arguments.length ? (e = Array.from(n), r = Math.min(e.length, t.length - 1), i) : e.slice();
1350
+ }, i.range = function(n) {
1351
+ return arguments.length ? (t = Array.from(n), r = Math.min(e.length, t.length - 1), i) : t.slice();
1352
+ }, i.invertExtent = function(n) {
1353
+ var r = t.indexOf(n);
1354
+ return [e[r - 1], e[r]];
1355
+ }, i.unknown = function(e) {
1356
+ return arguments.length ? (n = e, i) : n;
1357
+ }, i.copy = function() {
1358
+ return Nr().domain(e).range(t).unknown(n);
1359
+ }, w.apply(i, arguments);
1360
+ }
1361
+ //#endregion
1362
+ //#region ../../node_modules/d3-time/src/interval.js
1363
+ var Pr = /* @__PURE__ */ new Date(), Fr = /* @__PURE__ */ new Date();
1364
+ function N(e, t, n, r) {
1365
+ function i(t) {
1366
+ return e(t = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+t)), t;
1367
+ }
1368
+ return i.floor = (t) => (e(t = /* @__PURE__ */ new Date(+t)), t), i.ceil = (n) => (e(n = /* @__PURE__ */ new Date(n - 1)), t(n, 1), e(n), n), i.round = (e) => {
1369
+ let t = i(e), n = i.ceil(e);
1370
+ return e - t < n - e ? t : n;
1371
+ }, i.offset = (e, n) => (t(e = /* @__PURE__ */ new Date(+e), n == null ? 1 : Math.floor(n)), e), i.range = (n, r, a) => {
1372
+ let o = [];
1373
+ if (n = i.ceil(n), a = a == null ? 1 : Math.floor(a), !(n < r) || !(a > 0)) return o;
1374
+ let s;
1375
+ do
1376
+ o.push(s = /* @__PURE__ */ new Date(+n)), t(n, a), e(n);
1377
+ while (s < n && n < r);
1378
+ return o;
1379
+ }, i.filter = (n) => N((t) => {
1380
+ if (t >= t) for (; e(t), !n(t);) t.setTime(t - 1);
1381
+ }, (e, r) => {
1382
+ if (e >= e) if (r < 0) for (; ++r <= 0;) for (; t(e, -1), !n(e););
1383
+ else for (; --r >= 0;) for (; t(e, 1), !n(e););
1384
+ }), n && (i.count = (t, r) => (Pr.setTime(+t), Fr.setTime(+r), e(Pr), e(Fr), Math.floor(n(Pr, Fr))), i.every = (e) => (e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? i.filter(r ? (t) => r(t) % e === 0 : (t) => i.count(0, t) % e === 0) : i)), i;
1385
+ }
1386
+ //#endregion
1387
+ //#region ../../node_modules/d3-time/src/millisecond.js
1388
+ var Ir = N(() => {}, (e, t) => {
1389
+ e.setTime(+e + t);
1390
+ }, (e, t) => t - e);
1391
+ Ir.every = (e) => (e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? N((t) => {
1392
+ t.setTime(Math.floor(t / e) * e);
1393
+ }, (t, n) => {
1394
+ t.setTime(+t + n * e);
1395
+ }, (t, n) => (n - t) / e) : Ir), Ir.range;
1396
+ //#endregion
1397
+ //#region ../../node_modules/d3-time/src/duration.js
1398
+ var P = 1e3, F = P * 60, I = F * 60, L = I * 24, Lr = L * 7, Rr = L * 30, zr = L * 365, R = N((e) => {
1399
+ e.setTime(e - e.getMilliseconds());
1400
+ }, (e, t) => {
1401
+ e.setTime(+e + t * P);
1402
+ }, (e, t) => (t - e) / P, (e) => e.getUTCSeconds());
1403
+ R.range;
1404
+ //#endregion
1405
+ //#region ../../node_modules/d3-time/src/minute.js
1406
+ var Br = N((e) => {
1407
+ e.setTime(e - e.getMilliseconds() - e.getSeconds() * P);
1408
+ }, (e, t) => {
1409
+ e.setTime(+e + t * F);
1410
+ }, (e, t) => (t - e) / F, (e) => e.getMinutes());
1411
+ Br.range;
1412
+ var Vr = N((e) => {
1413
+ e.setUTCSeconds(0, 0);
1414
+ }, (e, t) => {
1415
+ e.setTime(+e + t * F);
1416
+ }, (e, t) => (t - e) / F, (e) => e.getUTCMinutes());
1417
+ Vr.range;
1418
+ //#endregion
1419
+ //#region ../../node_modules/d3-time/src/hour.js
1420
+ var Hr = N((e) => {
1421
+ e.setTime(e - e.getMilliseconds() - e.getSeconds() * P - e.getMinutes() * F);
1422
+ }, (e, t) => {
1423
+ e.setTime(+e + t * I);
1424
+ }, (e, t) => (t - e) / I, (e) => e.getHours());
1425
+ Hr.range;
1426
+ var Ur = N((e) => {
1427
+ e.setUTCMinutes(0, 0, 0);
1428
+ }, (e, t) => {
1429
+ e.setTime(+e + t * I);
1430
+ }, (e, t) => (t - e) / I, (e) => e.getUTCHours());
1431
+ Ur.range;
1432
+ //#endregion
1433
+ //#region ../../node_modules/d3-time/src/day.js
1434
+ var z = N((e) => e.setHours(0, 0, 0, 0), (e, t) => e.setDate(e.getDate() + t), (e, t) => (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * F) / L, (e) => e.getDate() - 1);
1435
+ z.range;
1436
+ var B = N((e) => {
1437
+ e.setUTCHours(0, 0, 0, 0);
1438
+ }, (e, t) => {
1439
+ e.setUTCDate(e.getUTCDate() + t);
1440
+ }, (e, t) => (t - e) / L, (e) => e.getUTCDate() - 1);
1441
+ B.range;
1442
+ var Wr = N((e) => {
1443
+ e.setUTCHours(0, 0, 0, 0);
1444
+ }, (e, t) => {
1445
+ e.setUTCDate(e.getUTCDate() + t);
1446
+ }, (e, t) => (t - e) / L, (e) => Math.floor(e / L));
1447
+ Wr.range;
1448
+ //#endregion
1449
+ //#region ../../node_modules/d3-time/src/week.js
1450
+ function V(e) {
1451
+ return N((t) => {
1452
+ t.setDate(t.getDate() - (t.getDay() + 7 - e) % 7), t.setHours(0, 0, 0, 0);
1453
+ }, (e, t) => {
1454
+ e.setDate(e.getDate() + t * 7);
1455
+ }, (e, t) => (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * F) / Lr);
1456
+ }
1457
+ var Gr = V(0), Kr = V(1), qr = V(2), Jr = V(3), Yr = V(4), Xr = V(5), Zr = V(6);
1458
+ Gr.range, Kr.range, qr.range, Jr.range, Yr.range, Xr.range, Zr.range;
1459
+ function H(e) {
1460
+ return N((t) => {
1461
+ t.setUTCDate(t.getUTCDate() - (t.getUTCDay() + 7 - e) % 7), t.setUTCHours(0, 0, 0, 0);
1462
+ }, (e, t) => {
1463
+ e.setUTCDate(e.getUTCDate() + t * 7);
1464
+ }, (e, t) => (t - e) / Lr);
1465
+ }
1466
+ var Qr = H(0), $r = H(1), ei = H(2), ti = H(3), ni = H(4), ri = H(5), ii = H(6);
1467
+ Qr.range, $r.range, ei.range, ti.range, ni.range, ri.range, ii.range;
1468
+ //#endregion
1469
+ //#region ../../node_modules/d3-time/src/month.js
1470
+ var ai = N((e) => {
1471
+ e.setDate(1), e.setHours(0, 0, 0, 0);
1472
+ }, (e, t) => {
1473
+ e.setMonth(e.getMonth() + t);
1474
+ }, (e, t) => t.getMonth() - e.getMonth() + (t.getFullYear() - e.getFullYear()) * 12, (e) => e.getMonth());
1475
+ ai.range;
1476
+ var oi = N((e) => {
1477
+ e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0);
1478
+ }, (e, t) => {
1479
+ e.setUTCMonth(e.getUTCMonth() + t);
1480
+ }, (e, t) => t.getUTCMonth() - e.getUTCMonth() + (t.getUTCFullYear() - e.getUTCFullYear()) * 12, (e) => e.getUTCMonth());
1481
+ oi.range;
1482
+ //#endregion
1483
+ //#region ../../node_modules/d3-time/src/year.js
1484
+ var U = N((e) => {
1485
+ e.setMonth(0, 1), e.setHours(0, 0, 0, 0);
1486
+ }, (e, t) => {
1487
+ e.setFullYear(e.getFullYear() + t);
1488
+ }, (e, t) => t.getFullYear() - e.getFullYear(), (e) => e.getFullYear());
1489
+ U.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : N((t) => {
1490
+ t.setFullYear(Math.floor(t.getFullYear() / e) * e), t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
1491
+ }, (t, n) => {
1492
+ t.setFullYear(t.getFullYear() + n * e);
1493
+ }), U.range;
1494
+ var W = N((e) => {
1495
+ e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);
1496
+ }, (e, t) => {
1497
+ e.setUTCFullYear(e.getUTCFullYear() + t);
1498
+ }, (e, t) => t.getUTCFullYear() - e.getUTCFullYear(), (e) => e.getUTCFullYear());
1499
+ W.every = (e) => !isFinite(e = Math.floor(e)) || !(e > 0) ? null : N((t) => {
1500
+ t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
1501
+ }, (t, n) => {
1502
+ t.setUTCFullYear(t.getUTCFullYear() + n * e);
1503
+ }), W.range;
1504
+ //#endregion
1505
+ //#region ../../node_modules/d3-time/src/ticks.js
1506
+ function si(e, t, n, r, i, a) {
1507
+ let o = [
1508
+ [
1509
+ R,
1510
+ 1,
1511
+ P
1512
+ ],
1513
+ [
1514
+ R,
1515
+ 5,
1516
+ 5 * P
1517
+ ],
1518
+ [
1519
+ R,
1520
+ 15,
1521
+ 15 * P
1522
+ ],
1523
+ [
1524
+ R,
1525
+ 30,
1526
+ 30 * P
1527
+ ],
1528
+ [
1529
+ a,
1530
+ 1,
1531
+ F
1532
+ ],
1533
+ [
1534
+ a,
1535
+ 5,
1536
+ 5 * F
1537
+ ],
1538
+ [
1539
+ a,
1540
+ 15,
1541
+ 15 * F
1542
+ ],
1543
+ [
1544
+ a,
1545
+ 30,
1546
+ 30 * F
1547
+ ],
1548
+ [
1549
+ i,
1550
+ 1,
1551
+ I
1552
+ ],
1553
+ [
1554
+ i,
1555
+ 3,
1556
+ 3 * I
1557
+ ],
1558
+ [
1559
+ i,
1560
+ 6,
1561
+ 6 * I
1562
+ ],
1563
+ [
1564
+ i,
1565
+ 12,
1566
+ 12 * I
1567
+ ],
1568
+ [
1569
+ r,
1570
+ 1,
1571
+ L
1572
+ ],
1573
+ [
1574
+ r,
1575
+ 2,
1576
+ 2 * L
1577
+ ],
1578
+ [
1579
+ n,
1580
+ 1,
1581
+ Lr
1582
+ ],
1583
+ [
1584
+ t,
1585
+ 1,
1586
+ Rr
1587
+ ],
1588
+ [
1589
+ t,
1590
+ 3,
1591
+ 3 * Rr
1592
+ ],
1593
+ [
1594
+ e,
1595
+ 1,
1596
+ zr
1597
+ ]
1598
+ ];
1599
+ function s(e, t, n) {
1600
+ let r = t < e;
1601
+ r && ([e, t] = [t, e]);
1602
+ let i = n && typeof n.range == "function" ? n : c(e, t, n), a = i ? i.range(e, +t + 1) : [];
1603
+ return r ? a.reverse() : a;
1604
+ }
1605
+ function c(t, n, r) {
1606
+ let i = Math.abs(n - t) / r, a = qe(([, , e]) => e).right(o, i);
1607
+ if (a === o.length) return e.every(lt(t / zr, n / zr, r));
1608
+ if (a === 0) return Ir.every(Math.max(lt(t, n, r), 1));
1609
+ let [s, c] = o[i / o[a - 1][2] < o[a][2] / i ? a - 1 : a];
1610
+ return s.every(c);
1611
+ }
1612
+ return [s, c];
1613
+ }
1614
+ var [ci, li] = si(W, oi, Qr, Wr, Ur, Vr), [ui, di] = si(U, ai, Gr, z, Hr, Br);
1615
+ //#endregion
1616
+ //#region ../../node_modules/d3-time-format/src/locale.js
1617
+ function fi(e) {
1618
+ if (0 <= e.y && e.y < 100) {
1619
+ var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L);
1620
+ return t.setFullYear(e.y), t;
1621
+ }
1622
+ return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L);
1623
+ }
1624
+ function pi(e) {
1625
+ if (0 <= e.y && e.y < 100) {
1626
+ var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L));
1627
+ return t.setUTCFullYear(e.y), t;
1628
+ }
1629
+ return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L));
1630
+ }
1631
+ function mi(e, t, n) {
1632
+ return {
1633
+ y: e,
1634
+ m: t,
1635
+ d: n,
1636
+ H: 0,
1637
+ M: 0,
1638
+ S: 0,
1639
+ L: 0
1640
+ };
1641
+ }
1642
+ function hi(e) {
1643
+ var t = e.dateTime, n = e.date, r = e.time, i = e.periods, a = e.days, o = e.shortDays, s = e.months, c = e.shortMonths, l = bi(i), u = xi(i), d = bi(a), f = xi(a), p = bi(o), m = xi(o), h = bi(s), g = xi(s), ee = bi(c), te = xi(c), _ = {
1644
+ a: pe,
1645
+ A: me,
1646
+ b: he,
1647
+ B: ge,
1648
+ c: null,
1649
+ d: Hi,
1650
+ e: Hi,
1651
+ f: qi,
1652
+ g: ia,
1653
+ G: oa,
1654
+ H: Ui,
1655
+ I: Wi,
1656
+ j: Gi,
1657
+ L: Ki,
1658
+ m: Ji,
1659
+ M: Yi,
1660
+ p: _e,
1661
+ q: ve,
1662
+ Q: ka,
1663
+ s: Aa,
1664
+ S: Xi,
1665
+ u: Zi,
1666
+ U: Qi,
1667
+ V: ea,
1668
+ w: ta,
1669
+ W: na,
1670
+ x: null,
1671
+ X: null,
1672
+ y: ra,
1673
+ Y: aa,
1674
+ Z: sa,
1675
+ "%": Oa
1676
+ }, v = {
1677
+ a: ye,
1678
+ A: be,
1679
+ b: xe,
1680
+ B: Se,
1681
+ c: null,
1682
+ d: ca,
1683
+ e: ca,
1684
+ f: pa,
1685
+ g: wa,
1686
+ G: Ea,
1687
+ H: la,
1688
+ I: ua,
1689
+ j: da,
1690
+ L: fa,
1691
+ m: ma,
1692
+ M: ha,
1693
+ p: Ce,
1694
+ q: we,
1695
+ Q: ka,
1696
+ s: Aa,
1697
+ S: ga,
1698
+ u: _a,
1699
+ U: va,
1700
+ V: ba,
1701
+ w: xa,
1702
+ W: Sa,
1703
+ x: null,
1704
+ X: null,
1705
+ y: Ca,
1706
+ Y: Ta,
1707
+ Z: Da,
1708
+ "%": Oa
1709
+ }, ne = {
1710
+ a: oe,
1711
+ A: se,
1712
+ b: ce,
1713
+ B: le,
1714
+ c: ue,
1715
+ d: Mi,
1716
+ e: Mi,
1717
+ f: Ri,
1718
+ g: Oi,
1719
+ G: Di,
1720
+ H: Pi,
1721
+ I: Pi,
1722
+ j: Ni,
1723
+ L: Li,
1724
+ m: ji,
1725
+ M: Fi,
1726
+ p: ae,
1727
+ q: Ai,
1728
+ Q: Bi,
1729
+ s: Vi,
1730
+ S: Ii,
1731
+ u: Ci,
1732
+ U: wi,
1733
+ V: Ti,
1734
+ w: Si,
1735
+ W: Ei,
1736
+ x: de,
1737
+ X: fe,
1738
+ y: Oi,
1739
+ Y: Di,
1740
+ Z: ki,
1741
+ "%": zi
1742
+ };
1743
+ _.x = y(n, _), _.X = y(r, _), _.c = y(t, _), v.x = y(n, v), v.X = y(r, v), v.c = y(t, v);
1744
+ function y(e, t) {
1745
+ return function(n) {
1746
+ var r = [], i = -1, a = 0, o = e.length, s, c, l;
1747
+ for (n instanceof Date || (n = /* @__PURE__ */ new Date(+n)); ++i < o;) e.charCodeAt(i) === 37 && (r.push(e.slice(a, i)), (c = gi[s = e.charAt(++i)]) == null ? c = s === "e" ? " " : "0" : s = e.charAt(++i), (l = t[s]) && (s = l(n, c)), r.push(s), a = i + 1);
1748
+ return r.push(e.slice(a, i)), r.join("");
1749
+ };
1750
+ }
1751
+ function re(e, t) {
1752
+ return function(n) {
1753
+ var r = mi(1900, void 0, 1), i = ie(r, e, n += "", 0), a, o;
1754
+ if (i != n.length) return null;
1755
+ if ("Q" in r) return new Date(r.Q);
1756
+ if ("s" in r) return new Date(r.s * 1e3 + ("L" in r ? r.L : 0));
1757
+ if (t && !("Z" in r) && (r.Z = 0), "p" in r && (r.H = r.H % 12 + r.p * 12), r.m === void 0 && (r.m = "q" in r ? r.q : 0), "V" in r) {
1758
+ if (r.V < 1 || r.V > 53) return null;
1759
+ "w" in r || (r.w = 1), "Z" in r ? (a = pi(mi(r.y, 0, 1)), o = a.getUTCDay(), a = o > 4 || o === 0 ? $r.ceil(a) : $r(a), a = B.offset(a, (r.V - 1) * 7), r.y = a.getUTCFullYear(), r.m = a.getUTCMonth(), r.d = a.getUTCDate() + (r.w + 6) % 7) : (a = fi(mi(r.y, 0, 1)), o = a.getDay(), a = o > 4 || o === 0 ? Kr.ceil(a) : Kr(a), a = z.offset(a, (r.V - 1) * 7), r.y = a.getFullYear(), r.m = a.getMonth(), r.d = a.getDate() + (r.w + 6) % 7);
1760
+ } else ("W" in r || "U" in r) && ("w" in r || (r.w = "u" in r ? r.u % 7 : +("W" in r)), o = "Z" in r ? pi(mi(r.y, 0, 1)).getUTCDay() : fi(mi(r.y, 0, 1)).getDay(), r.m = 0, r.d = "W" in r ? (r.w + 6) % 7 + r.W * 7 - (o + 5) % 7 : r.w + r.U * 7 - (o + 6) % 7);
1761
+ return "Z" in r ? (r.H += r.Z / 100 | 0, r.M += r.Z % 100, pi(r)) : fi(r);
1762
+ };
1763
+ }
1764
+ function ie(e, t, n, r) {
1765
+ for (var i = 0, a = t.length, o = n.length, s, c; i < a;) {
1766
+ if (r >= o) return -1;
1767
+ if (s = t.charCodeAt(i++), s === 37) {
1768
+ if (s = t.charAt(i++), c = ne[s in gi ? t.charAt(i++) : s], !c || (r = c(e, n, r)) < 0) return -1;
1769
+ } else if (s != n.charCodeAt(r++)) return -1;
1770
+ }
1771
+ return r;
1772
+ }
1773
+ function ae(e, t, n) {
1774
+ var r = l.exec(t.slice(n));
1775
+ return r ? (e.p = u.get(r[0].toLowerCase()), n + r[0].length) : -1;
1776
+ }
1777
+ function oe(e, t, n) {
1778
+ var r = p.exec(t.slice(n));
1779
+ return r ? (e.w = m.get(r[0].toLowerCase()), n + r[0].length) : -1;
1780
+ }
1781
+ function se(e, t, n) {
1782
+ var r = d.exec(t.slice(n));
1783
+ return r ? (e.w = f.get(r[0].toLowerCase()), n + r[0].length) : -1;
1784
+ }
1785
+ function ce(e, t, n) {
1786
+ var r = ee.exec(t.slice(n));
1787
+ return r ? (e.m = te.get(r[0].toLowerCase()), n + r[0].length) : -1;
1788
+ }
1789
+ function le(e, t, n) {
1790
+ var r = h.exec(t.slice(n));
1791
+ return r ? (e.m = g.get(r[0].toLowerCase()), n + r[0].length) : -1;
1792
+ }
1793
+ function ue(e, n, r) {
1794
+ return ie(e, t, n, r);
1795
+ }
1796
+ function de(e, t, r) {
1797
+ return ie(e, n, t, r);
1798
+ }
1799
+ function fe(e, t, n) {
1800
+ return ie(e, r, t, n);
1801
+ }
1802
+ function pe(e) {
1803
+ return o[e.getDay()];
1804
+ }
1805
+ function me(e) {
1806
+ return a[e.getDay()];
1807
+ }
1808
+ function he(e) {
1809
+ return c[e.getMonth()];
1810
+ }
1811
+ function ge(e) {
1812
+ return s[e.getMonth()];
1813
+ }
1814
+ function _e(e) {
1815
+ return i[+(e.getHours() >= 12)];
1816
+ }
1817
+ function ve(e) {
1818
+ return 1 + ~~(e.getMonth() / 3);
1819
+ }
1820
+ function ye(e) {
1821
+ return o[e.getUTCDay()];
1822
+ }
1823
+ function be(e) {
1824
+ return a[e.getUTCDay()];
1825
+ }
1826
+ function xe(e) {
1827
+ return c[e.getUTCMonth()];
1828
+ }
1829
+ function Se(e) {
1830
+ return s[e.getUTCMonth()];
1831
+ }
1832
+ function Ce(e) {
1833
+ return i[+(e.getUTCHours() >= 12)];
1834
+ }
1835
+ function we(e) {
1836
+ return 1 + ~~(e.getUTCMonth() / 3);
1837
+ }
1838
+ return {
1839
+ format: function(e) {
1840
+ var t = y(e += "", _);
1841
+ return t.toString = function() {
1842
+ return e;
1843
+ }, t;
1844
+ },
1845
+ parse: function(e) {
1846
+ var t = re(e += "", !1);
1847
+ return t.toString = function() {
1848
+ return e;
1849
+ }, t;
1850
+ },
1851
+ utcFormat: function(e) {
1852
+ var t = y(e += "", v);
1853
+ return t.toString = function() {
1854
+ return e;
1855
+ }, t;
1856
+ },
1857
+ utcParse: function(e) {
1858
+ var t = re(e += "", !0);
1859
+ return t.toString = function() {
1860
+ return e;
1861
+ }, t;
1862
+ }
1863
+ };
1864
+ }
1865
+ var gi = {
1866
+ "-": "",
1867
+ _: " ",
1868
+ 0: "0"
1869
+ }, G = /^\s*\d+/, _i = /^%/, vi = /[\\^$*+?|[\]().{}]/g;
1870
+ function K(e, t, n) {
1871
+ var r = e < 0 ? "-" : "", i = (r ? -e : e) + "", a = i.length;
1872
+ return r + (a < n ? Array(n - a + 1).join(t) + i : i);
1873
+ }
1874
+ function yi(e) {
1875
+ return e.replace(vi, "\\$&");
1876
+ }
1877
+ function bi(e) {
1878
+ return RegExp("^(?:" + e.map(yi).join("|") + ")", "i");
1879
+ }
1880
+ function xi(e) {
1881
+ return new Map(e.map((e, t) => [e.toLowerCase(), t]));
1882
+ }
1883
+ function Si(e, t, n) {
1884
+ var r = G.exec(t.slice(n, n + 1));
1885
+ return r ? (e.w = +r[0], n + r[0].length) : -1;
1886
+ }
1887
+ function Ci(e, t, n) {
1888
+ var r = G.exec(t.slice(n, n + 1));
1889
+ return r ? (e.u = +r[0], n + r[0].length) : -1;
1890
+ }
1891
+ function wi(e, t, n) {
1892
+ var r = G.exec(t.slice(n, n + 2));
1893
+ return r ? (e.U = +r[0], n + r[0].length) : -1;
1894
+ }
1895
+ function Ti(e, t, n) {
1896
+ var r = G.exec(t.slice(n, n + 2));
1897
+ return r ? (e.V = +r[0], n + r[0].length) : -1;
1898
+ }
1899
+ function Ei(e, t, n) {
1900
+ var r = G.exec(t.slice(n, n + 2));
1901
+ return r ? (e.W = +r[0], n + r[0].length) : -1;
1902
+ }
1903
+ function Di(e, t, n) {
1904
+ var r = G.exec(t.slice(n, n + 4));
1905
+ return r ? (e.y = +r[0], n + r[0].length) : -1;
1906
+ }
1907
+ function Oi(e, t, n) {
1908
+ var r = G.exec(t.slice(n, n + 2));
1909
+ return r ? (e.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3), n + r[0].length) : -1;
1910
+ }
1911
+ function ki(e, t, n) {
1912
+ var r = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n, n + 6));
1913
+ return r ? (e.Z = r[1] ? 0 : -(r[2] + (r[3] || "00")), n + r[0].length) : -1;
1914
+ }
1915
+ function Ai(e, t, n) {
1916
+ var r = G.exec(t.slice(n, n + 1));
1917
+ return r ? (e.q = r[0] * 3 - 3, n + r[0].length) : -1;
1918
+ }
1919
+ function ji(e, t, n) {
1920
+ var r = G.exec(t.slice(n, n + 2));
1921
+ return r ? (e.m = r[0] - 1, n + r[0].length) : -1;
1922
+ }
1923
+ function Mi(e, t, n) {
1924
+ var r = G.exec(t.slice(n, n + 2));
1925
+ return r ? (e.d = +r[0], n + r[0].length) : -1;
1926
+ }
1927
+ function Ni(e, t, n) {
1928
+ var r = G.exec(t.slice(n, n + 3));
1929
+ return r ? (e.m = 0, e.d = +r[0], n + r[0].length) : -1;
1930
+ }
1931
+ function Pi(e, t, n) {
1932
+ var r = G.exec(t.slice(n, n + 2));
1933
+ return r ? (e.H = +r[0], n + r[0].length) : -1;
1934
+ }
1935
+ function Fi(e, t, n) {
1936
+ var r = G.exec(t.slice(n, n + 2));
1937
+ return r ? (e.M = +r[0], n + r[0].length) : -1;
1938
+ }
1939
+ function Ii(e, t, n) {
1940
+ var r = G.exec(t.slice(n, n + 2));
1941
+ return r ? (e.S = +r[0], n + r[0].length) : -1;
1942
+ }
1943
+ function Li(e, t, n) {
1944
+ var r = G.exec(t.slice(n, n + 3));
1945
+ return r ? (e.L = +r[0], n + r[0].length) : -1;
1946
+ }
1947
+ function Ri(e, t, n) {
1948
+ var r = G.exec(t.slice(n, n + 6));
1949
+ return r ? (e.L = Math.floor(r[0] / 1e3), n + r[0].length) : -1;
1950
+ }
1951
+ function zi(e, t, n) {
1952
+ var r = _i.exec(t.slice(n, n + 1));
1953
+ return r ? n + r[0].length : -1;
1954
+ }
1955
+ function Bi(e, t, n) {
1956
+ var r = G.exec(t.slice(n));
1957
+ return r ? (e.Q = +r[0], n + r[0].length) : -1;
1958
+ }
1959
+ function Vi(e, t, n) {
1960
+ var r = G.exec(t.slice(n));
1961
+ return r ? (e.s = +r[0], n + r[0].length) : -1;
1962
+ }
1963
+ function Hi(e, t) {
1964
+ return K(e.getDate(), t, 2);
1965
+ }
1966
+ function Ui(e, t) {
1967
+ return K(e.getHours(), t, 2);
1968
+ }
1969
+ function Wi(e, t) {
1970
+ return K(e.getHours() % 12 || 12, t, 2);
1971
+ }
1972
+ function Gi(e, t) {
1973
+ return K(1 + z.count(U(e), e), t, 3);
1974
+ }
1975
+ function Ki(e, t) {
1976
+ return K(e.getMilliseconds(), t, 3);
1977
+ }
1978
+ function qi(e, t) {
1979
+ return Ki(e, t) + "000";
1980
+ }
1981
+ function Ji(e, t) {
1982
+ return K(e.getMonth() + 1, t, 2);
1983
+ }
1984
+ function Yi(e, t) {
1985
+ return K(e.getMinutes(), t, 2);
1986
+ }
1987
+ function Xi(e, t) {
1988
+ return K(e.getSeconds(), t, 2);
1989
+ }
1990
+ function Zi(e) {
1991
+ var t = e.getDay();
1992
+ return t === 0 ? 7 : t;
1993
+ }
1994
+ function Qi(e, t) {
1995
+ return K(Gr.count(U(e) - 1, e), t, 2);
1996
+ }
1997
+ function $i(e) {
1998
+ var t = e.getDay();
1999
+ return t >= 4 || t === 0 ? Yr(e) : Yr.ceil(e);
2000
+ }
2001
+ function ea(e, t) {
2002
+ return e = $i(e), K(Yr.count(U(e), e) + (U(e).getDay() === 4), t, 2);
2003
+ }
2004
+ function ta(e) {
2005
+ return e.getDay();
2006
+ }
2007
+ function na(e, t) {
2008
+ return K(Kr.count(U(e) - 1, e), t, 2);
2009
+ }
2010
+ function ra(e, t) {
2011
+ return K(e.getFullYear() % 100, t, 2);
2012
+ }
2013
+ function ia(e, t) {
2014
+ return e = $i(e), K(e.getFullYear() % 100, t, 2);
2015
+ }
2016
+ function aa(e, t) {
2017
+ return K(e.getFullYear() % 1e4, t, 4);
2018
+ }
2019
+ function oa(e, t) {
2020
+ var n = e.getDay();
2021
+ return e = n >= 4 || n === 0 ? Yr(e) : Yr.ceil(e), K(e.getFullYear() % 1e4, t, 4);
2022
+ }
2023
+ function sa(e) {
2024
+ var t = e.getTimezoneOffset();
2025
+ return (t > 0 ? "-" : (t *= -1, "+")) + K(t / 60 | 0, "0", 2) + K(t % 60, "0", 2);
2026
+ }
2027
+ function ca(e, t) {
2028
+ return K(e.getUTCDate(), t, 2);
2029
+ }
2030
+ function la(e, t) {
2031
+ return K(e.getUTCHours(), t, 2);
2032
+ }
2033
+ function ua(e, t) {
2034
+ return K(e.getUTCHours() % 12 || 12, t, 2);
2035
+ }
2036
+ function da(e, t) {
2037
+ return K(1 + B.count(W(e), e), t, 3);
2038
+ }
2039
+ function fa(e, t) {
2040
+ return K(e.getUTCMilliseconds(), t, 3);
2041
+ }
2042
+ function pa(e, t) {
2043
+ return fa(e, t) + "000";
2044
+ }
2045
+ function ma(e, t) {
2046
+ return K(e.getUTCMonth() + 1, t, 2);
2047
+ }
2048
+ function ha(e, t) {
2049
+ return K(e.getUTCMinutes(), t, 2);
2050
+ }
2051
+ function ga(e, t) {
2052
+ return K(e.getUTCSeconds(), t, 2);
2053
+ }
2054
+ function _a(e) {
2055
+ var t = e.getUTCDay();
2056
+ return t === 0 ? 7 : t;
2057
+ }
2058
+ function va(e, t) {
2059
+ return K(Qr.count(W(e) - 1, e), t, 2);
2060
+ }
2061
+ function ya(e) {
2062
+ var t = e.getUTCDay();
2063
+ return t >= 4 || t === 0 ? ni(e) : ni.ceil(e);
2064
+ }
2065
+ function ba(e, t) {
2066
+ return e = ya(e), K(ni.count(W(e), e) + (W(e).getUTCDay() === 4), t, 2);
2067
+ }
2068
+ function xa(e) {
2069
+ return e.getUTCDay();
2070
+ }
2071
+ function Sa(e, t) {
2072
+ return K($r.count(W(e) - 1, e), t, 2);
2073
+ }
2074
+ function Ca(e, t) {
2075
+ return K(e.getUTCFullYear() % 100, t, 2);
2076
+ }
2077
+ function wa(e, t) {
2078
+ return e = ya(e), K(e.getUTCFullYear() % 100, t, 2);
2079
+ }
2080
+ function Ta(e, t) {
2081
+ return K(e.getUTCFullYear() % 1e4, t, 4);
2082
+ }
2083
+ function Ea(e, t) {
2084
+ var n = e.getUTCDay();
2085
+ return e = n >= 4 || n === 0 ? ni(e) : ni.ceil(e), K(e.getUTCFullYear() % 1e4, t, 4);
2086
+ }
2087
+ function Da() {
2088
+ return "+0000";
2089
+ }
2090
+ function Oa() {
2091
+ return "%";
2092
+ }
2093
+ function ka(e) {
2094
+ return +e;
2095
+ }
2096
+ function Aa(e) {
2097
+ return Math.floor(e / 1e3);
2098
+ }
2099
+ //#endregion
2100
+ //#region ../../node_modules/d3-time-format/src/defaultLocale.js
2101
+ var ja, Ma, Na, Pa, Fa;
2102
+ Ia({
2103
+ dateTime: "%x, %X",
2104
+ date: "%-m/%-d/%Y",
2105
+ time: "%-I:%M:%S %p",
2106
+ periods: ["AM", "PM"],
2107
+ days: [
2108
+ "Sunday",
2109
+ "Monday",
2110
+ "Tuesday",
2111
+ "Wednesday",
2112
+ "Thursday",
2113
+ "Friday",
2114
+ "Saturday"
2115
+ ],
2116
+ shortDays: [
2117
+ "Sun",
2118
+ "Mon",
2119
+ "Tue",
2120
+ "Wed",
2121
+ "Thu",
2122
+ "Fri",
2123
+ "Sat"
2124
+ ],
2125
+ months: [
2126
+ "January",
2127
+ "February",
2128
+ "March",
2129
+ "April",
2130
+ "May",
2131
+ "June",
2132
+ "July",
2133
+ "August",
2134
+ "September",
2135
+ "October",
2136
+ "November",
2137
+ "December"
2138
+ ],
2139
+ shortMonths: [
2140
+ "Jan",
2141
+ "Feb",
2142
+ "Mar",
2143
+ "Apr",
2144
+ "May",
2145
+ "Jun",
2146
+ "Jul",
2147
+ "Aug",
2148
+ "Sep",
2149
+ "Oct",
2150
+ "Nov",
2151
+ "Dec"
2152
+ ]
2153
+ });
2154
+ function Ia(e) {
2155
+ return ja = hi(e), Ma = ja.format, Na = ja.parse, Pa = ja.utcFormat, Fa = ja.utcParse, ja;
2156
+ }
2157
+ //#endregion
2158
+ //#region ../../node_modules/d3-scale/src/time.js
2159
+ function La(e) {
2160
+ return new Date(e);
2161
+ }
2162
+ function Ra(e) {
2163
+ return e instanceof Date ? +e : +/* @__PURE__ */ new Date(+e);
2164
+ }
2165
+ function za(e, t, n, r, i, a, o, s, c, l) {
2166
+ var u = rr(), d = u.invert, f = u.domain, p = l(".%L"), m = l(":%S"), h = l("%I:%M"), g = l("%I %p"), ee = l("%a %d"), te = l("%b %d"), _ = l("%B"), v = l("%Y");
2167
+ function ne(e) {
2168
+ return (c(e) < e ? p : s(e) < e ? m : o(e) < e ? h : a(e) < e ? g : r(e) < e ? i(e) < e ? ee : te : n(e) < e ? _ : v)(e);
2169
+ }
2170
+ return u.invert = function(e) {
2171
+ return new Date(d(e));
2172
+ }, u.domain = function(e) {
2173
+ return arguments.length ? f(Array.from(e, Ra)) : f().map(La);
2174
+ }, u.ticks = function(t) {
2175
+ var n = f();
2176
+ return e(n[0], n[n.length - 1], t ?? 10);
2177
+ }, u.tickFormat = function(e, t) {
2178
+ return t == null ? ne : l(t);
2179
+ }, u.nice = function(e) {
2180
+ var n = f();
2181
+ return (!e || typeof e.range != "function") && (e = t(n[0], n[n.length - 1], e ?? 10)), e ? f(ur(n, e)) : u;
2182
+ }, u.copy = function() {
2183
+ return tr(u, za(e, t, n, r, i, a, o, s, c, l));
2184
+ }, u;
2185
+ }
2186
+ function Ba() {
2187
+ return w.apply(za(ui, di, U, ai, Gr, z, Hr, Br, R, Ma).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);
2188
+ }
2189
+ //#endregion
2190
+ //#region ../../node_modules/d3-scale/src/utcTime.js
2191
+ function Va() {
2192
+ return w.apply(za(ci, li, W, oi, Qr, B, Ur, Vr, R, Pa).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments);
2193
+ }
2194
+ //#endregion
2195
+ //#region ../../node_modules/d3-scale/src/sequential.js
2196
+ function Ha() {
2197
+ var e = 0, t = 1, n, r, i, a, o = j, s = !1, c;
2198
+ function l(e) {
2199
+ return e == null || isNaN(e = +e) ? c : o(i === 0 ? .5 : (e = (a(e) - n) * i, s ? Math.max(0, Math.min(1, e)) : e));
2200
+ }
2201
+ l.domain = function(o) {
2202
+ return arguments.length ? ([e, t] = o, n = a(e = +e), r = a(t = +t), i = n === r ? 0 : 1 / (r - n), l) : [e, t];
2203
+ }, l.clamp = function(e) {
2204
+ return arguments.length ? (s = !!e, l) : s;
2205
+ }, l.interpolator = function(e) {
2206
+ return arguments.length ? (o = e, l) : o;
2207
+ };
2208
+ function u(e) {
2209
+ return function(t) {
2210
+ var n, r;
2211
+ return arguments.length ? ([n, r] = t, o = e(n, r), l) : [o(0), o(1)];
2212
+ };
2213
+ }
2214
+ return l.range = u(A), l.rangeRound = u(bn), l.unknown = function(e) {
2215
+ return arguments.length ? (c = e, l) : c;
2216
+ }, function(o) {
2217
+ return a = o, n = o(e), r = o(t), i = n === r ? 0 : 1 / (r - n), l;
2218
+ };
2219
+ }
2220
+ function q(e, t) {
2221
+ return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown());
2222
+ }
2223
+ function Ua() {
2224
+ var e = M(Ha()(j));
2225
+ return e.copy = function() {
2226
+ return q(e, Ua());
2227
+ }, T.apply(e, arguments);
2228
+ }
2229
+ function Wa() {
2230
+ var e = yr(Ha()).domain([1, 10]);
2231
+ return e.copy = function() {
2232
+ return q(e, Wa()).base(e.base());
2233
+ }, T.apply(e, arguments);
2234
+ }
2235
+ function Ga() {
2236
+ var e = Cr(Ha());
2237
+ return e.copy = function() {
2238
+ return q(e, Ga()).constant(e.constant());
2239
+ }, T.apply(e, arguments);
2240
+ }
2241
+ function Ka() {
2242
+ var e = Or(Ha());
2243
+ return e.copy = function() {
2244
+ return q(e, Ka()).exponent(e.exponent());
2245
+ }, T.apply(e, arguments);
2246
+ }
2247
+ function qa() {
2248
+ return Ka.apply(null, arguments).exponent(.5);
2249
+ }
2250
+ //#endregion
2251
+ //#region ../../node_modules/d3-scale/src/diverging.js
2252
+ function Ja() {
2253
+ var e = 0, t = .5, n = 1, r = 1, i, a, o, s, c, l = j, u, d = !1, f;
2254
+ function p(e) {
2255
+ return isNaN(e = +e) ? f : (e = .5 + ((e = +u(e)) - a) * (r * e < r * a ? s : c), l(d ? Math.max(0, Math.min(1, e)) : e));
2256
+ }
2257
+ p.domain = function(l) {
2258
+ return arguments.length ? ([e, t, n] = l, i = u(e = +e), a = u(t = +t), o = u(n = +n), s = i === a ? 0 : .5 / (a - i), c = a === o ? 0 : .5 / (o - a), r = a < i ? -1 : 1, p) : [
2259
+ e,
2260
+ t,
2261
+ n
2262
+ ];
2263
+ }, p.clamp = function(e) {
2264
+ return arguments.length ? (d = !!e, p) : d;
2265
+ }, p.interpolator = function(e) {
2266
+ return arguments.length ? (l = e, p) : l;
2267
+ };
2268
+ function m(e) {
2269
+ return function(t) {
2270
+ var n, r, i;
2271
+ return arguments.length ? ([n, r, i] = t, l = Gn(e, [
2272
+ n,
2273
+ r,
2274
+ i
2275
+ ]), p) : [
2276
+ l(0),
2277
+ l(.5),
2278
+ l(1)
2279
+ ];
2280
+ };
2281
+ }
2282
+ return p.range = m(A), p.rangeRound = m(bn), p.unknown = function(e) {
2283
+ return arguments.length ? (f = e, p) : f;
2284
+ }, function(l) {
2285
+ return u = l, i = l(e), a = l(t), o = l(n), s = i === a ? 0 : .5 / (a - i), c = a === o ? 0 : .5 / (o - a), r = a < i ? -1 : 1, p;
2286
+ };
2287
+ }
2288
+ function Ya() {
2289
+ var e = M(Ja()(j));
2290
+ return e.copy = function() {
2291
+ return q(e, Ya());
2292
+ }, T.apply(e, arguments);
2293
+ }
2294
+ function Xa() {
2295
+ var e = yr(Ja()).domain([
2296
+ .1,
2297
+ 1,
2298
+ 10
2299
+ ]);
2300
+ return e.copy = function() {
2301
+ return q(e, Xa()).base(e.base());
2302
+ }, T.apply(e, arguments);
2303
+ }
2304
+ function Za() {
2305
+ var e = Cr(Ja());
2306
+ return e.copy = function() {
2307
+ return q(e, Za()).constant(e.constant());
2308
+ }, T.apply(e, arguments);
2309
+ }
2310
+ function Qa() {
2311
+ var e = Or(Ja());
2312
+ return e.copy = function() {
2313
+ return q(e, Qa()).exponent(e.exponent());
2314
+ }, T.apply(e, arguments);
2315
+ }
2316
+ function $a() {
2317
+ return Qa.apply(null, arguments).exponent(.5);
2318
+ }
2319
+ //#endregion
2320
+ //#region ../../node_modules/vega-util/build/peek.js
2321
+ function eo(e) {
2322
+ return e[e.length - 1];
2323
+ }
2324
+ //#endregion
2325
+ //#region ../../node_modules/vega-util/build/toNumber.js
2326
+ function to(e) {
2327
+ return e == null || e === "" ? null : +e;
2328
+ }
2329
+ //#endregion
2330
+ //#region ../core/src/utils/url.js
2331
+ var no = /^([A-Za-z]+:)?\/\//;
2332
+ function ro(e, t) {
2333
+ if (t && no.test(t)) return t;
2334
+ let n = typeof e == "function" ? e() : e;
2335
+ if (!n) return t;
2336
+ if (!t) return n;
2337
+ if (/[#?]/.test(n)) throw Error(`Cannot append to a url with query or hash. Append: ${t}, base: ${n}`);
2338
+ return ao(n) + t;
2339
+ }
2340
+ function io(e, t, n = oo()) {
2341
+ let r = typeof e == "function" ? e() : e;
2342
+ if (!t) return r;
2343
+ try {
2344
+ if (r) {
2345
+ let e = n ? new URL(r, n).href : new URL(r).href;
2346
+ return new URL(t, e).href;
2347
+ } else if (n) return new URL(t, n).href;
2348
+ } catch {}
2349
+ return ro(r, t);
2350
+ }
2351
+ function ao(e) {
2352
+ let t = e.replace(/[^/]*$/, "");
2353
+ return t === "" ? void 0 : t.endsWith("://") ? e + "/" : t;
2354
+ }
2355
+ function oo() {
2356
+ if (typeof document < "u" && document.baseURI) return document.baseURI;
2357
+ if (typeof window < "u" && window.location?.href) return window.location.href;
2358
+ }
2359
+ //#endregion
2360
+ //#region ../../node_modules/d3-scale-chromatic/src/colors.js
2361
+ function J(e) {
2362
+ for (var t = e.length / 6 | 0, n = Array(t), r = 0; r < t;) n[r] = "#" + e.slice(r * 6, ++r * 6);
2363
+ return n;
2364
+ }
2365
+ //#endregion
2366
+ //#region ../../node_modules/d3-scale-chromatic/src/categorical/category10.js
2367
+ var so = J("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"), co = J("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"), lo = J("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"), uo = J("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"), fo = J("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"), po = J("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"), mo = J("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"), ho = J("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"), go = J("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"), _o = J("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"), vo = "year", yo = "quarter", bo = "month", xo = "week", So = "date", Co = "dayofyear", wo = "hours", To = "minutes", Eo = "seconds", Do = "milliseconds";
2368
+ [
2369
+ vo,
2370
+ yo,
2371
+ bo,
2372
+ xo,
2373
+ So,
2374
+ "day",
2375
+ Co,
2376
+ wo,
2377
+ To,
2378
+ Eo,
2379
+ Do
2380
+ ].reduce((e, t, n) => (e[t] = 1 + n, e), {}), `${vo}${bo}`, `${vo}${bo}${So}`, `${wo}${To}`;
2381
+ var Oo = {
2382
+ [vo]: U,
2383
+ [yo]: ai.every(3),
2384
+ [bo]: ai,
2385
+ [xo]: Gr,
2386
+ [So]: z,
2387
+ day: z,
2388
+ [Co]: z,
2389
+ [wo]: Hr,
2390
+ [To]: Br,
2391
+ [Eo]: R,
2392
+ [Do]: Ir
2393
+ }, ko = {
2394
+ [vo]: W,
2395
+ [yo]: oi.every(3),
2396
+ [bo]: oi,
2397
+ [xo]: Qr,
2398
+ [So]: B,
2399
+ day: B,
2400
+ [Co]: B,
2401
+ [wo]: Ur,
2402
+ [To]: Vr,
2403
+ [Eo]: R,
2404
+ [Do]: Ir
2405
+ };
2406
+ function Ao(e) {
2407
+ return Oo[e];
2408
+ }
2409
+ function jo(e) {
2410
+ return ko[e];
2411
+ }
2412
+ var Mo = 1e3, No = Mo * 60, Po = No * 60, Fo = Po * 24;
2413
+ Fo * 7;
2414
+ var Io = Fo * 30;
2415
+ Fo * 365, [
2416
+ vo,
2417
+ bo,
2418
+ So,
2419
+ wo,
2420
+ To,
2421
+ Eo,
2422
+ Do
2423
+ ].slice(0, -1).slice(0, -1).slice(0, -1).slice(0, -1), 5 * Mo, 15 * Mo, 30 * Mo, 5 * No, 15 * No, 30 * No, 3 * Po, 6 * Po, 12 * Po, 3 * Io;
2424
+ //#endregion
2425
+ //#region ../../node_modules/vega-scale/build/vega-scale.js
2426
+ function Lo(e, t, n) {
2427
+ let r = e - t + n * 2;
2428
+ return e ? r > 0 ? r : 1 : 0;
2429
+ }
2430
+ var Ro = "identity", zo = "linear", Bo = "sqrt", Vo = "symlog", Ho = "time", Uo = "sequential", Wo = "diverging", Go = "quantile", Ko = "quantize", qo = "threshold", Jo = "ordinal", Yo = "point", Xo = "band", Zo = "bin-ordinal", Y = "continuous", Qo = "discrete", $o = "discretizing", X = "interpolating", es = "temporal";
2431
+ function ts(e) {
2432
+ return function(t) {
2433
+ let n = t[0], r = t[1], i;
2434
+ return r < n && (i = n, n = r, r = i), [e.invert(n), e.invert(r)];
2435
+ };
2436
+ }
2437
+ function ns(e) {
2438
+ return function(t) {
2439
+ let n = e.range(), r = t[0], i = t[1], a = -1, o, s, c, l;
2440
+ for (i < r && (s = r, r = i, i = s), c = 0, l = n.length; c < l; ++c) n[c] >= r && n[c] <= i && (a < 0 && (a = c), o = c);
2441
+ if (!(a < 0)) return r = e.invertExtent(n[a]), i = e.invertExtent(n[o]), [r[0] === void 0 ? r[1] : r[0], i[1] === void 0 ? i[0] : i[1]];
2442
+ };
2443
+ }
2444
+ function rs() {
2445
+ let e = _t().unknown(void 0), t = e.domain, n = e.range, r = [0, 1], a, o, s = !1, c = 0, l = 0, u = .5;
2446
+ delete e.unknown;
2447
+ function d() {
2448
+ let e = t().length, d = r[1] < r[0], f = r[1 - d], p = Lo(e, c, l), m = r[d - 0];
2449
+ a = (f - m) / (p || 1), s && (a = Math.floor(a)), m += (f - m - a * (e - c)) * u, o = a * (1 - c), s && (m = Math.round(m), o = Math.round(o));
2450
+ let h = i(e).map((e) => m + a * e);
2451
+ return n(d ? h.reverse() : h);
2452
+ }
2453
+ return e.domain = function(e) {
2454
+ return arguments.length ? (t(e), d()) : t();
2455
+ }, e.range = function(e) {
2456
+ return arguments.length ? (r = [+e[0], +e[1]], d()) : r.slice();
2457
+ }, e.rangeRound = function(e) {
2458
+ return r = [+e[0], +e[1]], s = !0, d();
2459
+ }, e.bandwidth = function() {
2460
+ return o;
2461
+ }, e.step = function() {
2462
+ return a;
2463
+ }, e.round = function(e) {
2464
+ return arguments.length ? (s = !!e, d()) : s;
2465
+ }, e.padding = function(e) {
2466
+ return arguments.length ? (l = Math.max(0, Math.min(1, e)), c = l, d()) : c;
2467
+ }, e.paddingInner = function(e) {
2468
+ return arguments.length ? (c = Math.max(0, Math.min(1, e)), d()) : c;
2469
+ }, e.paddingOuter = function(e) {
2470
+ return arguments.length ? (l = Math.max(0, Math.min(1, e)), d()) : l;
2471
+ }, e.align = function(e) {
2472
+ return arguments.length ? (u = Math.max(0, Math.min(1, e)), d()) : u;
2473
+ }, e.invertRange = function(e) {
2474
+ if (e[0] == null || e[1] == null) return;
2475
+ let i = r[1] < r[0], a = i ? n().reverse() : n(), s = a.length - 1, c = +e[0], l = +e[1], u, d, f;
2476
+ if (!(c !== c || l !== l) && (l < c && (f = c, c = l, l = f), !(l < a[0] || c > r[1 - i]))) return u = Math.max(0, C(a, c) - 1), d = c === l ? u : C(a, l) - 1, c - a[u] > o + 1e-10 && ++u, i && (f = u, u = s - d, d = s - f), u > d ? void 0 : t().slice(u, d + 1);
2477
+ }, e.invert = function(t) {
2478
+ let n = e.invertRange([t, t]);
2479
+ return n && n[0];
2480
+ }, e.copy = function() {
2481
+ return rs().domain(t()).range(r).round(s).paddingInner(c).paddingOuter(l).align(u);
2482
+ }, d();
2483
+ }
2484
+ function is(e) {
2485
+ let t = e.copy;
2486
+ return e.padding = e.paddingOuter, delete e.paddingInner, e.copy = function() {
2487
+ return is(t());
2488
+ }, e;
2489
+ }
2490
+ function as() {
2491
+ return is(rs().paddingInner(1));
2492
+ }
2493
+ var os = Array.prototype.map;
2494
+ function ss(e) {
2495
+ return os.call(e, to);
2496
+ }
2497
+ var cs = Array.prototype.slice;
2498
+ function ls() {
2499
+ let e = [], t = [];
2500
+ function n(n) {
2501
+ return n == null || n !== n ? void 0 : t[(C(e, n) - 1) % t.length];
2502
+ }
2503
+ return n.domain = function(t) {
2504
+ return arguments.length ? (e = ss(t), n) : e.slice();
2505
+ }, n.range = function(e) {
2506
+ return arguments.length ? (t = cs.call(e), n) : t.slice();
2507
+ }, n.tickFormat = function(t, n) {
2508
+ return sr(e[0], eo(e), t ?? 10, n);
2509
+ }, n.copy = function() {
2510
+ return ls().domain(n.domain()).range(n.range());
2511
+ }, n;
2512
+ }
2513
+ var us = /* @__PURE__ */ new Map(), ds = Symbol("vega_scale");
2514
+ function fs(e) {
2515
+ return e[ds] = !0, e;
2516
+ }
2517
+ function ps(e, n, r) {
2518
+ let i = function() {
2519
+ let t = n();
2520
+ return t.invertRange ||= t.invert ? ts(t) : t.invertExtent ? ns(t) : void 0, t.type = e, fs(t);
2521
+ };
2522
+ return i.metadata = t(h(r)), i;
2523
+ }
2524
+ function Z(e, t, n) {
2525
+ return arguments.length > 1 ? (us.set(e, ps(e, t, n)), this) : ms(e) ? us.get(e) : void 0;
2526
+ }
2527
+ Z(Ro, lr), Z(zo, cr, Y), Z("log", br, [Y, "log"]), Z("pow", kr, Y), Z(Bo, Ar, Y), Z(Vo, wr, Y), Z(Ho, Ba, [Y, es]), Z("utc", Va, [Y, es]), Z(Uo, Ua, [Y, X]), Z(`${Uo}-${zo}`, Ua, [Y, X]), Z(`${Uo}-log`, Wa, [
2528
+ Y,
2529
+ X,
2530
+ "log"
2531
+ ]), Z(`${Uo}-pow`, Ka, [Y, X]), Z(`${Uo}-${Bo}`, qa, [Y, X]), Z(`${Uo}-${Vo}`, Ga, [Y, X]), Z(`${Wo}-${zo}`, Ya, [Y, X]), Z(`${Wo}-log`, Xa, [
2532
+ Y,
2533
+ X,
2534
+ "log"
2535
+ ]), Z(`${Wo}-pow`, Qa, [Y, X]), Z(`${Wo}-${Bo}`, $a, [Y, X]), Z(`${Wo}-${Vo}`, Za, [Y, X]), Z(Go, jr, [$o, Go]), Z(Ko, Mr, $o), Z(qo, Nr, $o), Z(Zo, ls, [Qo, $o]), Z(Jo, _t, Qo), Z(Xo, rs, Qo), Z(Yo, as, Qo);
2536
+ function ms(e) {
2537
+ return us.has(e);
2538
+ }
2539
+ function hs(e, t) {
2540
+ let n = us.get(e);
2541
+ return n && n.metadata[t];
2542
+ }
2543
+ function gs(e) {
2544
+ return hs(e, Y);
2545
+ }
2546
+ function _s(e) {
2547
+ return hs(e, Qo);
2548
+ }
2549
+ function vs(e) {
2550
+ return hs(e, $o);
2551
+ }
2552
+ function ys(e) {
2553
+ return hs(e, "log");
2554
+ }
2555
+ function bs(e) {
2556
+ return hs(e, X);
2557
+ }
2558
+ function xs(e, t) {
2559
+ let n = t[0], r = eo(t) - n;
2560
+ return function(t) {
2561
+ return e(n + t * r);
2562
+ };
2563
+ }
2564
+ function Ss(e, t, n) {
2565
+ return Gn(ws(t || "rgb", n), e);
2566
+ }
2567
+ function Cs(e, t) {
2568
+ let n = Array(t), r = t + 1;
2569
+ for (let i = 0; i < t;) n[i] = e(++i / r);
2570
+ return n;
2571
+ }
2572
+ function ws(e, t) {
2573
+ let n = qn[Ts(e)];
2574
+ return t != null && n && n.gamma ? n.gamma(t) : n;
2575
+ }
2576
+ function Ts(e) {
2577
+ return "interpolate" + e.toLowerCase().split("-").map((e) => e[0].toUpperCase() + e.slice(1)).join("");
2578
+ }
2579
+ var Es = {
2580
+ blues: "cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",
2581
+ greens: "d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",
2582
+ greys: "e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",
2583
+ oranges: "fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",
2584
+ purples: "e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",
2585
+ reds: "fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",
2586
+ blueGreen: "d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",
2587
+ bluePurple: "ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",
2588
+ greenBlue: "d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",
2589
+ orangeRed: "fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",
2590
+ purpleBlue: "dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",
2591
+ purpleBlueGreen: "dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",
2592
+ purpleRed: "dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",
2593
+ redPurple: "fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",
2594
+ yellowGreen: "e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",
2595
+ yellowOrangeBrown: "feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",
2596
+ yellowOrangeRed: "fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",
2597
+ blueOrange: "134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",
2598
+ brownBlueGreen: "704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",
2599
+ purpleGreen: "5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",
2600
+ purpleOrange: "4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",
2601
+ redBlue: "8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",
2602
+ redGrey: "8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",
2603
+ yellowGreenBlue: "eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",
2604
+ redYellowBlue: "a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",
2605
+ redYellowGreen: "a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",
2606
+ pinkYellowGreen: "8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",
2607
+ spectral: "9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",
2608
+ viridis: "440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",
2609
+ magma: "0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",
2610
+ inferno: "0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",
2611
+ plasma: "0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",
2612
+ cividis: "00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",
2613
+ rainbow: "6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",
2614
+ sinebow: "ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",
2615
+ turbo: "23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",
2616
+ browns: "eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",
2617
+ tealBlues: "bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",
2618
+ teals: "bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",
2619
+ warmGreys: "dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",
2620
+ goldGreen: "f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",
2621
+ goldOrange: "f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",
2622
+ goldRed: "f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",
2623
+ lightGreyRed: "efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",
2624
+ lightGreyTeal: "e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",
2625
+ lightMulti: "e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",
2626
+ lightOrange: "f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",
2627
+ lightTealBlue: "e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",
2628
+ darkBlue: "3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",
2629
+ darkGold: "3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",
2630
+ darkGreen: "3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",
2631
+ darkMulti: "3737371f5287197d8c29a86995ce3fffe800ffffff",
2632
+ darkRed: "3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"
2633
+ }, Ds = {
2634
+ accent: co,
2635
+ category10: so,
2636
+ category20: "1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",
2637
+ category20b: "393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",
2638
+ category20c: "3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",
2639
+ dark2: lo,
2640
+ observable10: uo,
2641
+ paired: fo,
2642
+ pastel1: po,
2643
+ pastel2: mo,
2644
+ set1: ho,
2645
+ set2: go,
2646
+ set3: _o,
2647
+ tableau10: "4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",
2648
+ tableau20: "4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"
2649
+ };
2650
+ function Os(e) {
2651
+ if (te(e)) return e;
2652
+ let t = e.length / 6 | 0, n = Array(t);
2653
+ for (let r = 0; r < t;) n[r] = "#" + e.slice(r * 6, ++r * 6);
2654
+ return n;
2655
+ }
2656
+ function ks(e, t) {
2657
+ for (let n in e) js(n, t(e[n]));
2658
+ }
2659
+ var As = {};
2660
+ ks(Ds, Os), ks(Es, (e) => Ss(Os(e)));
2661
+ function js(e, t) {
2662
+ return e &&= e.toLowerCase(), arguments.length > 1 ? (As[e] = t, this) : As[e];
2663
+ }
2664
+ //#endregion
2665
+ //#region ../core/src/view/viewError.js
2666
+ var Q = class extends Error {
2667
+ constructor(e, t) {
2668
+ super(e), this.name = "ViewError", this.view = t;
2669
+ }
2670
+ }, Ms = class {
2671
+ constructor(e = Infinity, t = Float64Array, n = Uint32Array) {
2672
+ let r = e !== Infinity;
2673
+ this.ids = r ? new n(e) : [], this.values = r ? new t(e) : [], this.capacity = e, this.length = 0;
2674
+ }
2675
+ clear() {
2676
+ this.length = 0;
2677
+ }
2678
+ push(e, t) {
2679
+ if (this.length === this.capacity) throw RangeError("Queue is at capacity.");
2680
+ let n = this.length++;
2681
+ for (; n > 0;) {
2682
+ let e = n - 1 >> 1, r = this.values[e];
2683
+ if (t >= r) break;
2684
+ this.ids[n] = this.ids[e], this.values[n] = r, n = e;
2685
+ }
2686
+ this.ids[n] = e, this.values[n] = t;
2687
+ }
2688
+ pop() {
2689
+ if (this.length === 0) return;
2690
+ let e = this.ids, t = this.values, n = e[0], r = --this.length;
2691
+ if (r > 0) {
2692
+ let n = e[r], i = t[r], a = 0, o = r >> 1;
2693
+ for (; a < o;) {
2694
+ let n = (a << 1) + 1, o = n + 1, s = n + (o < r & +(t[o] < t[n]));
2695
+ if (t[s] >= i) break;
2696
+ e[a] = e[s], t[a] = t[s], a = s;
2697
+ }
2698
+ e[a] = n, t[a] = i;
2699
+ }
2700
+ return n;
2701
+ }
2702
+ peek() {
2703
+ return this.length > 0 ? this.ids[0] : void 0;
2704
+ }
2705
+ peekValue() {
2706
+ return this.length > 0 ? this.values[0] : void 0;
2707
+ }
2708
+ shrink() {
2709
+ Array.isArray(this.ids) && (this.ids.length = this.length), Array.isArray(this.values) && (this.values.length = this.length);
2710
+ }
2711
+ }, Ns = Symbol("runtimeNode"), Ps = 1e6;
2712
+ function Fs(e) {
2713
+ return e ? (t, n) => {
2714
+ e.addDisposer(t, n);
2715
+ } : () => void 0;
2716
+ }
2717
+ function Is(e, t) {
2718
+ let n = {
2719
+ id: e.id,
2720
+ name: e.name,
2721
+ kind: e.kind,
2722
+ get() {
2723
+ return e.value;
2724
+ },
2725
+ subscribe(t) {
2726
+ return e.listeners.add(t), () => {
2727
+ e.listeners.delete(t);
2728
+ };
2729
+ }
2730
+ };
2731
+ return Object.defineProperty(n, Ns, {
2732
+ enumerable: !1,
2733
+ configurable: !1,
2734
+ writable: !1,
2735
+ value: e
2736
+ }), t ? Object.assign(n, { set(e) {
2737
+ t(e);
2738
+ } }) : n;
2739
+ }
2740
+ function Ls(e) {
2741
+ let t = e[Ns];
2742
+ if (!t) throw Error("ParamRef is not bound to this graph runtime. Expected runtime-created ref.");
2743
+ return t;
2744
+ }
2745
+ function Rs(e) {
2746
+ return typeof e.rank == "number" ? e.rank : Ls(e).rank;
2747
+ }
2748
+ function zs(e) {
2749
+ for (let t of e) t();
2750
+ }
2751
+ var Bs = class {
2752
+ #e = 1;
2753
+ #t = 1;
2754
+ #n = 0;
2755
+ #r = !1;
2756
+ #i = !1;
2757
+ #a = /* @__PURE__ */ new Set();
2758
+ #o = /* @__PURE__ */ new Set();
2759
+ #s = new Ms();
2760
+ #c = new Ms();
2761
+ #l = /* @__PURE__ */ new Set();
2762
+ #u;
2763
+ constructor(e = {}) {
2764
+ this.#u = Fs(e.lifecycleRegistry);
2765
+ }
2766
+ createWritable(e, t, n, r, i = {}) {
2767
+ let a = "n" + this.#e++, o = i.notify ?? !0, s = {
2768
+ id: a,
2769
+ name: t,
2770
+ kind: n,
2771
+ value: r,
2772
+ rank: 0,
2773
+ disposed: !1,
2774
+ listeners: /* @__PURE__ */ new Set(),
2775
+ subscribe(e) {
2776
+ return s.listeners.add(e), () => {
2777
+ s.listeners.delete(e);
2778
+ };
2779
+ }
2780
+ };
2781
+ return this.#u(e, () => {
2782
+ s.disposed = !0, s.listeners.clear();
2783
+ }), Is(s, (e) => {
2784
+ if (s.disposed) throw Error("Cannot set disposed parameter \"" + t + "\" (" + a + ").");
2785
+ e !== s.value && (s.value = e, o && (zs(s.listeners), this.#m()));
2786
+ });
2787
+ }
2788
+ computed(e, t, n, r) {
2789
+ let i = n.reduce((e, t) => Math.max(e, Rs(t)), 0), a = {
2790
+ id: "n" + this.#e++,
2791
+ name: t,
2792
+ kind: "derived",
2793
+ rank: i + 1,
2794
+ value: r(),
2795
+ disposed: !1,
2796
+ listeners: /* @__PURE__ */ new Set(),
2797
+ fn: r,
2798
+ subscribe(e) {
2799
+ return a.listeners.add(e), () => {
2800
+ a.listeners.delete(e);
2801
+ };
2802
+ }
2803
+ }, o = n.map((e) => e.subscribe(() => {
2804
+ a.disposed || (this.#d(a), e.propagation === "sync" && this.flushNow());
2805
+ }));
2806
+ return this.#u(e, () => {
2807
+ a.disposed || (a.disposed = !0, o.forEach((e) => e()), a.listeners.clear(), this.#a.delete(a));
2808
+ }), Is(a);
2809
+ }
2810
+ effect(e, t, n) {
2811
+ let r = t.reduce((e, t) => Math.max(e, Rs(t)), 0), i = {
2812
+ id: "n" + this.#e++,
2813
+ rank: r + 1,
2814
+ disposed: !1,
2815
+ fn: n
2816
+ }, a = () => {
2817
+ i.disposed || this.#f(i);
2818
+ }, o = t.map((e) => e.subscribe(a)), s = () => {
2819
+ i.disposed || (i.disposed = !0, o.forEach((e) => e()), this.#o.delete(i));
2820
+ };
2821
+ return this.#u(e, s), s;
2822
+ }
2823
+ runInTransaction(e) {
2824
+ this.#n += 1;
2825
+ try {
2826
+ return e();
2827
+ } finally {
2828
+ --this.#n, this.#n === 0 && this.#m();
2829
+ }
2830
+ }
2831
+ flushNow() {
2832
+ if (!(this.#n > 0 || this.#i)) {
2833
+ this.#r = !1, this.#i = !0;
2834
+ try {
2835
+ let e = !0;
2836
+ for (; e;) {
2837
+ for (e = !1; this.#s.length > 0;) {
2838
+ e = !0;
2839
+ let t = this.#s.pop();
2840
+ if (this.#a.delete(t), t.disposed) continue;
2841
+ let n = t.value, r = t.fn();
2842
+ r !== n && (t.value = r, zs(t.listeners));
2843
+ }
2844
+ for (; this.#c.length > 0;) {
2845
+ e = !0;
2846
+ let t = this.#c.pop();
2847
+ this.#o.delete(t), !t.disposed && t.fn();
2848
+ }
2849
+ }
2850
+ } finally {
2851
+ this.#i = !1, this.#g();
2852
+ }
2853
+ }
2854
+ }
2855
+ whenPropagated(e = {}) {
2856
+ if (this.#h()) return Promise.resolve();
2857
+ let { signal: t, timeoutMs: n } = e;
2858
+ return t?.aborted ? Promise.reject(/* @__PURE__ */ Error("whenPropagated aborted")) : new Promise((e, r) => {
2859
+ let i = {
2860
+ resolve: e,
2861
+ reject: r
2862
+ };
2863
+ t && (i.abortHandler = () => {
2864
+ this.#l.delete(i), r(/* @__PURE__ */ Error("whenPropagated aborted"));
2865
+ }, t.addEventListener("abort", i.abortHandler, { once: !0 })), n != null && (i.timeoutId = setTimeout(() => {
2866
+ this.#l.delete(i), i.abortHandler && t?.removeEventListener("abort", i.abortHandler), r(/* @__PURE__ */ Error("whenPropagated timeout after " + n + " ms"));
2867
+ }, n)), this.#l.add(i);
2868
+ });
2869
+ }
2870
+ #d(e) {
2871
+ this.#a.has(e) || (this.#a.add(e), this.#s.push(e, this.#p(e.rank)), this.#m());
2872
+ }
2873
+ #f(e) {
2874
+ this.#o.has(e) || (this.#o.add(e), this.#c.push(e, this.#p(e.rank)), this.#m());
2875
+ }
2876
+ #p(e) {
2877
+ let t = this.#t % Ps;
2878
+ return this.#t += 1, e * Ps + t;
2879
+ }
2880
+ #m() {
2881
+ this.#n > 0 || this.#r || this.#i || (this.#r = !0, queueMicrotask(() => {
2882
+ this.flushNow();
2883
+ }));
2884
+ }
2885
+ #h() {
2886
+ return this.#n === 0 && !this.#r && !this.#i && this.#s.length === 0 && this.#c.length === 0 && this.#a.size === 0 && this.#o.size === 0;
2887
+ }
2888
+ #g() {
2889
+ if (this.#h()) {
2890
+ for (let e of this.#l) e.timeoutId && clearTimeout(e.timeoutId), e.resolve();
2891
+ this.#l.clear();
2892
+ }
2893
+ }
2894
+ }, Vs = class {
2895
+ #e = 1;
2896
+ #t = /* @__PURE__ */ new Map();
2897
+ createOwner(e, t) {
2898
+ let n = e + ":" + t + ":" + this.#e++;
2899
+ return this.#t.set(n, /* @__PURE__ */ new Set()), n;
2900
+ }
2901
+ addDisposer(e, t) {
2902
+ let n = this.#t.get(e);
2903
+ if (!n) throw Error("Unknown owner: " + e);
2904
+ n.add(t);
2905
+ }
2906
+ disposeOwner(e) {
2907
+ let t = this.#t.get(e);
2908
+ if (t) {
2909
+ for (let e of t) e();
2910
+ t.clear(), this.#t.delete(e);
2911
+ }
2912
+ }
2913
+ }, Hs = class {
2914
+ #e = 1;
2915
+ #t = /* @__PURE__ */ new Map();
2916
+ createRootScope(e) {
2917
+ let t = "scope:" + this.#e++;
2918
+ return this.#t.set(t, {
2919
+ params: /* @__PURE__ */ new Map(),
2920
+ ownerId: e
2921
+ }), t;
2922
+ }
2923
+ createChildScope(e, t) {
2924
+ if (!this.#t.has(t)) throw Error("Unknown parent scope: " + t);
2925
+ let n = "scope:" + this.#e++;
2926
+ return this.#t.set(n, {
2927
+ parentScope: t,
2928
+ params: /* @__PURE__ */ new Map(),
2929
+ ownerId: e
2930
+ }), n;
2931
+ }
2932
+ getOwnerId(e) {
2933
+ let t = this.#t.get(e);
2934
+ if (!t) throw Error("Unknown scope: " + e);
2935
+ return t.ownerId;
2936
+ }
2937
+ clearScope(e) {
2938
+ let t = this.#t.get(e);
2939
+ if (!t) throw Error("Unknown scope: " + e);
2940
+ t.params.clear();
2941
+ }
2942
+ register(e, t, n) {
2943
+ y(t);
2944
+ let r = this.#t.get(e);
2945
+ if (!r) throw Error("Unknown scope: " + e);
2946
+ if (r.params.has(t)) throw Error("Parameter \"" + t + "\" already exists in scope " + e);
2947
+ return r.params.set(t, n), n;
2948
+ }
2949
+ resolve(e, t) {
2950
+ y(t);
2951
+ let n = e;
2952
+ for (; n;) {
2953
+ let e = this.#t.get(n);
2954
+ if (!e) throw Error("Unknown scope: " + n);
2955
+ let r = e.params.get(t);
2956
+ if (r) return r;
2957
+ n = e.parentScope;
2958
+ }
2959
+ }
2960
+ };
2961
+ //#endregion
2962
+ //#region ../core/src/paramRuntime/expressionCompiler.js
2963
+ function Us(e, t = {}, n = {}) {
2964
+ return l(e, t, n);
2965
+ }
2966
+ //#endregion
2967
+ //#region ../core/src/paramRuntime/expressionRef.js
2968
+ function Ws(e, t, n = {}) {
2969
+ let r = {}, i = Us(e, r, n), a = /* @__PURE__ */ new Map();
2970
+ for (let n of i.globals) {
2971
+ if (a.has(n)) continue;
2972
+ let i = t(n);
2973
+ if (!i) throw Error("Unknown variable \"" + n + "\" in expression: " + e);
2974
+ a.set(n, i), Object.defineProperty(r, n, {
2975
+ enumerable: !0,
2976
+ get() {
2977
+ return i.get();
2978
+ }
2979
+ });
2980
+ }
2981
+ let o = /* @__PURE__ */ new Set();
2982
+ return i.subscribe = (e) => {
2983
+ let t = [];
2984
+ for (let n of a.values()) t.push(n.subscribe(e));
2985
+ for (let n of i.scaleDependencies ?? []) t.push(n.subscribe(e));
2986
+ let n = !0, r = () => {
2987
+ n && (n = !1, o.delete(r), t.forEach((e) => e()));
2988
+ };
2989
+ return o.add(r), r;
2990
+ }, i.invalidate = () => {
2991
+ for (let e of o) e();
2992
+ o.clear();
2993
+ }, i.identifier = () => i.code + "|" + Array.from(a.values()).map((e) => e.id).concat((i.scaleDependencies ?? []).map((e) => e.id)).join(","), {
2994
+ expression: i,
2995
+ dependencies: Array.from(a.values()).concat(i.scaleDependencies ?? [])
2996
+ };
2997
+ }
2998
+ //#endregion
2999
+ //#region ../core/src/paramRuntime/paramRuntime.js
3000
+ var Gs = class {
3001
+ #e = new Vs();
3002
+ #t = new Bs({ lifecycleRegistry: this.#e });
3003
+ #n = new Hs();
3004
+ createScope(e) {
3005
+ let t = this.#e.createOwner("scope", e ?? "root");
3006
+ return e ? this.#n.createChildScope(t, e) : this.#n.createRootScope(t);
3007
+ }
3008
+ disposeScope(e) {
3009
+ let t = this.#n.getOwnerId(e);
3010
+ this.#e.disposeOwner(t), this.#n.clearScope(e);
3011
+ }
3012
+ addScopeDisposer(e, t) {
3013
+ let n = this.#n.getOwnerId(e);
3014
+ this.#e.addDisposer(n, t);
3015
+ }
3016
+ registerBase(e, t, n, r) {
3017
+ let i = this.#n.getOwnerId(e), a = this.#t.createWritable(i, t, "base", n, r);
3018
+ return this.#n.register(e, t, a);
3019
+ }
3020
+ registerSelection(e, t, n, r) {
3021
+ let i = this.#n.getOwnerId(e), a = this.#t.createWritable(i, t, "selection", n, r);
3022
+ return this.#n.register(e, t, a);
3023
+ }
3024
+ registerDerived(e, t, n, r) {
3025
+ let { expression: i, dependencies: a } = Ws(n, (t) => this.resolve(e, t), r), o = this.#n.getOwnerId(e), s = this.#t.computed(o, t, a, () => i(null));
3026
+ return this.#n.register(e, t, s);
3027
+ }
3028
+ createExpression(e, t, n) {
3029
+ let { expression: r } = Ws(t, (t) => this.resolve(e, t), n);
3030
+ return r;
3031
+ }
3032
+ resolve(e, t) {
3033
+ return this.#n.resolve(e, t);
3034
+ }
3035
+ runInTransaction(e) {
3036
+ return this.#t.runInTransaction(e);
3037
+ }
3038
+ flushNow() {
3039
+ this.#t.flushNow();
3040
+ }
3041
+ whenPropagated(e) {
3042
+ return this.#t.whenPropagated(e);
3043
+ }
3044
+ }, Ks = (e) => new Promise((t) => setTimeout(t, e));
3045
+ function qs() {
3046
+ return { canceled: !1 };
3047
+ }
3048
+ function Js(e) {
3049
+ let t = e.requestAnimationFrame || window.requestAnimationFrame, n = e.signal, r = e.cancelToken, i = () => new Promise((i, a) => {
3050
+ if (r?.canceled) return i();
3051
+ if (n?.aborted) return a("aborted");
3052
+ let o = performance.now(), s = o + (e.duration || 1e3), c = typeof e.from == "number" ? e.from : 0, l = typeof e.to == "number" ? e.to : 1, u = e.easingFunction || ((e) => e), d = (e) => (e - o) / (s - o), f = (e) => e * (l - c) + c, p = (e) => Math.max(0, Math.min(1, e)), m = (o) => {
3053
+ if (r?.canceled) {
3054
+ i();
3055
+ return;
3056
+ }
3057
+ n?.aborted ? a("aborted") : (e.onUpdate(f(u(p(d(o))))), o < s ? t(m) : (e.onUpdate(f(u(1))), i()));
3058
+ };
3059
+ t(m);
3060
+ });
3061
+ return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") : Ks(e.delay).then(i) : i();
3062
+ }
3063
+ //#endregion
3064
+ //#region ../core/src/utils/animator.js
3065
+ var Ys = class {
3066
+ constructor(e) {
3067
+ this._renderCallback = e, this._renderRequested = !1, this._warn = !1, this.transitions = [], this.transitionsEnabled = !0;
3068
+ }
3069
+ requestTransition(e) {
3070
+ this.cancelTransition(e), this.transitions.push(e), this.requestRender();
3071
+ }
3072
+ cancelTransition(e) {
3073
+ let t = this.transitions.indexOf(e);
3074
+ t >= 0 && this.transitions.splice(t, 1);
3075
+ }
3076
+ requestRender() {
3077
+ this._renderRequested ? this._warn && console.warn("Render already requested!") : (this._renderRequested = !0, window.requestAnimationFrame((e) => {
3078
+ this._renderRequested = !1;
3079
+ let t = this.transitions;
3080
+ this.transitions = [];
3081
+ let n;
3082
+ for (; n = t.shift();) n(e);
3083
+ this._renderCallback(e);
3084
+ }));
3085
+ }
3086
+ transition(e) {
3087
+ return Js({
3088
+ requestAnimationFrame: (e) => this.requestTransition(e),
3089
+ ...e
3090
+ });
3091
+ }
3092
+ };
3093
+ function Xs(e, t, n, r, i) {
3094
+ let a = 0, o = !0, s = !1, c = structuredClone(i), l = c;
3095
+ function u(e, t, n, r) {
3096
+ return t + (e - t) * 2 ** (-n / r);
3097
+ }
3098
+ function d(i) {
3099
+ if (s = !1, o) return;
3100
+ let d = i - a;
3101
+ a = i;
3102
+ for (let e of Object.keys(l)) c[e] = u(c[e], l[e], d, n);
3103
+ t(c);
3104
+ let p = -Infinity;
3105
+ for (let e of Object.keys(l)) p = Math.max(p, Math.abs(l[e] - c[e]));
3106
+ p < r ? (c = l, t(c), o = !0, p != 0 && e.requestRender()) : f();
3107
+ }
3108
+ function f() {
3109
+ s || (s = !0, e.requestTransition(d));
3110
+ }
3111
+ function p(n) {
3112
+ l = n, e.transitionsEnabled === !1 ? (c = l, o = !0, s = !1, e.cancelTransition(d), t(c)) : o && (o = !1, a = Zs(), d(a));
3113
+ }
3114
+ return p.stop = () => {
3115
+ o = !0, s = !1, e.cancelTransition(d);
3116
+ }, p.snap = (e) => {
3117
+ l = e, c = e, p.stop(), t(c);
3118
+ }, p;
3119
+ }
3120
+ function Zs() {
3121
+ let e = globalThis.document?.timeline?.currentTime;
3122
+ return typeof e == "number" ? e : performance.now();
3123
+ }
3124
+ //#endregion
3125
+ //#region ../core/src/paramRuntime/viewParamRuntime.js
3126
+ var Qs = class {
3127
+ #e;
3128
+ #t;
3129
+ #n = /* @__PURE__ */ new Map();
3130
+ #r = /* @__PURE__ */ new Map();
3131
+ #i = /* @__PURE__ */ new Map();
3132
+ #a = /* @__PURE__ */ new Map();
3133
+ #o;
3134
+ #s;
3135
+ #c;
3136
+ #l;
3137
+ #u = !1;
3138
+ constructor(e, t, n, r = {}) {
3139
+ this.#o = e ?? (() => void 0), this.#s = t ?? (() => void 0), this.#c = n, this.#l = r.snapTransitionedUpdates ?? !1;
3140
+ let i = this.#o();
3141
+ i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new Gs(), this.#t = this.#e.createScope());
3142
+ }
3143
+ registerParam(e) {
3144
+ let t = e.name;
3145
+ if (y(t), this.#i.has(t)) throw Error("Parameter \"" + t + "\" already registered in this scope.");
3146
+ ec(e);
3147
+ let n, r;
3148
+ if (e.push == "outer") {
3149
+ let i = this.findRuntimeForParam(t);
3150
+ if (!i) throw Error(`Parameter "${t}" not found in outer scope!`);
3151
+ let a = i.paramConfigs.get(t);
3152
+ if (!a) throw Error(`Outer parameter "${t}" exists as a value but has no registered config.`);
3153
+ if ("expr" in a || "select" in a || "ruler" in a) throw Error(`The outer parameter "${t}" must not have expr, select, or ruler properties!`);
3154
+ n = (e) => {
3155
+ i.setValue(t, e);
3156
+ }, this.#n.set(t, n), "ruler" in e && (r = m(e, this), n(r));
3157
+ } else if ("value" in e) r = m(e, this), n = "transition" in e ? this.#f(t, r, e.transition) : this.#d(t, r);
3158
+ else if ("expr" in e) {
3159
+ if ("transition" in e) this.#p(t, e.expr, e.transition);
3160
+ else {
3161
+ let n = this.#e.registerDerived(this.#t, t, e.expr, { resolveScaleResolution: this.#s });
3162
+ this.#r.set(t, n);
3163
+ }
3164
+ n = () => {
3165
+ throw Error("Cannot set derived parameter \"" + t + "\".");
3166
+ };
3167
+ } else r = m(e, this), n = this.#d(t, r);
3168
+ if ("select" in e) {
3169
+ if (r ??= m(e, this), !this.#n.has(t)) {
3170
+ let e = this.#e.registerSelection(this.#t, t, r);
3171
+ this.#r.set(t, e), this.#n.set(t, (t) => {
3172
+ e.set(t), this.#e.flushNow();
3173
+ }), n = this.#n.get(t);
3174
+ }
3175
+ n(r);
3176
+ }
3177
+ return this.#i.set(t, e), n;
3178
+ }
3179
+ allocateSetter(e, t, n = !1) {
3180
+ if (y(e), this.#n.has(e)) throw Error("Setter already allocated for parameter: " + e);
3181
+ let r = this.#e.registerBase(this.#t, e, t, { notify: !n });
3182
+ this.#r.set(e, r);
3183
+ let i = (e) => {
3184
+ r.set(e), this.#e.flushNow();
3185
+ };
3186
+ return this.#n.set(e, i), i;
3187
+ }
3188
+ setValue(e, t, n) {
3189
+ y(e);
3190
+ let r = this.#n.get(e);
3191
+ if (!r) throw Error("Writable parameter not found in this scope: " + e);
3192
+ r(t, n);
3193
+ }
3194
+ getValue(e) {
3195
+ return this.#r.get(e)?.get();
3196
+ }
3197
+ getTargetValue(e) {
3198
+ return y(e), this.#a.get(e)?.target ?? this.getValue(e);
3199
+ }
3200
+ subscribe(e, t) {
3201
+ y(e);
3202
+ let n = this.findRuntimeForParam(e);
3203
+ if (!n) throw Error("Parameter not found: " + e);
3204
+ let r = n.#r.get(e);
3205
+ if (!r) throw Error("Parameter found without local reference: " + e);
3206
+ return r.subscribe(t);
3207
+ }
3208
+ findValue(e) {
3209
+ return this.findRuntimeForParam(e)?.getValue(e);
3210
+ }
3211
+ findTargetValue(e) {
3212
+ return this.findRuntimeForParam(e)?.getTargetValue(e);
3213
+ }
3214
+ get paramConfigs() {
3215
+ return this.#i;
3216
+ }
3217
+ hasLocalParam(e) {
3218
+ return y(e), this.#r.has(e);
3219
+ }
3220
+ hasConfiguredParamInScopeChain(e) {
3221
+ return y(e), this.#i.has(e) ? !0 : this.#o()?.hasConfiguredParamInScopeChain(e) ?? !1;
3222
+ }
3223
+ findRuntimeForParam(e) {
3224
+ return this.#r.has(e) ? this : this.#o()?.findRuntimeForParam(e);
3225
+ }
3226
+ getDebugState() {
3227
+ let e = [];
3228
+ for (let [t, n] of this.#r) {
3229
+ let r = this.#i.get(t);
3230
+ e.push({
3231
+ name: t,
3232
+ kind: $s(r),
3233
+ value: n.get(),
3234
+ writable: this.#n.has(t),
3235
+ configured: !!r,
3236
+ config: r ? structuredClone(r) : void 0,
3237
+ target: this.#a.get(t)?.target
3238
+ });
3239
+ }
3240
+ return {
3241
+ scopeId: this.#t,
3242
+ disposed: this.#u,
3243
+ params: e
3244
+ };
3245
+ }
3246
+ createExpression(e) {
3247
+ return this.#e.createExpression(this.#t, e, { resolveScaleResolution: this.#s });
3248
+ }
3249
+ watchExpression(e, t, n = {}) {
3250
+ let r = this.createExpression(e), i = r.subscribe(t);
3251
+ return (n.scopeOwned ?? !0) && this.#e.addScopeDisposer(this.#t, i), n.registerDisposer?.(i), r;
3252
+ }
3253
+ #d(e, t) {
3254
+ let n = this.#e.registerBase(this.#t, e, t);
3255
+ this.#r.set(e, n);
3256
+ let r = (e) => {
3257
+ n.set(e), this.#e.flushNow();
3258
+ };
3259
+ return this.#n.set(e, r), r;
3260
+ }
3261
+ #f(e, t, n) {
3262
+ let r = this.#m(e, t, n), i = (t, n) => {
3263
+ this.#h(e, r, t, n);
3264
+ };
3265
+ return this.#n.set(e, i), i;
3266
+ }
3267
+ #p(e, t, n) {
3268
+ let r = this.createExpression(t), i = this.#m(e, r(null), n), a = r.subscribe(() => {
3269
+ this.#h(e, i, r(null), { animate: !this.#l });
3270
+ });
3271
+ this.#e.addScopeDisposer(this.#t, a);
3272
+ }
3273
+ #m(e, t, n) {
3274
+ let r = tc(e, t), i = this.#e.registerBase(this.#t, e, r);
3275
+ this.#r.set(e, i);
3276
+ let a = this.#c;
3277
+ if (!a) throw Error(`The parameter "${e}" uses transition but no animator is available.`);
3278
+ let o = Xs(a, ({ value: e }) => {
3279
+ i.set(e), this.#e.flushNow();
3280
+ }, n.halfLife ?? 80, n.epsilon ?? .01, { value: i.get() }), s = {
3281
+ target: i.get(),
3282
+ smoother: o,
3283
+ dispose: () => {
3284
+ o.stop(), this.#a.delete(e);
3285
+ }
3286
+ };
3287
+ return this.#a.set(e, s), this.#e.addScopeDisposer(this.#t, s.dispose), s;
3288
+ }
3289
+ #h(e, t, n, r = {}) {
3290
+ let i = tc(e, n);
3291
+ t.target = i, r.animate === !1 ? t.smoother.snap({ value: i }) : t.smoother({ value: i });
3292
+ }
3293
+ evaluateAndGet(e) {
3294
+ return this.createExpression(e)();
3295
+ }
3296
+ runInTransaction(e) {
3297
+ return this.#e.runInTransaction(e);
3298
+ }
3299
+ flushNow() {
3300
+ this.#e.flushNow();
3301
+ }
3302
+ whenPropagated(e) {
3303
+ return this.#e.whenPropagated(e);
3304
+ }
3305
+ finalizeInitialization() {
3306
+ this.#l = !1;
3307
+ }
3308
+ dispose() {
3309
+ this.#u || (this.#u = !0, this.#e.disposeScope(this.#t), this.#n.clear(), this.#r.clear(), this.#i.clear(), this.#a.clear());
3310
+ }
3311
+ hasPointSelections() {
3312
+ for (let e of this.#i.values()) if (v(e)) {
3313
+ let t = e.select;
3314
+ if (s(t)) {
3315
+ if (t == "point") return !0;
3316
+ } else if (t.type == "point") return !0;
3317
+ }
3318
+ return !1;
3319
+ }
3320
+ };
3321
+ function $s(e) {
3322
+ return e ? e.push === "outer" ? "push" : "select" in e ? "selection" : "ruler" in e ? "ruler" : "expr" in e ? "derived" : "base" : "auto";
3323
+ }
3324
+ function ec(e) {
3325
+ let t = e.name;
3326
+ if ("value" in e && "expr" in e) throw Error(`The parameter "${t}" must not have both value and expr properties!`);
3327
+ if ("expr" in e && "bind" in e) throw Error(`The parameter "${t}" must not have both expr and bind properties!`);
3328
+ if (!("transition" in e)) return;
3329
+ if ("select" in e || "ruler" in e || e.push === "outer") throw Error(`The parameter "${t}" must not use transition with select, ruler, or push.`);
3330
+ if (!("value" in e || "expr" in e)) throw Error(`The transitioned parameter "${t}" must have a value or expr property.`);
3331
+ let n = e.transition;
3332
+ if (!n) throw Error(`The parameter "${t}" must have a transition configuration.`);
3333
+ if (n.type !== "lerp") throw Error(`Unsupported transition type for parameter "${t}": ${n.type}`);
3334
+ if (n.halfLife != null && (!Number.isFinite(n.halfLife) || n.halfLife <= 0)) throw Error(`The transition halfLife for parameter "${t}" must be a positive finite number.`);
3335
+ if (n.epsilon != null && (!Number.isFinite(n.epsilon) || n.epsilon < 0)) throw Error(`The transition epsilon for parameter "${t}" must be a non-negative finite number.`);
3336
+ }
3337
+ function tc(e, t) {
3338
+ if (typeof t != "number" || !Number.isFinite(t)) throw Error(`Transitioned parameter "${e}" must have a finite numeric value.`);
3339
+ return t;
3340
+ }
3341
+ //#endregion
3342
+ //#region ../core/src/utils/addBaseUrl.js
3343
+ function nc(e, t) {
3344
+ return !t || /^(data:|([A-Za-z]+:)?\/\/)/.test(e) || e.startsWith("/") ? e : (t.endsWith("/") || (t += "/"), t + e);
3345
+ }
3346
+ function rc(e) {
3347
+ if (!e) return e;
3348
+ if (/[?#]/.test(e)) throw Error(`Invalid base URL: ${e} - cannot contain query or hash.`);
3349
+ return e.endsWith("/") ? e : e + "/";
3350
+ }
3351
+ //#endregion
3352
+ //#region ../core/src/config/mergeConfig.js
3353
+ function ic(e) {
3354
+ return r(e) && !Array.isArray(e);
3355
+ }
3356
+ function ac(e) {
3357
+ let t = {};
3358
+ for (let [n, r] of Object.entries(e)) t[n] = oc(r);
3359
+ return t;
3360
+ }
3361
+ function oc(e) {
3362
+ return Array.isArray(e) ? e.map(oc) : ic(e) ? ac(e) : e;
3363
+ }
3364
+ function sc(e, t) {
3365
+ for (let [n, r] of Object.entries(t)) {
3366
+ if (r === void 0) continue;
3367
+ let t = e[n];
3368
+ ic(r) && ic(t) ? sc(t, r) : e[n] = oc(r);
3369
+ }
3370
+ return e;
3371
+ }
3372
+ function cc(e) {
3373
+ let t = {};
3374
+ for (let n of e) n && sc(t, n);
3375
+ return t;
3376
+ }
3377
+ //#endregion
3378
+ //#region ../core/src/view/viewChrome.js
3379
+ var lc = /* @__PURE__ */ new WeakMap();
3380
+ function uc(e, t) {
3381
+ lc.set(e, t);
3382
+ }
3383
+ function dc(e) {
3384
+ return lc.get(e);
3385
+ }
3386
+ function fc(e) {
3387
+ return lc.has(e);
3388
+ }
3389
+ function pc(e) {
3390
+ let t = e;
3391
+ for (; t;) {
3392
+ let n = lc.get(t);
3393
+ if (n === "excludeSubtree" || t === e && n === "exclude") return !0;
3394
+ t = t.layoutParent;
3395
+ }
3396
+ return !1;
3397
+ }
3398
+ //#endregion
3399
+ //#region ../core/src/view/postScaleParams.js
3400
+ var mc = /* @__PURE__ */ new WeakMap();
3401
+ function hc(e, t) {
3402
+ mc.set(e, t);
3403
+ }
3404
+ function gc(e) {
3405
+ return mc.get(e);
3406
+ }
3407
+ //#endregion
3408
+ //#region ../core/src/data/namedDataScope.js
3409
+ var _c = class {
3410
+ name;
3411
+ owner;
3412
+ getDefaultData;
3413
+ #e;
3414
+ #t = !1;
3415
+ #n = 0;
3416
+ #r = !1;
3417
+ constructor(e, t, n) {
3418
+ this.name = e, this.owner = t, this.getDefaultData = n;
3419
+ }
3420
+ get disposed() {
3421
+ return this.#r;
3422
+ }
3423
+ beginUpdate() {
3424
+ if (this.#r) throw Error(`Named dataset "${this.name}" has been disposed.`);
3425
+ return ++this.#n;
3426
+ }
3427
+ isCurrentUpdate(e) {
3428
+ return !this.#r && e === this.#n;
3429
+ }
3430
+ getData() {
3431
+ if (this.#r) throw Error(`Named dataset "${this.name}" has been disposed.`);
3432
+ let e = this.#t ? this.#e : this.getDefaultData();
3433
+ if (e === void 0) return [];
3434
+ if (!Array.isArray(e)) throw Error(`Named data "${this.name}" is not an array!`);
3435
+ return e;
3436
+ }
3437
+ setData(e) {
3438
+ if (!Array.isArray(e)) throw Error(`Named data "${this.name}" is not an array!`);
3439
+ this.#e = e, this.#t = !0;
3440
+ }
3441
+ resetData() {
3442
+ this.#e = void 0, this.#t = !1;
3443
+ }
3444
+ dispose() {
3445
+ this.#e = void 0, this.#t = !1, this.#n++, this.#r = !0;
3446
+ }
3447
+ }, vc = class {
3448
+ view;
3449
+ #e = /* @__PURE__ */ new Map();
3450
+ #t = /* @__PURE__ */ new Map();
3451
+ constructor(e) {
3452
+ this.view = e;
3453
+ for (let [t, n] of Object.entries(e.spec.datasets ?? {})) this.#e.set(t, new _c(t, e, () => n));
3454
+ }
3455
+ getLocalBinding(e) {
3456
+ return this.#e.get(e);
3457
+ }
3458
+ findDeclaredBinding(e) {
3459
+ return this.#e.get(e) || this.view.dataParent?.namedDataScope.findDeclaredBinding(e);
3460
+ }
3461
+ resolve(e) {
3462
+ let t = this.#e.get(e);
3463
+ if (t) return t;
3464
+ let n = this.view.dataParent?.namedDataScope;
3465
+ if (n) return n.resolve(e);
3466
+ let r = this.#t.get(e);
3467
+ return r || (r = new _c(e, void 0, () => this.view.context.getNamedDataFromProvider(e)), this.#t.set(e, r)), r;
3468
+ }
3469
+ dispose() {
3470
+ for (let e of this.#e.values()) e.dispose();
3471
+ this.#e.clear();
3472
+ for (let e of this.#t.values()) e.dispose();
3473
+ this.#t.clear();
3474
+ }
3475
+ }, yc = "VISIT_SKIP", bc = "VISIT_STOP", xc = (e) => e, Sc = class {
3476
+ spec;
3477
+ namedDataScope;
3478
+ #e;
3479
+ #t;
3480
+ #n = {};
3481
+ #r = {};
3482
+ #i = {};
3483
+ #a;
3484
+ #o;
3485
+ #s = !1;
3486
+ #c = !1;
3487
+ #l = void 0;
3488
+ #u = !1;
3489
+ #d = [];
3490
+ opacityFunction = xc;
3491
+ #f = [];
3492
+ #p = "none";
3493
+ #m = /* @__PURE__ */ new Map();
3494
+ facetCoords = new oe([], JSON.stringify);
3495
+ constructor(e, t, n, r, i, a = {}) {
3496
+ if (!e) throw Error("View spec must be defined!");
3497
+ if (this.context = t, this.layoutParent = n, this.dataParent = r, this.#t = i, this.spec = e, this.namedDataScope = new vc(this), r && e.theme !== void 0) throw Error("\"theme\" is only supported at the root specification. Use \"config\" and \"style\" for subtree customization.");
3498
+ let o = r ? r.getConfigScopes() : [t.getBaseConfig()], s = e.config;
3499
+ if (this.#e = [...o, s].filter((e) => !!e), this.resolutions = {
3500
+ scale: {},
3501
+ axis: {},
3502
+ legend: {}
3503
+ }, We(this), this.options = {
3504
+ inheritEncoding: !1,
3505
+ layoutSizeParams: "own",
3506
+ ...a
3507
+ }, this.flowHandle = void 0, this.needsAxes = {
3508
+ x: !1,
3509
+ y: !1
3510
+ }, this.paramRuntime = new Qs(() => this.dataParent?.paramRuntime, (e) => this.getScaleResolution(e), t.animator, { snapTransitionedUpdates: !0 }), e.params) {
3511
+ let t = /* @__PURE__ */ new Set();
3512
+ for (let n of e.params) {
3513
+ if ("expr" in n) {
3514
+ let { usesScaleHelper: e, globals: r } = u(n.expr), i = r.some((e) => t.has(e));
3515
+ if (e || i) {
3516
+ t.add(n.name), this.#d.push(n);
3517
+ continue;
3518
+ }
3519
+ }
3520
+ this.paramRuntime.registerParam(n);
3521
+ }
3522
+ }
3523
+ this.options.layoutSizeParams !== "inherit" && (this.#a = this.#h("width"), this.#o = this.#h("height"));
3524
+ }
3525
+ #h(e) {
3526
+ if (!(this.paramRuntime.hasLocalParam(e) || this.options.layoutSizeParams != "force" && this.paramRuntime.hasConfiguredParamInScopeChain(e))) return this.paramRuntime.allocateSetter(e, 0);
3527
+ }
3528
+ get name() {
3529
+ return this.spec.name ?? this.#t;
3530
+ }
3531
+ get explicitName() {
3532
+ return this.spec.name;
3533
+ }
3534
+ getZindex() {
3535
+ return this.spec.zindex ?? 0;
3536
+ }
3537
+ get defaultName() {
3538
+ return this.#t;
3539
+ }
3540
+ getConfig() {
3541
+ return cc(this.#e);
3542
+ }
3543
+ getCursorSpec() {
3544
+ return this.spec.cursor;
3545
+ }
3546
+ getCursor() {
3547
+ let e = this.getCursorSpec();
3548
+ return p(e) ? this.paramRuntime.evaluateAndGet(e.expr) : e;
3549
+ }
3550
+ watchCursor(e, t) {
3551
+ let n = this.getCursorSpec();
3552
+ p(n) && this.paramRuntime.watchExpression(n.expr, e, {
3553
+ scopeOwned: !1,
3554
+ registerDisposer: t
3555
+ });
3556
+ }
3557
+ getConfigScopes() {
3558
+ return this.#e.slice();
3559
+ }
3560
+ get coords() {
3561
+ return this.facetCoords.values().next().value;
3562
+ }
3563
+ getPadding() {
3564
+ return this._cache("size/padding", () => Le.createFromConfig(this.spec.padding));
3565
+ }
3566
+ getOverhang() {
3567
+ return Le.zero();
3568
+ }
3569
+ isScrollable() {
3570
+ return this.spec.viewportWidth != null || this.spec.viewportHeight != null;
3571
+ }
3572
+ getSize() {
3573
+ return this._cache("size/size", () => this.isConfiguredVisible() ? new Se(this.#g("width"), this.#g("height")) : we);
3574
+ }
3575
+ getViewportSize() {
3576
+ if (!this.isScrollable()) return this.getSize();
3577
+ if (!this.isConfiguredVisible()) return we;
3578
+ let e = this.getSize();
3579
+ return new Se(this.#g("viewportWidth") ?? e.width, this.#g("viewportHeight") ?? e.height);
3580
+ }
3581
+ #g(e) {
3582
+ let { value: t, implicit: n } = this.#_(e), r = this.resolveSizeValue(e, t), i = Dc(r), a = e == "viewportWidth" || e == "viewportHeight";
3583
+ if (i) {
3584
+ if (a) throw new Q(`Cannot use step-based size with "${e}"!`, this);
3585
+ let t = this.#x(e, r), i = this.getScaleResolution(e == "width" ? "x" : "y")?.getScale();
3586
+ if (i) {
3587
+ let n;
3588
+ if (_s(i.type)) n = i.domain().length;
3589
+ else if (["locus", "index"].includes(i.type)) {
3590
+ let e = i.domain();
3591
+ n = _(e) - e[0];
3592
+ } else throw new Q(`Cannot use step-based size with "${i.type}" scale!`, this);
3593
+ let a = i;
3594
+ n = Lo(n, a.paddingInner(), a.paddingOuter());
3595
+ let o = e == "width" ? "xOffset" : "yOffset", s = this.getScaleResolution(o)?.getScale(), c = r.for ?? (s && _s(s.type) ? "offset" : "position"), l = t;
3596
+ if (c == "offset") {
3597
+ if (!s || !_s(s.type)) throw new Q(`Cannot use ${e}.step.for = "offset" without a discrete ${o} scale!`, this);
3598
+ let t = s, n = Lo(s.domain().length, t.paddingInner(), t.paddingOuter());
3599
+ l *= n / (1 - a.paddingInner());
3600
+ }
3601
+ return {
3602
+ px: n * l,
3603
+ grow: 0
3604
+ };
3605
+ } else if (n) return {
3606
+ px: t,
3607
+ grow: 0
3608
+ };
3609
+ else throw new Q(`Cannot use step-based size with "${e}"!`, this);
3610
+ } else return (r && De(r)) ?? (a ? void 0 : {
3611
+ px: 0,
3612
+ grow: 1
3613
+ });
3614
+ }
3615
+ #_(e) {
3616
+ let t = this.spec[e];
3617
+ return t != null || e == "viewportWidth" || e == "viewportHeight" ? {
3618
+ value: t,
3619
+ implicit: !1
3620
+ } : {
3621
+ value: this.#v(e),
3622
+ implicit: !0
3623
+ };
3624
+ }
3625
+ #v(e) {
3626
+ if (pc(this)) return;
3627
+ let t = this.getConfig().view;
3628
+ if (!t) return;
3629
+ let n = e == "width" ? "x" : "y", r = this.getScaleResolution(n)?.getResolvedScaleType();
3630
+ return r && !_s(r) ? e == "width" ? t.continuousWidth : t.continuousHeight : (e == "width" ? t.discreteWidth : t.discreteHeight) ?? (t.step === void 0 ? void 0 : { step: t.step });
3631
+ }
3632
+ resolveSizeValue(e, t) {
3633
+ if (!p(t)) return t;
3634
+ let n = this.#C(e)();
3635
+ if (Oc(n) || n === "container") return n;
3636
+ throw new Q(`"${e}" ExprRef must resolve to a finite number or "container"!`, this);
3637
+ }
3638
+ registerSizeInvalidation() {
3639
+ this.#y("width", "x"), this.#y("height", "y"), this.#b("width"), this.#b("height"), this.#b("viewportWidth"), this.#b("viewportHeight");
3640
+ }
3641
+ #y(e, t) {
3642
+ let { value: n, implicit: r } = this.#_(e);
3643
+ if (!Dc(n)) return;
3644
+ let i = this.getScaleResolution(t);
3645
+ if (!i) {
3646
+ if (r) return;
3647
+ throw new Q("Cannot use 'step' size without a scale!", this);
3648
+ }
3649
+ let a = () => {
3650
+ let t = this.getSize()[e];
3651
+ this.invalidateSizeCache();
3652
+ let n = this.getSize()[e];
3653
+ Te(t, n) || this.context.requestLayoutReflow();
3654
+ };
3655
+ if (i.addEventListener("domain", a), this.registerDisposer(() => i.removeEventListener("domain", a)), n.for != "position") {
3656
+ let t = e == "width" ? "xOffset" : "yOffset", n = this.getScaleResolution(t);
3657
+ n && _s(n.getResolvedScaleType()) && (n.addEventListener("domain", a), this.registerDisposer(() => n.removeEventListener("domain", a)));
3658
+ }
3659
+ }
3660
+ #b(e) {
3661
+ let { value: t } = this.#_(e);
3662
+ p(t) ? this.#S(e, t.expr) : Dc(t) && p(t.step) && this.#S(e + ".step", t.step.expr);
3663
+ }
3664
+ #x(e, t) {
3665
+ let n = p(t.step) ? this.#C(e + ".step")() : t.step;
3666
+ if (Oc(n)) return n;
3667
+ throw new Q(`"${e}.step" ExprRef must resolve to a finite number!`, this);
3668
+ }
3669
+ #S(e, t) {
3670
+ if (!this.#m.has(e)) {
3671
+ let n = this.paramRuntime.watchExpression(t, () => {
3672
+ this.invalidateSizeCache(), this.context.requestLayoutReflow();
3673
+ });
3674
+ this.#m.set(e, n);
3675
+ }
3676
+ }
3677
+ #C(e) {
3678
+ let t = this.#m.get(e);
3679
+ if (!t) throw new Q(`"${e}" ExprRef was not registered before layout!`, this);
3680
+ return t;
3681
+ }
3682
+ isConfiguredVisible() {
3683
+ return this.context.isViewConfiguredVisible(this);
3684
+ }
3685
+ isVisibleInSpec() {
3686
+ return this.spec.visible ?? !0;
3687
+ }
3688
+ isVisible() {
3689
+ return this.getLayoutAncestors().every((e) => e.isConfiguredVisible());
3690
+ }
3691
+ isDomainInert() {
3692
+ if (this.spec.domainInert) return !0;
3693
+ let e = this.dataParent;
3694
+ return e ? e.isDomainInert() : !1;
3695
+ }
3696
+ getDataInitializationState() {
3697
+ return this.#p;
3698
+ }
3699
+ _setDataInitializationState(e) {
3700
+ this.#p = e;
3701
+ }
3702
+ isDataInitialized() {
3703
+ return this.#p === "ready";
3704
+ }
3705
+ getEffectiveOpacity() {
3706
+ return this.opacityFunction(this.layoutParent?.getEffectiveOpacity() ?? 1);
3707
+ }
3708
+ getPathString() {
3709
+ return this.getLayoutAncestors().map((e) => e.name).reverse().join("/");
3710
+ }
3711
+ #w(e) {
3712
+ let t = [], n = this;
3713
+ do
3714
+ t.push(n), n = n[e];
3715
+ while (n);
3716
+ return t;
3717
+ }
3718
+ getLayoutAncestors() {
3719
+ return this.#w("layoutParent");
3720
+ }
3721
+ getDataAncestors() {
3722
+ return this.#w("dataParent");
3723
+ }
3724
+ handleBroadcast(e) {
3725
+ for (let t of this.#n[e.type] || []) t(e);
3726
+ }
3727
+ _addBroadcastHandler(e, t) {
3728
+ let n = this.#n[e];
3729
+ return n || (n = [], this.#n[e] = n), n.push(t), () => {
3730
+ let n = this.#n[e];
3731
+ if (!n) return;
3732
+ let r = n.indexOf(t);
3733
+ r >= 0 && n.splice(r, 1);
3734
+ };
3735
+ }
3736
+ handleInteraction(e, t) {
3737
+ t && e.type === "mousemove" && e.pointedViews.add(this);
3738
+ let n = t ? this.#r : this.#i;
3739
+ for (let t of n[e.type] || []) t(e);
3740
+ }
3741
+ addInteractionListener(e, t, n) {
3742
+ let r = n ? this.#r : this.#i, i = r[e];
3743
+ i || (i = [], r[e] = i), i.push(t);
3744
+ }
3745
+ removeInteractionListener(e, t, n) {
3746
+ let r = (n ? this.#r : this.#i)?.[e];
3747
+ if (r) {
3748
+ let e = r.indexOf(t);
3749
+ e >= 0 && r.splice(e, 1);
3750
+ }
3751
+ }
3752
+ visit(e) {
3753
+ try {
3754
+ let t = e(this);
3755
+ if (e.postOrder && e.postOrder(this), t !== "VISIT_STOP") return t;
3756
+ } catch (e) {
3757
+ throw e.view = this, e;
3758
+ }
3759
+ }
3760
+ getDescendants() {
3761
+ let e = [];
3762
+ return this.visit((t) => {
3763
+ e.push(t);
3764
+ }), e;
3765
+ }
3766
+ dispose() {
3767
+ for (let e of this.#f) e();
3768
+ this.#f.length = 0;
3769
+ let e = this.flowHandle;
3770
+ e?.collector && (this.context.dataFlow.pruneCollectorBranch(e.collector), this.context.dataFlow.removeCollector(e.collector)), e?.dataSource && e.dataSource.view === this && !e.dataSource.shareKey && this.context.dataFlow.removeDataSource(e.dataSource), this.paramRuntime.dispose(), this.namedDataScope.dispose(), this.context.dataFlow.loadingStatusRegistry.delete(this), this.flowHandle = void 0;
3771
+ }
3772
+ registerDisposer(e) {
3773
+ this.#f.push(e);
3774
+ }
3775
+ disposeSubtree() {
3776
+ let e = () => void 0;
3777
+ e.postOrder = (e) => {
3778
+ e.dispose();
3779
+ }, this.visit(e);
3780
+ }
3781
+ configurePostScaleParams() {
3782
+ let e = [...this.#d, ...gc(this.spec) ?? []];
3783
+ if (e.length && !this.#u) {
3784
+ this.#u = !0, this.#l = !1;
3785
+ for (let t of e) this.paramRuntime.registerParam(t);
3786
+ this.registerDisposer(this._addBroadcastHandler("subtreeDataReady", () => {
3787
+ this.#l = !0, this.#T();
3788
+ }));
3789
+ }
3790
+ }
3791
+ configureViewOpacity() {
3792
+ (!this.opacityFunction || this.opacityFunction === xc) && (this.opacityFunction = wc(this));
3793
+ }
3794
+ finalizeParamRuntimeInitialization() {
3795
+ this.#l === void 0 ? this.paramRuntime.finalizeInitialization() : this.#T();
3796
+ }
3797
+ onBeforeRender() {
3798
+ this.#s ||= !0;
3799
+ }
3800
+ hasRendered() {
3801
+ return this.#s;
3802
+ }
3803
+ render(e, t, n = {}) {
3804
+ if (n.firstFacet && this.facetCoords.clear(), this.facetCoords.set(n.facetId, ge(t, he(n))), this.#a || this.#o) {
3805
+ let e = this.getOverhang(), n = this.layoutParent ? Le.zero() : this.getPadding();
3806
+ this.#a?.(t.width - e.width - n.width), this.#o?.(t.height - e.height - n.height);
3807
+ }
3808
+ this.#c = !0, this.#T();
3809
+ }
3810
+ #T() {
3811
+ this.#l && this.#c && (this.#l = void 0, this.paramRuntime.finalizeInitialization());
3812
+ }
3813
+ getEncoding() {
3814
+ let e = this.dataParent && this.options.inheritEncoding ? this.dataParent.getEncoding() : {}, t = this.spec.encoding || {}, n = {
3815
+ ...e,
3816
+ ...t
3817
+ };
3818
+ for (let [e, t] of Object.entries(n)) t === null && delete n[e];
3819
+ return n;
3820
+ }
3821
+ getFacetAccessor(e) {
3822
+ if (this.layoutParent) return this.layoutParent.getFacetAccessor(this);
3823
+ }
3824
+ getFacetFields(e) {
3825
+ let t = this.getEncoding().sample;
3826
+ return ne(t) ? [t.field] : this.options.inheritEncoding ? this.layoutParent?.getFacetFields(this) : [];
3827
+ }
3828
+ getSampleFacetTexture() {}
3829
+ getSampleFacetPosition(e) {}
3830
+ getParentGridChromePolicy() {
3831
+ return {
3832
+ axes: !0,
3833
+ background: !0
3834
+ };
3835
+ }
3836
+ getScaleResolution(e) {
3837
+ let t = f(e);
3838
+ return this.getDataAncestors().map((e) => e.resolutions.scale[t]).find((e) => e);
3839
+ }
3840
+ getAxisResolution(e) {
3841
+ let t = f(e);
3842
+ return this.getDataAncestors().map((e) => e.resolutions.axis[t]).find((e) => e);
3843
+ }
3844
+ getLegendResolution(e) {
3845
+ let t = f(e);
3846
+ return this.getDataAncestors().map((e) => e.resolutions.legend[t]).find((e) => e);
3847
+ }
3848
+ getConfiguredResolution(e, t) {
3849
+ return this.spec.resolve?.[t]?.[e];
3850
+ }
3851
+ getConfiguredOrDefaultResolution(e, t) {
3852
+ return (this.getConfiguredResolution(e, t) ?? this.getConfiguredResolution("default", t)) || (t == "legend" ? this.getConfiguredOrDefaultResolution(e, "scale") : this.getDefaultResolution(e, t));
3853
+ }
3854
+ getDefaultResolution(e, t) {
3855
+ return "independent";
3856
+ }
3857
+ getBaseUrl() {
3858
+ return ro(() => this.dataParent?.getBaseUrl(), rc(this.spec.baseUrl));
3859
+ }
3860
+ isPickingSupported() {
3861
+ return !0;
3862
+ }
3863
+ getTitleText() {
3864
+ let e = this.spec.title;
3865
+ if (e) return s(e) ? e : p(e.text) ? this.paramRuntime.evaluateAndGet(e.text.expr) : e.text;
3866
+ }
3867
+ _cache(e, t) {
3868
+ return Ve(this, e, t);
3869
+ }
3870
+ _invalidateCacheByPrefix(e, t = "self") {
3871
+ switch (t) {
3872
+ case "self":
3873
+ Ue(this, e);
3874
+ break;
3875
+ case "ancestors":
3876
+ for (let t of this.getLayoutAncestors()) Ue(t, e);
3877
+ break;
3878
+ case "progeny":
3879
+ this.visit((t) => Ue(t, e));
3880
+ break;
3881
+ default:
3882
+ }
3883
+ }
3884
+ invalidateSizeCache() {
3885
+ Ue(this, "size"), this._invalidateCacheByPrefix("size", "ancestors");
3886
+ }
3887
+ propagateInteraction(e) {}
3888
+ };
3889
+ function Cc(e) {
3890
+ return "unitsPerPixel" in e;
3891
+ }
3892
+ function wc(e) {
3893
+ let t = "opacity" in e.spec ? e.spec.opacity : void 0;
3894
+ if (t !== void 0) {
3895
+ if (c(t)) return (e) => e * t;
3896
+ if (Cc(t)) {
3897
+ let n = (t) => {
3898
+ let n = e.getScaleResolution(t), r = n?.getScale();
3899
+ if ([
3900
+ "linear",
3901
+ "index",
3902
+ "locus"
3903
+ ].includes(r?.type)) return {
3904
+ scale: r,
3905
+ scaleResolution: n
3906
+ };
3907
+ }, r = Ec(t.values, "opacity.values", e);
3908
+ if (!o(t.unitsPerPixel)) throw new Q("\"opacity.unitsPerPixel\" must be an array.", e);
3909
+ let i = () => 1, a = [], s = () => {
3910
+ let t = Tc(Ec(a.map((e) => e()), "opacity.unitsPerPixel", e), r, e), n = br().domain(t.unitsPerPixel).range(t.values).clamp(!0);
3911
+ i = (e) => n(e);
3912
+ };
3913
+ a = t.unitsPerPixel.map((t) => {
3914
+ if (p(t)) {
3915
+ let n = e.paramRuntime.watchExpression(t.expr, () => {
3916
+ s(), e.context.animator.requestRender();
3917
+ });
3918
+ return () => n(null);
3919
+ } else return () => t;
3920
+ }), s();
3921
+ let c = (e) => {
3922
+ let t = e.scaleResolution.getAxisLength() || 1e3;
3923
+ return d(e.scale.domain()) / t;
3924
+ }, l;
3925
+ if (t.channel === "auto") {
3926
+ let t = n("x"), r = n("y");
3927
+ if (t && r) l = () => (c(t) + c(r)) / 2;
3928
+ else if (t) l = () => c(t);
3929
+ else if (r) l = () => c(r);
3930
+ else throw new Q("Cannot find a resolved quantitative x or y scale for dynamic opacity!", e);
3931
+ } else {
3932
+ let r = t.channel ? n(t.channel) : n("x") ?? n("y");
3933
+ if (!r) throw new Q("Cannot find a resolved quantitative scale for dynamic opacity!", e);
3934
+ l = () => c(r);
3935
+ }
3936
+ return (e) => i(l()) * e;
3937
+ } else if (p(t)) {
3938
+ let n = e.paramRuntime.watchExpression(t.expr, () => e.context.animator.requestRender());
3939
+ return (e) => n(null) * e;
3940
+ }
3941
+ }
3942
+ return (e) => e;
3943
+ }
3944
+ function Tc(e, t, n) {
3945
+ if (!e.length) throw new Q("\"opacity.unitsPerPixel\" must contain at least one stop.", n);
3946
+ if (e.length !== t.length) throw new Q("\"opacity.unitsPerPixel\" and \"opacity.values\" must have the same length.", n);
3947
+ e.forEach((e, t) => {
3948
+ if (e <= 0) throw new Q("Invalid opacity.unitsPerPixel value at index " + t + ". Stop values must be positive.", n);
3949
+ });
3950
+ let r = e.map((e, n) => ({
3951
+ stop: e,
3952
+ value: t[n]
3953
+ }));
3954
+ r.sort((e, t) => t.stop - e.stop);
3955
+ let i = r.map((e) => e.stop), a = r.map((e) => e.value);
3956
+ for (let t = 1; t < e.length; t++) if (i[t - 1] <= i[t]) throw new Q("\"opacity.unitsPerPixel\" must be strictly decreasing.", n);
3957
+ return {
3958
+ unitsPerPixel: i,
3959
+ values: a
3960
+ };
3961
+ }
3962
+ function Ec(e, t, n) {
3963
+ if (!o(e)) throw new Q("\"" + t + "\" must evaluate to an array.", n);
3964
+ return e.map((e, r) => {
3965
+ if (!c(e) || !Number.isFinite(e)) throw new Q("Invalid " + t + " value at index " + r + ". Expected a finite number.", n);
3966
+ return e;
3967
+ });
3968
+ }
3969
+ var Dc = (e) => !!e && typeof e == "object" && "step" in e;
3970
+ function Oc(e) {
3971
+ return typeof e == "number" && Number.isFinite(e);
3972
+ }
3973
+ var $ = /* @__PURE__ */ new WeakMap(), kc = /* @__PURE__ */ new WeakMap();
3974
+ function Ac(e, t) {
3975
+ Mc(e, t, "Import");
3976
+ }
3977
+ function jc(e, t) {
3978
+ Mc(e, t, "View");
3979
+ }
3980
+ function Mc(e, t, n) {
3981
+ if (t !== null && typeof t != "string") throw Error(n + " scope name must be a string or null.");
3982
+ $.set(e, { name: t });
3983
+ }
3984
+ function Nc(e) {
3985
+ return $.get(e);
3986
+ }
3987
+ function Pc(e, t = {}) {
3988
+ let n = t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude";
3989
+ kc.set(e, n);
3990
+ }
3991
+ function Fc(e, t = {}) {
3992
+ uc(e, t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude");
3993
+ }
3994
+ function Ic(e) {
3995
+ return e.getLayoutAncestors().some(fc);
3996
+ }
3997
+ function Lc(e) {
3998
+ let t = e.getDataAncestors(), n = [];
3999
+ for (let e = t.length - 1; e >= 0; --e) {
4000
+ let r = $.get(t[e]);
4001
+ r && typeof r.name == "string" && n.push(r.name);
4002
+ }
4003
+ return n;
4004
+ }
4005
+ function Rc(e) {
4006
+ let t = e.explicitName;
4007
+ if (!t) throw Error("Cannot build a selector for a view without a name.");
4008
+ return {
4009
+ scope: Lc(e),
4010
+ view: t
4011
+ };
4012
+ }
4013
+ function zc(e, t) {
4014
+ if (!t) throw Error("Cannot build a selector for a parameter without a name.");
4015
+ return {
4016
+ scope: Lc(e),
4017
+ param: t
4018
+ };
4019
+ }
4020
+ function Bc(e) {
4021
+ return Jc(e), "p:" + JSON.stringify({
4022
+ scope: e.scope,
4023
+ param: e.param
4024
+ });
4025
+ }
4026
+ function Vc(e, t) {
4027
+ e.visit((e) => {
4028
+ let n = dc(e);
4029
+ if (n === "excludeSubtree") return yc;
4030
+ if (n !== "exclude") return t(e);
4031
+ });
4032
+ }
4033
+ function Hc(e, t) {
4034
+ e.visit((e) => {
4035
+ let n = kc.get(e);
4036
+ if (n === "excludeSubtree") return yc;
4037
+ if (n !== "exclude") return t(e);
4038
+ });
4039
+ }
4040
+ function Uc(e, t) {
4041
+ if (Yc(t), !il(e, t.scope)) return;
4042
+ let n = [];
4043
+ if (al(e, t.scope, (e) => {
4044
+ e.explicitName === t.view && n.push(e);
4045
+ }, { includeNamedImportRoots: !0 }), n.length === 1) return n[0];
4046
+ if (n.length !== 0) throw Error("View selector is ambiguous for view \"" + t.view + "\" in scope " + JSON.stringify(t.scope));
4047
+ }
4048
+ function Wc(e, t) {
4049
+ if (Jc(t), !il(e, t.scope)) return;
4050
+ let n = [];
4051
+ if (al(e, t.scope, (e) => {
4052
+ for (let [r, i] of e.paramRuntime.paramConfigs) r === t.param && Xc(i) && n.push({
4053
+ view: e,
4054
+ param: i
4055
+ });
4056
+ }), n.length === 1) return n[0];
4057
+ if (n.length !== 0) throw Error("Param selector is ambiguous for param \"" + t.param + "\" in scope " + JSON.stringify(t.scope));
4058
+ }
4059
+ function Gc(e, t) {
4060
+ e.visit((e) => {
4061
+ let n = kc.get(e);
4062
+ if (n === "excludeSubtree") return yc;
4063
+ if (n !== "exclude") for (let [n, r] of e.paramRuntime.paramConfigs) Xc(r) && t({
4064
+ view: e,
4065
+ param: r,
4066
+ selector: zc(e, n)
4067
+ });
4068
+ });
4069
+ }
4070
+ function Kc(e) {
4071
+ let t = [];
4072
+ return Gc(e, (e) => t.push(e)), t;
4073
+ }
4074
+ function qc(e) {
4075
+ let t = [];
4076
+ for (let n of Zc(e)) {
4077
+ let r = Qc(n);
4078
+ el(e, r, t), tl(e, r, t);
4079
+ }
4080
+ return t;
4081
+ }
4082
+ function Jc(e) {
4083
+ if (!e || !Array.isArray(e.scope)) throw Error("Param selector scope must be an array.");
4084
+ if (typeof e.param != "string" || !e.param.length) throw Error("Param selector param must be a non-empty string.");
4085
+ }
4086
+ function Yc(e) {
4087
+ if (!e || !Array.isArray(e.scope)) throw Error("View selector scope must be an array.");
4088
+ if (typeof e.view != "string" || !e.view.length) throw Error("View selector view must be a non-empty string.");
4089
+ }
4090
+ function Xc(e) {
4091
+ return e.persist === !1 ? !1 : v(e) ? !0 : re(e) ? !!e.bind : !1;
4092
+ }
4093
+ function Zc(e) {
4094
+ let t = /* @__PURE__ */ new Set([e]);
4095
+ return e.visit((e) => {
4096
+ let n = $.get(e);
4097
+ n && typeof n.name == "string" && t.add(e);
4098
+ }), Array.from(t);
4099
+ }
4100
+ function Qc(e) {
4101
+ return Lc(e);
4102
+ }
4103
+ function $c(e) {
4104
+ return e.length ? "import scope [" + e.join(" / ") + "]" : "import scope (root)";
4105
+ }
4106
+ function el(e, t, n) {
4107
+ let r = /* @__PURE__ */ new Map();
4108
+ al(e, t, (e) => {
4109
+ for (let [t, n] of e.paramRuntime.paramConfigs) {
4110
+ if (!Xc(n)) continue;
4111
+ let i = r.get(t);
4112
+ i ? i.push(e) : r.set(t, [e]);
4113
+ }
4114
+ });
4115
+ for (let [e, i] of r) {
4116
+ if (i.length <= 1) continue;
4117
+ let r = i.map((e) => e.getPathString()).join(", ");
4118
+ n.push({
4119
+ message: "Bookmarkable parameter \"" + e + "\" is not unique within " + $c(t) + ". Found in: " + r + ".",
4120
+ scope: t
4121
+ });
4122
+ }
4123
+ }
4124
+ function tl(e, t, n) {
4125
+ let r = nl(e, t);
4126
+ if (!r.length) return;
4127
+ let i = r.filter((e) => rl(e));
4128
+ if (i.length <= 1) return;
4129
+ let a = /* @__PURE__ */ new Map();
4130
+ for (let e of i) {
4131
+ let t = $.get(e), n = t ? t.name : void 0;
4132
+ typeof n != "string" || !n.length || a.set(n, (a.get(n) ?? 0) + 1);
4133
+ }
4134
+ for (let [e, r] of a) r > 1 && n.push({
4135
+ message: "Import instance name \"" + e + "\" is used multiple times for addressable instances in " + $c(t) + ".",
4136
+ scope: t
4137
+ });
4138
+ }
4139
+ function nl(e, t) {
4140
+ let n = [];
4141
+ return al(e, t, (e) => {
4142
+ if (Lc(e).length !== t.length + 1) return;
4143
+ let r = $.get(e);
4144
+ !r || typeof r.name != "string" || n.push(e);
4145
+ }, { includeNamedImportRoots: !0 }), n;
4146
+ }
4147
+ function rl(e) {
4148
+ let t = !1;
4149
+ return e.visit((e) => {
4150
+ let n = kc.get(e);
4151
+ if (n === "excludeSubtree") return yc;
4152
+ if (n !== "exclude") {
4153
+ for (let n of e.paramRuntime.paramConfigs.values()) if (Xc(n)) return t = !0, bc;
4154
+ }
4155
+ }), t;
4156
+ }
4157
+ function il(e, t) {
4158
+ let n = e, r = [];
4159
+ for (let i of t) {
4160
+ if (typeof i != "string" || !i.length) throw Error("Scope names must be non-empty strings.");
4161
+ let t, a = !1;
4162
+ if (al(e, r, (e) => {
4163
+ let n = $.get(e);
4164
+ if (!(!n || n.name !== i) && Lc(e).length === r.length + 1) {
4165
+ if (t) return a = !0, bc;
4166
+ t = e;
4167
+ }
4168
+ }, { includeNamedImportRoots: !0 }), a) throw Error("Multiple import instances named \"" + i + "\" in scope.");
4169
+ if (t) n = t, r.push(i);
4170
+ else return;
4171
+ }
4172
+ return n;
4173
+ }
4174
+ function al(e, t, n, r = {}) {
4175
+ let i = r.includeNamedImportRoots ?? !1;
4176
+ e.visit((e) => {
4177
+ let r = $.get(e), a = kc.get(e);
4178
+ if (a === "excludeSubtree") return yc;
4179
+ if (a !== "exclude" && ol(e, t, r, i)) return n(e);
4180
+ });
4181
+ }
4182
+ function ol(e, t, n, r) {
4183
+ let i = Lc(e);
4184
+ return sl(i, t) ? !0 : !r || !n || typeof n.name != "string" || i.length !== t.length + 1 ? !1 : cl(t, i);
4185
+ }
4186
+ function sl(e, t) {
4187
+ return e.length === t.length && cl(e, t);
4188
+ }
4189
+ function cl(e, t) {
4190
+ if (e.length > t.length) return !1;
4191
+ for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
4192
+ return !0;
4193
+ }
4194
+ //#endregion
4195
+ export { Z as $, Xo as A, ut as At, Vo as B, Le as Bt, nc as C, ir as Ct, qs as D, mt as Dt, Xs as E, gt as Et, Yo as F, C as Ft, Ss as G, ve as Gt, Ho as H, Se as Ht, Go as I, qe as It, _s as J, _e as Jt, xs as K, Ne as Kt, Ko as L, Ve as Lt, Wo as M, st as Mt, zo as N, et as Nt, Ms as O, ht as Ot, Jo as P, Qe as Pt, Cs as Q, Uo as R, He as Rt, cc as S, ar as St, Ys as T, A as Tt, Lo as U, Ce as Ut, qo as V, Re as Vt, ws as W, be as Wt, bs as X, xe as Xt, vs as Y, De as Yt, ys as Z, ye as Zt, bc as _, Na as _t, Ic as a, bo as at, fc as b, hi as bt, Pc as c, xo as ct, Wc as d, jo as dt, js as et, Uc as f, ro as ft, yc as g, Ma as gt, Vc as h, to as ht, Rc as i, To as it, Zo as j, lt as jt, Q as k, dt as kt, Ac as l, vo as lt, Hc as m, io as mt, Nc as n, wo as nt, Bc as o, yo as ot, qc as p, ao as pt, gs as q, Me as qt, Lc as r, Do as rt, Fc as s, Eo as st, Kc as t, So as tt, jc as u, Ao as ut, Sc as v, Pa as vt, Qs as w, bn as wt, pc as x, or as xt, hc as y, Fa as yt, Bo as z, Ue as zt };