@undp/data-viz 2.2.3 → 2.3.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 (60) hide show
  1. package/dist/BiVariateChoroplethMap.cjs +1 -1
  2. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  3. package/dist/BiVariateChoroplethMap.d.ts +4 -0
  4. package/dist/BiVariateChoroplethMap.js +328 -401
  5. package/dist/BiVariateChoroplethMap.js.map +1 -1
  6. package/dist/ChoroplethMap.cjs +1 -1
  7. package/dist/ChoroplethMap.cjs.map +1 -1
  8. package/dist/ChoroplethMap.d.ts +4 -0
  9. package/dist/ChoroplethMap.js +341 -416
  10. package/dist/ChoroplethMap.js.map +1 -1
  11. package/dist/Data/01.json +4042 -0
  12. package/dist/Data/mapData.json +4543 -0
  13. package/dist/Data/testMap.json +361 -0
  14. package/dist/DotDensityMap.cjs +1 -1
  15. package/dist/DotDensityMap.cjs.map +1 -1
  16. package/dist/DotDensityMap.d.ts +4 -0
  17. package/dist/DotDensityMap.js +297 -311
  18. package/dist/DotDensityMap.js.map +1 -1
  19. package/dist/{GraphEl-C1Rz1V__.js → GraphEl-L5hNe7wJ.js} +25 -17
  20. package/dist/GraphEl-L5hNe7wJ.js.map +1 -0
  21. package/dist/GraphEl-ic8C5Ksc.cjs +2 -0
  22. package/dist/GraphEl-ic8C5Ksc.cjs.map +1 -0
  23. package/dist/GriddedGraphs.cjs +1 -1
  24. package/dist/GriddedGraphs.d.ts +2 -0
  25. package/dist/GriddedGraphs.js +1 -1
  26. package/dist/GriddedGraphsFromConfig.d.ts +2 -0
  27. package/dist/HybridMap.cjs +1 -1
  28. package/dist/HybridMap.cjs.map +1 -1
  29. package/dist/HybridMap.d.ts +4 -0
  30. package/dist/HybridMap.js +368 -418
  31. package/dist/HybridMap.js.map +1 -1
  32. package/dist/MultiGraphDashboard.d.ts +2 -0
  33. package/dist/MultiGraphDashboardFromConfig.d.ts +2 -0
  34. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +2 -0
  35. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +2 -0
  36. package/dist/PerformanceIntensiveScrollStory.d.ts +2 -0
  37. package/dist/ScrollStory.d.ts +2 -0
  38. package/dist/SingleGraphDashboard.cjs +1 -1
  39. package/dist/SingleGraphDashboard.d.ts +2 -0
  40. package/dist/SingleGraphDashboard.js +1 -1
  41. package/dist/SingleGraphDashboardFromConfig.d.ts +2 -0
  42. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +2 -0
  43. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +2 -0
  44. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +2 -0
  45. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +2 -0
  46. package/dist/Types.d.ts +2 -0
  47. package/dist/index-DLFt97gy.cjs +2 -0
  48. package/dist/index-DLFt97gy.cjs.map +1 -0
  49. package/dist/index-Dp_SfsUA.js +2344 -0
  50. package/dist/index-Dp_SfsUA.js.map +1 -0
  51. package/dist/index.d.ts +18 -0
  52. package/package.json +2 -1
  53. package/readme.md +0 -7
  54. package/dist/GraphEl-BZbunD1_.cjs +0 -2
  55. package/dist/GraphEl-BZbunD1_.cjs.map +0 -1
  56. package/dist/GraphEl-C1Rz1V__.js.map +0 -1
  57. package/dist/zoom-5AkJSuWO.js +0 -1864
  58. package/dist/zoom-5AkJSuWO.js.map +0 -1
  59. package/dist/zoom-ChcvXFIz.cjs +0 -2
  60. package/dist/zoom-ChcvXFIz.cjs.map +0 -1
@@ -0,0 +1,2344 @@
1
+ import { c as ei } from "./index-DCsFBfJ_.js";
2
+ import { T as ii, d as me, t as ri, n as oi } from "./timer-B39XOBYL.js";
3
+ import { i as pt, a as qn, b as ui, d as Vn } from "./string-C_xJ4Wg4.js";
4
+ import { s as vt, n as we, m as ai, a as li, b as ci, c as rn, d as It } from "./select-DKy99ogv.js";
5
+ import { p as ht } from "./pointer-CWRWOsrb.js";
6
+ class gt {
7
+ constructor() {
8
+ this._partials = new Float64Array(32), this._n = 0;
9
+ }
10
+ add(n) {
11
+ const e = this._partials;
12
+ let i = 0;
13
+ for (let r = 0; r < this._n && r < 32; r++) {
14
+ const u = e[r], o = n + u, l = Math.abs(n) < Math.abs(u) ? n - (o - u) : u - (o - n);
15
+ l && (e[i++] = l), n = o;
16
+ }
17
+ return e[i] = n, this._n = i + 1, this;
18
+ }
19
+ valueOf() {
20
+ const n = this._partials;
21
+ let e = this._n, i, r, u, o = 0;
22
+ if (e > 0) {
23
+ for (o = n[--e]; e > 0 && (i = o, r = n[--e], o = i + r, u = r - (o - i), !u); )
24
+ ;
25
+ e > 0 && (u < 0 && n[e - 1] < 0 || u > 0 && n[e - 1] > 0) && (r = u * 2, i = o + r, r == i - o && (o = i));
26
+ }
27
+ return o;
28
+ }
29
+ }
30
+ function* si(t) {
31
+ for (const n of t)
32
+ yield* n;
33
+ }
34
+ function _e(t) {
35
+ return Array.from(si(t));
36
+ }
37
+ var Bn = 180 / Math.PI, pn = {
38
+ translateX: 0,
39
+ translateY: 0,
40
+ rotate: 0,
41
+ skewX: 0,
42
+ scaleX: 1,
43
+ scaleY: 1
44
+ };
45
+ function Ee(t, n, e, i, r, u) {
46
+ var o, l, p;
47
+ return (o = Math.sqrt(t * t + n * n)) && (t /= o, n /= o), (p = t * e + n * i) && (e -= t * p, i -= n * p), (l = Math.sqrt(e * e + i * i)) && (e /= l, i /= l, p /= l), t * i < n * e && (t = -t, n = -n, p = -p, o = -o), {
48
+ translateX: r,
49
+ translateY: u,
50
+ rotate: Math.atan2(n, t) * Bn,
51
+ skewX: Math.atan(p) * Bn,
52
+ scaleX: o,
53
+ scaleY: l
54
+ };
55
+ }
56
+ var Xt;
57
+ function fi(t) {
58
+ const n = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(t + "");
59
+ return n.isIdentity ? pn : Ee(n.a, n.b, n.c, n.d, n.e, n.f);
60
+ }
61
+ function hi(t) {
62
+ return t == null || (Xt || (Xt = document.createElementNS("http://www.w3.org/2000/svg", "g")), Xt.setAttribute("transform", t), !(t = Xt.transform.baseVal.consolidate())) ? pn : (t = t.matrix, Ee(t.a, t.b, t.c, t.d, t.e, t.f));
63
+ }
64
+ function Se(t, n, e, i) {
65
+ function r(s) {
66
+ return s.length ? s.pop() + " " : "";
67
+ }
68
+ function u(s, a, f, c, h, y) {
69
+ if (s !== f || a !== c) {
70
+ var m = h.push("translate(", null, n, null, e);
71
+ y.push({ i: m - 4, x: pt(s, f) }, { i: m - 2, x: pt(a, c) });
72
+ } else (f || c) && h.push("translate(" + f + n + c + e);
73
+ }
74
+ function o(s, a, f, c) {
75
+ s !== a ? (s - a > 180 ? a += 360 : a - s > 180 && (s += 360), c.push({ i: f.push(r(f) + "rotate(", null, i) - 2, x: pt(s, a) })) : a && f.push(r(f) + "rotate(" + a + i);
76
+ }
77
+ function l(s, a, f, c) {
78
+ s !== a ? c.push({ i: f.push(r(f) + "skewX(", null, i) - 2, x: pt(s, a) }) : a && f.push(r(f) + "skewX(" + a + i);
79
+ }
80
+ function p(s, a, f, c, h, y) {
81
+ if (s !== f || a !== c) {
82
+ var m = h.push(r(h) + "scale(", null, ",", null, ")");
83
+ y.push({ i: m - 4, x: pt(s, f) }, { i: m - 2, x: pt(a, c) });
84
+ } else (f !== 1 || c !== 1) && h.push(r(h) + "scale(" + f + "," + c + ")");
85
+ }
86
+ return function(s, a) {
87
+ var f = [], c = [];
88
+ return s = t(s), a = t(a), u(s.translateX, s.translateY, a.translateX, a.translateY, f, c), o(s.rotate, a.rotate, f, c), l(s.skewX, a.skewX, f, c), p(s.scaleX, s.scaleY, a.scaleX, a.scaleY, f, c), s = a = null, function(h) {
89
+ for (var y = -1, m = c.length, _; ++y < m; ) f[(_ = c[y]).i] = _.x(h);
90
+ return f.join("");
91
+ };
92
+ };
93
+ }
94
+ var pi = Se(fi, "px, ", "px)", "deg)"), vi = Se(hi, ", ", ")", ")"), gi = 1e-12;
95
+ function Un(t) {
96
+ return ((t = Math.exp(t)) + 1 / t) / 2;
97
+ }
98
+ function di(t) {
99
+ return ((t = Math.exp(t)) - 1 / t) / 2;
100
+ }
101
+ function yi(t) {
102
+ return ((t = Math.exp(2 * t)) - 1) / (t + 1);
103
+ }
104
+ const mi = (function t(n, e, i) {
105
+ function r(u, o) {
106
+ var l = u[0], p = u[1], s = u[2], a = o[0], f = o[1], c = o[2], h = a - l, y = f - p, m = h * h + y * y, _, w;
107
+ if (m < gi)
108
+ w = Math.log(c / s) / n, _ = function(I) {
109
+ return [
110
+ l + I * h,
111
+ p + I * y,
112
+ s * Math.exp(n * I * w)
113
+ ];
114
+ };
115
+ else {
116
+ var M = Math.sqrt(m), P = (c * c - s * s + i * m) / (2 * s * e * M), S = (c * c - s * s - i * m) / (2 * c * e * M), N = Math.log(Math.sqrt(P * P + 1) - P), T = Math.log(Math.sqrt(S * S + 1) - S);
117
+ w = (T - N) / n, _ = function(I) {
118
+ var F = I * w, $ = Un(N), G = s / (e * M) * ($ * yi(n * F + N) - di(N));
119
+ return [
120
+ l + G * h,
121
+ p + G * y,
122
+ s * $ / Un(n * F + N)
123
+ ];
124
+ };
125
+ }
126
+ return _.duration = w * 1e3 * n / Math.SQRT2, _;
127
+ }
128
+ return r.rho = function(u) {
129
+ var o = Math.max(1e-3, +u), l = o * o, p = l * l;
130
+ return t(o, l, p);
131
+ }, r;
132
+ })(Math.SQRT2, 2, 4);
133
+ function Hn(t, n, e) {
134
+ var i = new ii();
135
+ return n = n == null ? 0 : +n, i.restart((r) => {
136
+ i.stop(), t(r + n);
137
+ }, n, e), i;
138
+ }
139
+ function wi(t, n = {}) {
140
+ if (t.bbox != null && n.recompute !== !0)
141
+ return t.bbox;
142
+ const e = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
143
+ return ei(t, (i) => {
144
+ e[0] > i[0] && (e[0] = i[0]), e[1] > i[1] && (e[1] = i[1]), e[2] < i[0] && (e[2] = i[0]), e[3] < i[1] && (e[3] = i[1]);
145
+ }), e;
146
+ }
147
+ var Fo = wi, C = 1e-6, Me = 1e-12, k = Math.PI, K = k / 2, Wn = k / 4, J = k * 2, Z = 180 / k, B = k / 180, O = Math.abs, ze = Math.atan, dt = Math.atan2, Y = Math.cos, _i = Math.exp, Ei = Math.log, D = Math.sin, qt = Math.sign || function(t) {
148
+ return t > 0 ? 1 : t < 0 ? -1 : 0;
149
+ }, tt = Math.sqrt, Si = Math.tan;
150
+ function Mi(t) {
151
+ return t > 1 ? 0 : t < -1 ? k : Math.acos(t);
152
+ }
153
+ function nt(t) {
154
+ return t > 1 ? K : t < -1 ? -K : Math.asin(t);
155
+ }
156
+ function b() {
157
+ }
158
+ function Zt(t, n) {
159
+ t && Kn.hasOwnProperty(t.type) && Kn[t.type](t, n);
160
+ }
161
+ var Zn = {
162
+ Feature: function(t, n) {
163
+ Zt(t.geometry, n);
164
+ },
165
+ FeatureCollection: function(t, n) {
166
+ for (var e = t.features, i = -1, r = e.length; ++i < r; ) Zt(e[i].geometry, n);
167
+ }
168
+ }, Kn = {
169
+ Sphere: function(t, n) {
170
+ n.sphere();
171
+ },
172
+ Point: function(t, n) {
173
+ t = t.coordinates, n.point(t[0], t[1], t[2]);
174
+ },
175
+ MultiPoint: function(t, n) {
176
+ for (var e = t.coordinates, i = -1, r = e.length; ++i < r; ) t = e[i], n.point(t[0], t[1], t[2]);
177
+ },
178
+ LineString: function(t, n) {
179
+ vn(t.coordinates, n, 0);
180
+ },
181
+ MultiLineString: function(t, n) {
182
+ for (var e = t.coordinates, i = -1, r = e.length; ++i < r; ) vn(e[i], n, 0);
183
+ },
184
+ Polygon: function(t, n) {
185
+ Jn(t.coordinates, n);
186
+ },
187
+ MultiPolygon: function(t, n) {
188
+ for (var e = t.coordinates, i = -1, r = e.length; ++i < r; ) Jn(e[i], n);
189
+ },
190
+ GeometryCollection: function(t, n) {
191
+ for (var e = t.geometries, i = -1, r = e.length; ++i < r; ) Zt(e[i], n);
192
+ }
193
+ };
194
+ function vn(t, n, e) {
195
+ var i = -1, r = t.length - e, u;
196
+ for (n.lineStart(); ++i < r; ) u = t[i], n.point(u[0], u[1], u[2]);
197
+ n.lineEnd();
198
+ }
199
+ function Jn(t, n) {
200
+ var e = -1, i = t.length;
201
+ for (n.polygonStart(); ++e < i; ) vn(t[e], n, 1);
202
+ n.polygonEnd();
203
+ }
204
+ function mt(t, n) {
205
+ t && Zn.hasOwnProperty(t.type) ? Zn[t.type](t, n) : Zt(t, n);
206
+ }
207
+ function gn(t) {
208
+ return [dt(t[1], t[0]), nt(t[2])];
209
+ }
210
+ function _t(t) {
211
+ var n = t[0], e = t[1], i = Y(e);
212
+ return [i * Y(n), i * D(n), D(e)];
213
+ }
214
+ function kt(t, n) {
215
+ return t[0] * n[0] + t[1] * n[1] + t[2] * n[2];
216
+ }
217
+ function Kt(t, n) {
218
+ return [t[1] * n[2] - t[2] * n[1], t[2] * n[0] - t[0] * n[2], t[0] * n[1] - t[1] * n[0]];
219
+ }
220
+ function ln(t, n) {
221
+ t[0] += n[0], t[1] += n[1], t[2] += n[2];
222
+ }
223
+ function Dt(t, n) {
224
+ return [t[0] * n, t[1] * n, t[2] * n];
225
+ }
226
+ function dn(t) {
227
+ var n = tt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]);
228
+ t[0] /= n, t[1] /= n, t[2] /= n;
229
+ }
230
+ function yn(t, n) {
231
+ function e(i, r) {
232
+ return i = t(i, r), n(i[0], i[1]);
233
+ }
234
+ return t.invert && n.invert && (e.invert = function(i, r) {
235
+ return i = n.invert(i, r), i && t.invert(i[0], i[1]);
236
+ }), e;
237
+ }
238
+ function mn(t, n) {
239
+ return O(t) > k && (t -= Math.round(t / J) * J), [t, n];
240
+ }
241
+ mn.invert = mn;
242
+ function Pe(t, n, e) {
243
+ return (t %= J) ? n || e ? yn(bn(t), jn(n, e)) : bn(t) : n || e ? jn(n, e) : mn;
244
+ }
245
+ function Qn(t) {
246
+ return function(n, e) {
247
+ return n += t, O(n) > k && (n -= Math.round(n / J) * J), [n, e];
248
+ };
249
+ }
250
+ function bn(t) {
251
+ var n = Qn(t);
252
+ return n.invert = Qn(-t), n;
253
+ }
254
+ function jn(t, n) {
255
+ var e = Y(t), i = D(t), r = Y(n), u = D(n);
256
+ function o(l, p) {
257
+ var s = Y(p), a = Y(l) * s, f = D(l) * s, c = D(p), h = c * e + a * i;
258
+ return [
259
+ dt(f * r - h * u, a * e - c * i),
260
+ nt(h * r + f * u)
261
+ ];
262
+ }
263
+ return o.invert = function(l, p) {
264
+ var s = Y(p), a = Y(l) * s, f = D(l) * s, c = D(p), h = c * r - f * u;
265
+ return [
266
+ dt(f * r + c * u, a * e + h * i),
267
+ nt(h * e - a * i)
268
+ ];
269
+ }, o;
270
+ }
271
+ function zi(t) {
272
+ t = Pe(t[0] * B, t[1] * B, t.length > 2 ? t[2] * B : 0);
273
+ function n(e) {
274
+ return e = t(e[0] * B, e[1] * B), e[0] *= Z, e[1] *= Z, e;
275
+ }
276
+ return n.invert = function(e) {
277
+ return e = t.invert(e[0] * B, e[1] * B), e[0] *= Z, e[1] *= Z, e;
278
+ }, n;
279
+ }
280
+ function Pi(t, n, e, i, r, u) {
281
+ if (e) {
282
+ var o = Y(n), l = D(n), p = i * e;
283
+ r == null ? (r = n + i * J, u = n - p / 2) : (r = te(o, r), u = te(o, u), (i > 0 ? r < u : r > u) && (r += i * J));
284
+ for (var s, a = r; i > 0 ? a > u : a < u; a -= p)
285
+ s = gn([o, -l * Y(a), -l * D(a)]), t.point(s[0], s[1]);
286
+ }
287
+ }
288
+ function te(t, n) {
289
+ n = _t(n), n[0] -= t, dn(n);
290
+ var e = Mi(-n[1]);
291
+ return ((-n[2] < 0 ? -e : e) + J - C) % J;
292
+ }
293
+ function Te() {
294
+ var t = [], n;
295
+ return {
296
+ point: function(e, i, r) {
297
+ n.push([e, i, r]);
298
+ },
299
+ lineStart: function() {
300
+ t.push(n = []);
301
+ },
302
+ lineEnd: b,
303
+ rejoin: function() {
304
+ t.length > 1 && t.push(t.pop().concat(t.shift()));
305
+ },
306
+ result: function() {
307
+ var e = t;
308
+ return t = [], n = null, e;
309
+ }
310
+ };
311
+ }
312
+ function Vt(t, n) {
313
+ return O(t[0] - n[0]) < C && O(t[1] - n[1]) < C;
314
+ }
315
+ function Gt(t, n, e, i) {
316
+ this.x = t, this.z = n, this.o = e, this.e = i, this.v = !1, this.n = this.p = null;
317
+ }
318
+ function Ae(t, n, e, i, r) {
319
+ var u = [], o = [], l, p;
320
+ if (t.forEach(function(y) {
321
+ if (!((m = y.length - 1) <= 0)) {
322
+ var m, _ = y[0], w = y[m], M;
323
+ if (Vt(_, w)) {
324
+ if (!_[2] && !w[2]) {
325
+ for (r.lineStart(), l = 0; l < m; ++l) r.point((_ = y[l])[0], _[1]);
326
+ r.lineEnd();
327
+ return;
328
+ }
329
+ w[0] += 2 * C;
330
+ }
331
+ u.push(M = new Gt(_, y, null, !0)), o.push(M.o = new Gt(_, null, M, !1)), u.push(M = new Gt(w, y, null, !1)), o.push(M.o = new Gt(w, null, M, !0));
332
+ }
333
+ }), !!u.length) {
334
+ for (o.sort(n), ne(u), ne(o), l = 0, p = o.length; l < p; ++l)
335
+ o[l].e = e = !e;
336
+ for (var s = u[0], a, f; ; ) {
337
+ for (var c = s, h = !0; c.v; ) if ((c = c.n) === s) return;
338
+ a = c.z, r.lineStart();
339
+ do {
340
+ if (c.v = c.o.v = !0, c.e) {
341
+ if (h)
342
+ for (l = 0, p = a.length; l < p; ++l) r.point((f = a[l])[0], f[1]);
343
+ else
344
+ i(c.x, c.n.x, 1, r);
345
+ c = c.n;
346
+ } else {
347
+ if (h)
348
+ for (a = c.p.z, l = a.length - 1; l >= 0; --l) r.point((f = a[l])[0], f[1]);
349
+ else
350
+ i(c.x, c.p.x, -1, r);
351
+ c = c.p;
352
+ }
353
+ c = c.o, a = c.z, h = !h;
354
+ } while (!c.v);
355
+ r.lineEnd();
356
+ }
357
+ }
358
+ }
359
+ function ne(t) {
360
+ if (n = t.length) {
361
+ for (var n, e = 0, i = t[0], r; ++e < n; )
362
+ i.n = r = t[e], r.p = i, i = r;
363
+ i.n = r = t[0], r.p = i;
364
+ }
365
+ }
366
+ function cn(t) {
367
+ return O(t[0]) <= k ? t[0] : qt(t[0]) * ((O(t[0]) + k) % J - k);
368
+ }
369
+ function Ti(t, n) {
370
+ var e = cn(n), i = n[1], r = D(i), u = [D(e), -Y(e), 0], o = 0, l = 0, p = new gt();
371
+ r === 1 ? i = K + C : r === -1 && (i = -K - C);
372
+ for (var s = 0, a = t.length; s < a; ++s)
373
+ if (c = (f = t[s]).length)
374
+ for (var f, c, h = f[c - 1], y = cn(h), m = h[1] / 2 + Wn, _ = D(m), w = Y(m), M = 0; M < c; ++M, y = S, _ = T, w = I, h = P) {
375
+ var P = f[M], S = cn(P), N = P[1] / 2 + Wn, T = D(N), I = Y(N), F = S - y, $ = F >= 0 ? 1 : -1, G = $ * F, R = G > k, W = _ * T;
376
+ if (p.add(dt(W * $ * D(G), w * I + W * Y(G))), o += R ? F + $ * J : F, R ^ y >= e ^ S >= e) {
377
+ var q = Kt(_t(h), _t(P));
378
+ dn(q);
379
+ var v = Kt(u, q);
380
+ dn(v);
381
+ var g = (R ^ F >= 0 ? -1 : 1) * nt(v[2]);
382
+ (i > g || i === g && (q[0] || q[1])) && (l += R ^ F >= 0 ? 1 : -1);
383
+ }
384
+ }
385
+ return (o < -C || o < C && p < -Me) ^ l & 1;
386
+ }
387
+ function Ne(t, n, e, i) {
388
+ return function(r) {
389
+ var u = n(r), o = Te(), l = n(o), p = !1, s, a, f, c = {
390
+ point: h,
391
+ lineStart: m,
392
+ lineEnd: _,
393
+ polygonStart: function() {
394
+ c.point = w, c.lineStart = M, c.lineEnd = P, a = [], s = [];
395
+ },
396
+ polygonEnd: function() {
397
+ c.point = h, c.lineStart = m, c.lineEnd = _, a = _e(a);
398
+ var S = Ti(s, i);
399
+ a.length ? (p || (r.polygonStart(), p = !0), Ae(a, Ni, S, e, r)) : S && (p || (r.polygonStart(), p = !0), r.lineStart(), e(null, null, 1, r), r.lineEnd()), p && (r.polygonEnd(), p = !1), a = s = null;
400
+ },
401
+ sphere: function() {
402
+ r.polygonStart(), r.lineStart(), e(null, null, 1, r), r.lineEnd(), r.polygonEnd();
403
+ }
404
+ };
405
+ function h(S, N) {
406
+ t(S, N) && r.point(S, N);
407
+ }
408
+ function y(S, N) {
409
+ u.point(S, N);
410
+ }
411
+ function m() {
412
+ c.point = y, u.lineStart();
413
+ }
414
+ function _() {
415
+ c.point = h, u.lineEnd();
416
+ }
417
+ function w(S, N) {
418
+ f.push([S, N]), l.point(S, N);
419
+ }
420
+ function M() {
421
+ l.lineStart(), f = [];
422
+ }
423
+ function P() {
424
+ w(f[0][0], f[0][1]), l.lineEnd();
425
+ var S = l.clean(), N = o.result(), T, I = N.length, F, $, G;
426
+ if (f.pop(), s.push(f), f = null, !!I) {
427
+ if (S & 1) {
428
+ if ($ = N[0], (F = $.length - 1) > 0) {
429
+ for (p || (r.polygonStart(), p = !0), r.lineStart(), T = 0; T < F; ++T) r.point((G = $[T])[0], G[1]);
430
+ r.lineEnd();
431
+ }
432
+ return;
433
+ }
434
+ I > 1 && S & 2 && N.push(N.pop().concat(N.shift())), a.push(N.filter(Ai));
435
+ }
436
+ }
437
+ return c;
438
+ };
439
+ }
440
+ function Ai(t) {
441
+ return t.length > 1;
442
+ }
443
+ function Ni(t, n) {
444
+ return ((t = t.x)[0] < 0 ? t[1] - K - C : K - t[1]) - ((n = n.x)[0] < 0 ? n[1] - K - C : K - n[1]);
445
+ }
446
+ const ee = Ne(
447
+ function() {
448
+ return !0;
449
+ },
450
+ Ri,
451
+ Ci,
452
+ [-k, -K]
453
+ );
454
+ function Ri(t) {
455
+ var n = NaN, e = NaN, i = NaN, r;
456
+ return {
457
+ lineStart: function() {
458
+ t.lineStart(), r = 1;
459
+ },
460
+ point: function(u, o) {
461
+ var l = u > 0 ? k : -k, p = O(u - n);
462
+ O(p - k) < C ? (t.point(n, e = (e + o) / 2 > 0 ? K : -K), t.point(i, e), t.lineEnd(), t.lineStart(), t.point(l, e), t.point(u, e), r = 0) : i !== l && p >= k && (O(n - i) < C && (n -= i * C), O(u - l) < C && (u -= l * C), e = xi(n, e, u, o), t.point(i, e), t.lineEnd(), t.lineStart(), t.point(l, e), r = 0), t.point(n = u, e = o), i = l;
463
+ },
464
+ lineEnd: function() {
465
+ t.lineEnd(), n = e = NaN;
466
+ },
467
+ clean: function() {
468
+ return 2 - r;
469
+ }
470
+ };
471
+ }
472
+ function xi(t, n, e, i) {
473
+ var r, u, o = D(t - e);
474
+ return O(o) > C ? ze((D(n) * (u = Y(i)) * D(e) - D(i) * (r = Y(n)) * D(t)) / (r * u * o)) : (n + i) / 2;
475
+ }
476
+ function Ci(t, n, e, i) {
477
+ var r;
478
+ if (t == null)
479
+ r = e * K, i.point(-k, r), i.point(0, r), i.point(k, r), i.point(k, 0), i.point(k, -r), i.point(0, -r), i.point(-k, -r), i.point(-k, 0), i.point(-k, r);
480
+ else if (O(t[0] - n[0]) > C) {
481
+ var u = t[0] < n[0] ? k : -k;
482
+ r = e * u / 2, i.point(-u, r), i.point(0, r), i.point(u, r);
483
+ } else
484
+ i.point(n[0], n[1]);
485
+ }
486
+ function Ii(t) {
487
+ var n = Y(t), e = 2 * B, i = n > 0, r = O(n) > C;
488
+ function u(a, f, c, h) {
489
+ Pi(h, t, e, c, a, f);
490
+ }
491
+ function o(a, f) {
492
+ return Y(a) * Y(f) > n;
493
+ }
494
+ function l(a) {
495
+ var f, c, h, y, m;
496
+ return {
497
+ lineStart: function() {
498
+ y = h = !1, m = 1;
499
+ },
500
+ point: function(_, w) {
501
+ var M = [_, w], P, S = o(_, w), N = i ? S ? 0 : s(_, w) : S ? s(_ + (_ < 0 ? k : -k), w) : 0;
502
+ if (!f && (y = h = S) && a.lineStart(), S !== h && (P = p(f, M), (!P || Vt(f, P) || Vt(M, P)) && (M[2] = 1)), S !== h)
503
+ m = 0, S ? (a.lineStart(), P = p(M, f), a.point(P[0], P[1])) : (P = p(f, M), a.point(P[0], P[1], 2), a.lineEnd()), f = P;
504
+ else if (r && f && i ^ S) {
505
+ var T;
506
+ !(N & c) && (T = p(M, f, !0)) && (m = 0, i ? (a.lineStart(), a.point(T[0][0], T[0][1]), a.point(T[1][0], T[1][1]), a.lineEnd()) : (a.point(T[1][0], T[1][1]), a.lineEnd(), a.lineStart(), a.point(T[0][0], T[0][1], 3)));
507
+ }
508
+ S && (!f || !Vt(f, M)) && a.point(M[0], M[1]), f = M, h = S, c = N;
509
+ },
510
+ lineEnd: function() {
511
+ h && a.lineEnd(), f = null;
512
+ },
513
+ // Rejoin first and last segments if there were intersections and the first
514
+ // and last points were visible.
515
+ clean: function() {
516
+ return m | (y && h) << 1;
517
+ }
518
+ };
519
+ }
520
+ function p(a, f, c) {
521
+ var h = _t(a), y = _t(f), m = [1, 0, 0], _ = Kt(h, y), w = kt(_, _), M = _[0], P = w - M * M;
522
+ if (!P) return !c && a;
523
+ var S = n * w / P, N = -n * M / P, T = Kt(m, _), I = Dt(m, S), F = Dt(_, N);
524
+ ln(I, F);
525
+ var $ = T, G = kt(I, $), R = kt($, $), W = G * G - R * (kt(I, I) - 1);
526
+ if (!(W < 0)) {
527
+ var q = tt(W), v = Dt($, (-G - q) / R);
528
+ if (ln(v, I), v = gn(v), !c) return v;
529
+ var g = a[0], d = f[0], E = a[1], z = f[1], A;
530
+ d < g && (A = g, g = d, d = A);
531
+ var x = d - g, X = O(x - k) < C, L = X || x < C;
532
+ if (!X && z < E && (A = E, E = z, z = A), L ? X ? E + z > 0 ^ v[1] < (O(v[0] - g) < C ? E : z) : E <= v[1] && v[1] <= z : x > k ^ (g <= v[0] && v[0] <= d)) {
533
+ var U = Dt($, (-G + q) / R);
534
+ return ln(U, I), [v, gn(U)];
535
+ }
536
+ }
537
+ }
538
+ function s(a, f) {
539
+ var c = i ? t : k - t, h = 0;
540
+ return a < -c ? h |= 1 : a > c && (h |= 2), f < -c ? h |= 4 : f > c && (h |= 8), h;
541
+ }
542
+ return Ne(o, l, u, i ? [0, -t] : [-k, t - k]);
543
+ }
544
+ function Fi(t, n, e, i, r, u) {
545
+ var o = t[0], l = t[1], p = n[0], s = n[1], a = 0, f = 1, c = p - o, h = s - l, y;
546
+ if (y = e - o, !(!c && y > 0)) {
547
+ if (y /= c, c < 0) {
548
+ if (y < a) return;
549
+ y < f && (f = y);
550
+ } else if (c > 0) {
551
+ if (y > f) return;
552
+ y > a && (a = y);
553
+ }
554
+ if (y = r - o, !(!c && y < 0)) {
555
+ if (y /= c, c < 0) {
556
+ if (y > f) return;
557
+ y > a && (a = y);
558
+ } else if (c > 0) {
559
+ if (y < a) return;
560
+ y < f && (f = y);
561
+ }
562
+ if (y = i - l, !(!h && y > 0)) {
563
+ if (y /= h, h < 0) {
564
+ if (y < a) return;
565
+ y < f && (f = y);
566
+ } else if (h > 0) {
567
+ if (y > f) return;
568
+ y > a && (a = y);
569
+ }
570
+ if (y = u - l, !(!h && y < 0)) {
571
+ if (y /= h, h < 0) {
572
+ if (y > f) return;
573
+ y > a && (a = y);
574
+ } else if (h > 0) {
575
+ if (y < a) return;
576
+ y < f && (f = y);
577
+ }
578
+ return a > 0 && (t[0] = o + a * c, t[1] = l + a * h), f < 1 && (n[0] = o + f * c, n[1] = l + f * h), !0;
579
+ }
580
+ }
581
+ }
582
+ }
583
+ }
584
+ var Mt = 1e9, Lt = -Mt;
585
+ function $i(t, n, e, i) {
586
+ function r(s, a) {
587
+ return t <= s && s <= e && n <= a && a <= i;
588
+ }
589
+ function u(s, a, f, c) {
590
+ var h = 0, y = 0;
591
+ if (s == null || (h = o(s, f)) !== (y = o(a, f)) || p(s, a) < 0 ^ f > 0)
592
+ do
593
+ c.point(h === 0 || h === 3 ? t : e, h > 1 ? i : n);
594
+ while ((h = (h + f + 4) % 4) !== y);
595
+ else
596
+ c.point(a[0], a[1]);
597
+ }
598
+ function o(s, a) {
599
+ return O(s[0] - t) < C ? a > 0 ? 0 : 3 : O(s[0] - e) < C ? a > 0 ? 2 : 1 : O(s[1] - n) < C ? a > 0 ? 1 : 0 : a > 0 ? 3 : 2;
600
+ }
601
+ function l(s, a) {
602
+ return p(s.x, a.x);
603
+ }
604
+ function p(s, a) {
605
+ var f = o(s, 1), c = o(a, 1);
606
+ return f !== c ? f - c : f === 0 ? a[1] - s[1] : f === 1 ? s[0] - a[0] : f === 2 ? s[1] - a[1] : a[0] - s[0];
607
+ }
608
+ return function(s) {
609
+ var a = s, f = Te(), c, h, y, m, _, w, M, P, S, N, T, I = {
610
+ point: F,
611
+ lineStart: W,
612
+ lineEnd: q,
613
+ polygonStart: G,
614
+ polygonEnd: R
615
+ };
616
+ function F(g, d) {
617
+ r(g, d) && a.point(g, d);
618
+ }
619
+ function $() {
620
+ for (var g = 0, d = 0, E = h.length; d < E; ++d)
621
+ for (var z = h[d], A = 1, x = z.length, X = z[0], L, U, V = X[0], H = X[1]; A < x; ++A)
622
+ L = V, U = H, X = z[A], V = X[0], H = X[1], U <= i ? H > i && (V - L) * (i - U) > (H - U) * (t - L) && ++g : H <= i && (V - L) * (i - U) < (H - U) * (t - L) && --g;
623
+ return g;
624
+ }
625
+ function G() {
626
+ a = f, c = [], h = [], T = !0;
627
+ }
628
+ function R() {
629
+ var g = $(), d = T && g, E = (c = _e(c)).length;
630
+ (d || E) && (s.polygonStart(), d && (s.lineStart(), u(null, null, 1, s), s.lineEnd()), E && Ae(c, l, g, u, s), s.polygonEnd()), a = s, c = h = y = null;
631
+ }
632
+ function W() {
633
+ I.point = v, h && h.push(y = []), N = !0, S = !1, M = P = NaN;
634
+ }
635
+ function q() {
636
+ c && (v(m, _), w && S && f.rejoin(), c.push(f.result())), I.point = F, S && a.lineEnd();
637
+ }
638
+ function v(g, d) {
639
+ var E = r(g, d);
640
+ if (h && y.push([g, d]), N)
641
+ m = g, _ = d, w = E, N = !1, E && (a.lineStart(), a.point(g, d));
642
+ else if (E && S) a.point(g, d);
643
+ else {
644
+ var z = [M = Math.max(Lt, Math.min(Mt, M)), P = Math.max(Lt, Math.min(Mt, P))], A = [g = Math.max(Lt, Math.min(Mt, g)), d = Math.max(Lt, Math.min(Mt, d))];
645
+ Fi(z, A, t, n, e, i) ? (S || (a.lineStart(), a.point(z[0], z[1])), a.point(A[0], A[1]), E || a.lineEnd(), T = !1) : E && (a.lineStart(), a.point(g, d), T = !1);
646
+ }
647
+ M = g, P = d, S = E;
648
+ }
649
+ return I;
650
+ };
651
+ }
652
+ const wn = (t) => t;
653
+ var sn = new gt(), _n = new gt(), Re, xe, En, Sn, ct = {
654
+ point: b,
655
+ lineStart: b,
656
+ lineEnd: b,
657
+ polygonStart: function() {
658
+ ct.lineStart = Xi, ct.lineEnd = Di;
659
+ },
660
+ polygonEnd: function() {
661
+ ct.lineStart = ct.lineEnd = ct.point = b, sn.add(O(_n)), _n = new gt();
662
+ },
663
+ result: function() {
664
+ var t = sn / 2;
665
+ return sn = new gt(), t;
666
+ }
667
+ };
668
+ function Xi() {
669
+ ct.point = ki;
670
+ }
671
+ function ki(t, n) {
672
+ ct.point = Ce, Re = En = t, xe = Sn = n;
673
+ }
674
+ function Ce(t, n) {
675
+ _n.add(Sn * t - En * n), En = t, Sn = n;
676
+ }
677
+ function Di() {
678
+ Ce(Re, xe);
679
+ }
680
+ var Et = 1 / 0, Jt = Et, Ft = -Et, Qt = Ft, bt = {
681
+ point: Gi,
682
+ lineStart: b,
683
+ lineEnd: b,
684
+ polygonStart: b,
685
+ polygonEnd: b,
686
+ result: function() {
687
+ var t = [[Et, Jt], [Ft, Qt]];
688
+ return Ft = Qt = -(Jt = Et = 1 / 0), t;
689
+ }
690
+ };
691
+ function Gi(t, n) {
692
+ t < Et && (Et = t), t > Ft && (Ft = t), n < Jt && (Jt = n), n > Qt && (Qt = n);
693
+ }
694
+ var Mn = 0, zn = 0, zt = 0, jt = 0, tn = 0, wt = 0, Pn = 0, Tn = 0, Pt = 0, Ie, Fe, it, rt, Q = {
695
+ point: yt,
696
+ lineStart: ie,
697
+ lineEnd: re,
698
+ polygonStart: function() {
699
+ Q.lineStart = Oi, Q.lineEnd = qi;
700
+ },
701
+ polygonEnd: function() {
702
+ Q.point = yt, Q.lineStart = ie, Q.lineEnd = re;
703
+ },
704
+ result: function() {
705
+ var t = Pt ? [Pn / Pt, Tn / Pt] : wt ? [jt / wt, tn / wt] : zt ? [Mn / zt, zn / zt] : [NaN, NaN];
706
+ return Mn = zn = zt = jt = tn = wt = Pn = Tn = Pt = 0, t;
707
+ }
708
+ };
709
+ function yt(t, n) {
710
+ Mn += t, zn += n, ++zt;
711
+ }
712
+ function ie() {
713
+ Q.point = Li;
714
+ }
715
+ function Li(t, n) {
716
+ Q.point = Yi, yt(it = t, rt = n);
717
+ }
718
+ function Yi(t, n) {
719
+ var e = t - it, i = n - rt, r = tt(e * e + i * i);
720
+ jt += r * (it + t) / 2, tn += r * (rt + n) / 2, wt += r, yt(it = t, rt = n);
721
+ }
722
+ function re() {
723
+ Q.point = yt;
724
+ }
725
+ function Oi() {
726
+ Q.point = Vi;
727
+ }
728
+ function qi() {
729
+ $e(Ie, Fe);
730
+ }
731
+ function Vi(t, n) {
732
+ Q.point = $e, yt(Ie = it = t, Fe = rt = n);
733
+ }
734
+ function $e(t, n) {
735
+ var e = t - it, i = n - rt, r = tt(e * e + i * i);
736
+ jt += r * (it + t) / 2, tn += r * (rt + n) / 2, wt += r, r = rt * t - it * n, Pn += r * (it + t), Tn += r * (rt + n), Pt += r * 3, yt(it = t, rt = n);
737
+ }
738
+ function Xe(t) {
739
+ this._context = t;
740
+ }
741
+ Xe.prototype = {
742
+ _radius: 4.5,
743
+ pointRadius: function(t) {
744
+ return this._radius = t, this;
745
+ },
746
+ polygonStart: function() {
747
+ this._line = 0;
748
+ },
749
+ polygonEnd: function() {
750
+ this._line = NaN;
751
+ },
752
+ lineStart: function() {
753
+ this._point = 0;
754
+ },
755
+ lineEnd: function() {
756
+ this._line === 0 && this._context.closePath(), this._point = NaN;
757
+ },
758
+ point: function(t, n) {
759
+ switch (this._point) {
760
+ case 0: {
761
+ this._context.moveTo(t, n), this._point = 1;
762
+ break;
763
+ }
764
+ case 1: {
765
+ this._context.lineTo(t, n);
766
+ break;
767
+ }
768
+ default: {
769
+ this._context.moveTo(t + this._radius, n), this._context.arc(t, n, this._radius, 0, J);
770
+ break;
771
+ }
772
+ }
773
+ },
774
+ result: b
775
+ };
776
+ var An = new gt(), fn, ke, De, Tt, At, $t = {
777
+ point: b,
778
+ lineStart: function() {
779
+ $t.point = Bi;
780
+ },
781
+ lineEnd: function() {
782
+ fn && Ge(ke, De), $t.point = b;
783
+ },
784
+ polygonStart: function() {
785
+ fn = !0;
786
+ },
787
+ polygonEnd: function() {
788
+ fn = null;
789
+ },
790
+ result: function() {
791
+ var t = +An;
792
+ return An = new gt(), t;
793
+ }
794
+ };
795
+ function Bi(t, n) {
796
+ $t.point = Ge, ke = Tt = t, De = At = n;
797
+ }
798
+ function Ge(t, n) {
799
+ Tt -= t, At -= n, An.add(tt(Tt * Tt + At * At)), Tt = t, At = n;
800
+ }
801
+ let oe, nn, ue, ae;
802
+ class le {
803
+ constructor(n) {
804
+ this._append = n == null ? Le : Ui(n), this._radius = 4.5, this._ = "";
805
+ }
806
+ pointRadius(n) {
807
+ return this._radius = +n, this;
808
+ }
809
+ polygonStart() {
810
+ this._line = 0;
811
+ }
812
+ polygonEnd() {
813
+ this._line = NaN;
814
+ }
815
+ lineStart() {
816
+ this._point = 0;
817
+ }
818
+ lineEnd() {
819
+ this._line === 0 && (this._ += "Z"), this._point = NaN;
820
+ }
821
+ point(n, e) {
822
+ switch (this._point) {
823
+ case 0: {
824
+ this._append`M${n},${e}`, this._point = 1;
825
+ break;
826
+ }
827
+ case 1: {
828
+ this._append`L${n},${e}`;
829
+ break;
830
+ }
831
+ default: {
832
+ if (this._append`M${n},${e}`, this._radius !== ue || this._append !== nn) {
833
+ const i = this._radius, r = this._;
834
+ this._ = "", this._append`m0,${i}a${i},${i} 0 1,1 0,${-2 * i}a${i},${i} 0 1,1 0,${2 * i}z`, ue = i, nn = this._append, ae = this._, this._ = r;
835
+ }
836
+ this._ += ae;
837
+ break;
838
+ }
839
+ }
840
+ }
841
+ result() {
842
+ const n = this._;
843
+ return this._ = "", n.length ? n : null;
844
+ }
845
+ }
846
+ function Le(t) {
847
+ let n = 1;
848
+ this._ += t[0];
849
+ for (const e = t.length; n < e; ++n)
850
+ this._ += arguments[n] + t[n];
851
+ }
852
+ function Ui(t) {
853
+ const n = Math.floor(t);
854
+ if (!(n >= 0)) throw new RangeError(`invalid digits: ${t}`);
855
+ if (n > 15) return Le;
856
+ if (n !== oe) {
857
+ const e = 10 ** n;
858
+ oe = n, nn = function(r) {
859
+ let u = 1;
860
+ this._ += r[0];
861
+ for (const o = r.length; u < o; ++u)
862
+ this._ += Math.round(arguments[u] * e) / e + r[u];
863
+ };
864
+ }
865
+ return nn;
866
+ }
867
+ function $o(t, n) {
868
+ let e = 3, i = 4.5, r, u;
869
+ function o(l) {
870
+ return l && (typeof i == "function" && u.pointRadius(+i.apply(this, arguments)), mt(l, r(u))), u.result();
871
+ }
872
+ return o.area = function(l) {
873
+ return mt(l, r(ct)), ct.result();
874
+ }, o.measure = function(l) {
875
+ return mt(l, r($t)), $t.result();
876
+ }, o.bounds = function(l) {
877
+ return mt(l, r(bt)), bt.result();
878
+ }, o.centroid = function(l) {
879
+ return mt(l, r(Q)), Q.result();
880
+ }, o.projection = function(l) {
881
+ return arguments.length ? (r = l == null ? (t = null, wn) : (t = l).stream, o) : t;
882
+ }, o.context = function(l) {
883
+ return arguments.length ? (u = l == null ? (n = null, new le(e)) : new Xe(n = l), typeof i != "function" && u.pointRadius(i), o) : n;
884
+ }, o.pointRadius = function(l) {
885
+ return arguments.length ? (i = typeof l == "function" ? l : (u.pointRadius(+l), +l), o) : i;
886
+ }, o.digits = function(l) {
887
+ if (!arguments.length) return e;
888
+ if (l == null) e = null;
889
+ else {
890
+ const p = Math.floor(l);
891
+ if (!(p >= 0)) throw new RangeError(`invalid digits: ${l}`);
892
+ e = p;
893
+ }
894
+ return n === null && (u = new le(e)), o;
895
+ }, o.projection(t).digits(e).context(n);
896
+ }
897
+ function Xn(t) {
898
+ return function(n) {
899
+ var e = new Nn();
900
+ for (var i in t) e[i] = t[i];
901
+ return e.stream = n, e;
902
+ };
903
+ }
904
+ function Nn() {
905
+ }
906
+ Nn.prototype = {
907
+ constructor: Nn,
908
+ point: function(t, n) {
909
+ this.stream.point(t, n);
910
+ },
911
+ sphere: function() {
912
+ this.stream.sphere();
913
+ },
914
+ lineStart: function() {
915
+ this.stream.lineStart();
916
+ },
917
+ lineEnd: function() {
918
+ this.stream.lineEnd();
919
+ },
920
+ polygonStart: function() {
921
+ this.stream.polygonStart();
922
+ },
923
+ polygonEnd: function() {
924
+ this.stream.polygonEnd();
925
+ }
926
+ };
927
+ function kn(t, n, e) {
928
+ var i = t.clipExtent && t.clipExtent();
929
+ return t.scale(150).translate([0, 0]), i != null && t.clipExtent(null), mt(e, t.stream(bt)), n(bt.result()), i != null && t.clipExtent(i), t;
930
+ }
931
+ function Dn(t, n, e) {
932
+ return kn(t, function(i) {
933
+ var r = n[1][0] - n[0][0], u = n[1][1] - n[0][1], o = Math.min(r / (i[1][0] - i[0][0]), u / (i[1][1] - i[0][1])), l = +n[0][0] + (r - o * (i[1][0] + i[0][0])) / 2, p = +n[0][1] + (u - o * (i[1][1] + i[0][1])) / 2;
934
+ t.scale(150 * o).translate([l, p]);
935
+ }, e);
936
+ }
937
+ function Ye(t, n, e) {
938
+ return Dn(t, [[0, 0], n], e);
939
+ }
940
+ function Oe(t, n, e) {
941
+ return kn(t, function(i) {
942
+ var r = +n, u = r / (i[1][0] - i[0][0]), o = (r - u * (i[1][0] + i[0][0])) / 2, l = -u * i[0][1];
943
+ t.scale(150 * u).translate([o, l]);
944
+ }, e);
945
+ }
946
+ function qe(t, n, e) {
947
+ return kn(t, function(i) {
948
+ var r = +n, u = r / (i[1][1] - i[0][1]), o = -u * i[0][0], l = (r - u * (i[1][1] + i[0][1])) / 2;
949
+ t.scale(150 * u).translate([o, l]);
950
+ }, e);
951
+ }
952
+ var ce = 16, Hi = Y(30 * B);
953
+ function se(t, n) {
954
+ return +n ? Zi(t, n) : Wi(t);
955
+ }
956
+ function Wi(t) {
957
+ return Xn({
958
+ point: function(n, e) {
959
+ n = t(n, e), this.stream.point(n[0], n[1]);
960
+ }
961
+ });
962
+ }
963
+ function Zi(t, n) {
964
+ function e(i, r, u, o, l, p, s, a, f, c, h, y, m, _) {
965
+ var w = s - i, M = a - r, P = w * w + M * M;
966
+ if (P > 4 * n && m--) {
967
+ var S = o + c, N = l + h, T = p + y, I = tt(S * S + N * N + T * T), F = nt(T /= I), $ = O(O(T) - 1) < C || O(u - f) < C ? (u + f) / 2 : dt(N, S), G = t($, F), R = G[0], W = G[1], q = R - i, v = W - r, g = M * q - w * v;
968
+ (g * g / P > n || O((w * q + M * v) / P - 0.5) > 0.3 || o * c + l * h + p * y < Hi) && (e(i, r, u, o, l, p, R, W, $, S /= I, N /= I, T, m, _), _.point(R, W), e(R, W, $, S, N, T, s, a, f, c, h, y, m, _));
969
+ }
970
+ }
971
+ return function(i) {
972
+ var r, u, o, l, p, s, a, f, c, h, y, m, _ = {
973
+ point: w,
974
+ lineStart: M,
975
+ lineEnd: S,
976
+ polygonStart: function() {
977
+ i.polygonStart(), _.lineStart = N;
978
+ },
979
+ polygonEnd: function() {
980
+ i.polygonEnd(), _.lineStart = M;
981
+ }
982
+ };
983
+ function w(F, $) {
984
+ F = t(F, $), i.point(F[0], F[1]);
985
+ }
986
+ function M() {
987
+ f = NaN, _.point = P, i.lineStart();
988
+ }
989
+ function P(F, $) {
990
+ var G = _t([F, $]), R = t(F, $);
991
+ e(f, c, a, h, y, m, f = R[0], c = R[1], a = F, h = G[0], y = G[1], m = G[2], ce, i), i.point(f, c);
992
+ }
993
+ function S() {
994
+ _.point = w, i.lineEnd();
995
+ }
996
+ function N() {
997
+ M(), _.point = T, _.lineEnd = I;
998
+ }
999
+ function T(F, $) {
1000
+ P(r = F, $), u = f, o = c, l = h, p = y, s = m, _.point = P;
1001
+ }
1002
+ function I() {
1003
+ e(f, c, a, h, y, m, u, o, r, l, p, s, ce, i), _.lineEnd = S, S();
1004
+ }
1005
+ return _;
1006
+ };
1007
+ }
1008
+ var Ki = Xn({
1009
+ point: function(t, n) {
1010
+ this.stream.point(t * B, n * B);
1011
+ }
1012
+ });
1013
+ function Ji(t) {
1014
+ return Xn({
1015
+ point: function(n, e) {
1016
+ var i = t(n, e);
1017
+ return this.stream.point(i[0], i[1]);
1018
+ }
1019
+ });
1020
+ }
1021
+ function Qi(t, n, e, i, r) {
1022
+ function u(o, l) {
1023
+ return o *= i, l *= r, [n + t * o, e - t * l];
1024
+ }
1025
+ return u.invert = function(o, l) {
1026
+ return [(o - n) / t * i, (e - l) / t * r];
1027
+ }, u;
1028
+ }
1029
+ function fe(t, n, e, i, r, u) {
1030
+ if (!u) return Qi(t, n, e, i, r);
1031
+ var o = Y(u), l = D(u), p = o * t, s = l * t, a = o / t, f = l / t, c = (l * e - o * n) / t, h = (l * n + o * e) / t;
1032
+ function y(m, _) {
1033
+ return m *= i, _ *= r, [p * m - s * _ + n, e - s * m - p * _];
1034
+ }
1035
+ return y.invert = function(m, _) {
1036
+ return [i * (a * m - f * _ + c), r * (h - f * m - a * _)];
1037
+ }, y;
1038
+ }
1039
+ function on(t) {
1040
+ return Ve(function() {
1041
+ return t;
1042
+ })();
1043
+ }
1044
+ function Ve(t) {
1045
+ var n, e = 150, i = 480, r = 250, u = 0, o = 0, l = 0, p = 0, s = 0, a, f = 0, c = 1, h = 1, y = null, m = ee, _ = null, w, M, P, S = wn, N = 0.5, T, I, F, $, G;
1046
+ function R(g) {
1047
+ return F(g[0] * B, g[1] * B);
1048
+ }
1049
+ function W(g) {
1050
+ return g = F.invert(g[0], g[1]), g && [g[0] * Z, g[1] * Z];
1051
+ }
1052
+ R.stream = function(g) {
1053
+ return $ && G === g ? $ : $ = Ki(Ji(a)(m(T(S(G = g)))));
1054
+ }, R.preclip = function(g) {
1055
+ return arguments.length ? (m = g, y = void 0, v()) : m;
1056
+ }, R.postclip = function(g) {
1057
+ return arguments.length ? (S = g, _ = w = M = P = null, v()) : S;
1058
+ }, R.clipAngle = function(g) {
1059
+ return arguments.length ? (m = +g ? Ii(y = g * B) : (y = null, ee), v()) : y * Z;
1060
+ }, R.clipExtent = function(g) {
1061
+ return arguments.length ? (S = g == null ? (_ = w = M = P = null, wn) : $i(_ = +g[0][0], w = +g[0][1], M = +g[1][0], P = +g[1][1]), v()) : _ == null ? null : [[_, w], [M, P]];
1062
+ }, R.scale = function(g) {
1063
+ return arguments.length ? (e = +g, q()) : e;
1064
+ }, R.translate = function(g) {
1065
+ return arguments.length ? (i = +g[0], r = +g[1], q()) : [i, r];
1066
+ }, R.center = function(g) {
1067
+ return arguments.length ? (u = g[0] % 360 * B, o = g[1] % 360 * B, q()) : [u * Z, o * Z];
1068
+ }, R.rotate = function(g) {
1069
+ return arguments.length ? (l = g[0] % 360 * B, p = g[1] % 360 * B, s = g.length > 2 ? g[2] % 360 * B : 0, q()) : [l * Z, p * Z, s * Z];
1070
+ }, R.angle = function(g) {
1071
+ return arguments.length ? (f = g % 360 * B, q()) : f * Z;
1072
+ }, R.reflectX = function(g) {
1073
+ return arguments.length ? (c = g ? -1 : 1, q()) : c < 0;
1074
+ }, R.reflectY = function(g) {
1075
+ return arguments.length ? (h = g ? -1 : 1, q()) : h < 0;
1076
+ }, R.precision = function(g) {
1077
+ return arguments.length ? (T = se(I, N = g * g), v()) : tt(N);
1078
+ }, R.fitExtent = function(g, d) {
1079
+ return Dn(R, g, d);
1080
+ }, R.fitSize = function(g, d) {
1081
+ return Ye(R, g, d);
1082
+ }, R.fitWidth = function(g, d) {
1083
+ return Oe(R, g, d);
1084
+ }, R.fitHeight = function(g, d) {
1085
+ return qe(R, g, d);
1086
+ };
1087
+ function q() {
1088
+ var g = fe(e, 0, 0, c, h, f).apply(null, n(u, o)), d = fe(e, i - g[0], r - g[1], c, h, f);
1089
+ return a = Pe(l, p, s), I = yn(n, d), F = yn(a, I), T = se(I, N), v();
1090
+ }
1091
+ function v() {
1092
+ return $ = G = null, R;
1093
+ }
1094
+ return function() {
1095
+ return n = t.apply(this, arguments), R.invert = n.invert && W, q();
1096
+ };
1097
+ }
1098
+ function bi(t) {
1099
+ var n = 0, e = k / 3, i = Ve(t), r = i(n, e);
1100
+ return r.parallels = function(u) {
1101
+ return arguments.length ? i(n = u[0] * B, e = u[1] * B) : [n * Z, e * Z];
1102
+ }, r;
1103
+ }
1104
+ function ji(t) {
1105
+ var n = Y(t);
1106
+ function e(i, r) {
1107
+ return [i * n, D(r) / n];
1108
+ }
1109
+ return e.invert = function(i, r) {
1110
+ return [i / n, nt(r * n)];
1111
+ }, e;
1112
+ }
1113
+ function tr(t, n) {
1114
+ var e = D(t), i = (e + D(n)) / 2;
1115
+ if (O(i) < C) return ji(t);
1116
+ var r = 1 + e * (2 * i - e), u = tt(r) / i;
1117
+ function o(l, p) {
1118
+ var s = tt(r - 2 * i * D(p)) / i;
1119
+ return [s * D(l *= i), u - s * Y(l)];
1120
+ }
1121
+ return o.invert = function(l, p) {
1122
+ var s = u - p, a = dt(l, O(s)) * qt(s);
1123
+ return s * i < 0 && (a -= k * qt(l) * qt(s)), [a / i, nt((r - (l * l + s * s) * i * i) / (2 * i))];
1124
+ }, o;
1125
+ }
1126
+ function Rn() {
1127
+ return bi(tr).scale(155.424).center([0, 33.6442]);
1128
+ }
1129
+ function nr() {
1130
+ return Rn().parallels([29.5, 45.5]).scale(1070).translate([480, 250]).rotate([96, 0]).center([-0.6, 38.7]);
1131
+ }
1132
+ function er(t) {
1133
+ var n = t.length;
1134
+ return {
1135
+ point: function(e, i) {
1136
+ for (var r = -1; ++r < n; ) t[r].point(e, i);
1137
+ },
1138
+ sphere: function() {
1139
+ for (var e = -1; ++e < n; ) t[e].sphere();
1140
+ },
1141
+ lineStart: function() {
1142
+ for (var e = -1; ++e < n; ) t[e].lineStart();
1143
+ },
1144
+ lineEnd: function() {
1145
+ for (var e = -1; ++e < n; ) t[e].lineEnd();
1146
+ },
1147
+ polygonStart: function() {
1148
+ for (var e = -1; ++e < n; ) t[e].polygonStart();
1149
+ },
1150
+ polygonEnd: function() {
1151
+ for (var e = -1; ++e < n; ) t[e].polygonEnd();
1152
+ }
1153
+ };
1154
+ }
1155
+ function Xo() {
1156
+ var t, n, e = nr(), i, r = Rn().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), u, o = Rn().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), l, p, s = { point: function(c, h) {
1157
+ p = [c, h];
1158
+ } };
1159
+ function a(c) {
1160
+ var h = c[0], y = c[1];
1161
+ return p = null, i.point(h, y), p || (u.point(h, y), p) || (l.point(h, y), p);
1162
+ }
1163
+ a.invert = function(c) {
1164
+ var h = e.scale(), y = e.translate(), m = (c[0] - y[0]) / h, _ = (c[1] - y[1]) / h;
1165
+ return (_ >= 0.12 && _ < 0.234 && m >= -0.425 && m < -0.214 ? r : _ >= 0.166 && _ < 0.234 && m >= -0.214 && m < -0.115 ? o : e).invert(c);
1166
+ }, a.stream = function(c) {
1167
+ return t && n === c ? t : t = er([e.stream(n = c), r.stream(c), o.stream(c)]);
1168
+ }, a.precision = function(c) {
1169
+ return arguments.length ? (e.precision(c), r.precision(c), o.precision(c), f()) : e.precision();
1170
+ }, a.scale = function(c) {
1171
+ return arguments.length ? (e.scale(c), r.scale(c * 0.35), o.scale(c), a.translate(e.translate())) : e.scale();
1172
+ }, a.translate = function(c) {
1173
+ if (!arguments.length) return e.translate();
1174
+ var h = e.scale(), y = +c[0], m = +c[1];
1175
+ return i = e.translate(c).clipExtent([[y - 0.455 * h, m - 0.238 * h], [y + 0.455 * h, m + 0.238 * h]]).stream(s), u = r.translate([y - 0.307 * h, m + 0.201 * h]).clipExtent([[y - 0.425 * h + C, m + 0.12 * h + C], [y - 0.214 * h - C, m + 0.234 * h - C]]).stream(s), l = o.translate([y - 0.205 * h, m + 0.212 * h]).clipExtent([[y - 0.214 * h + C, m + 0.166 * h + C], [y - 0.115 * h - C, m + 0.234 * h - C]]).stream(s), f();
1176
+ }, a.fitExtent = function(c, h) {
1177
+ return Dn(a, c, h);
1178
+ }, a.fitSize = function(c, h) {
1179
+ return Ye(a, c, h);
1180
+ }, a.fitWidth = function(c, h) {
1181
+ return Oe(a, c, h);
1182
+ }, a.fitHeight = function(c, h) {
1183
+ return qe(a, c, h);
1184
+ };
1185
+ function f() {
1186
+ return t = n = null, a;
1187
+ }
1188
+ return a.scale(1070);
1189
+ }
1190
+ function ir(t) {
1191
+ return function(n, e) {
1192
+ var i = tt(n * n + e * e), r = t(i), u = D(r), o = Y(r);
1193
+ return [
1194
+ dt(n * u, i * o),
1195
+ nt(i && e * u / i)
1196
+ ];
1197
+ };
1198
+ }
1199
+ function Gn(t, n) {
1200
+ return [t, Ei(Si((K + n) / 2))];
1201
+ }
1202
+ Gn.invert = function(t, n) {
1203
+ return [t, 2 * ze(_i(n)) - K];
1204
+ };
1205
+ function ko() {
1206
+ return rr(Gn).scale(961 / J);
1207
+ }
1208
+ function rr(t) {
1209
+ var n = on(t), e = n.center, i = n.scale, r = n.translate, u = n.clipExtent, o = null, l, p, s;
1210
+ n.scale = function(f) {
1211
+ return arguments.length ? (i(f), a()) : i();
1212
+ }, n.translate = function(f) {
1213
+ return arguments.length ? (r(f), a()) : r();
1214
+ }, n.center = function(f) {
1215
+ return arguments.length ? (e(f), a()) : e();
1216
+ }, n.clipExtent = function(f) {
1217
+ return arguments.length ? (f == null ? o = l = p = s = null : (o = +f[0][0], l = +f[0][1], p = +f[1][0], s = +f[1][1]), a()) : o == null ? null : [[o, l], [p, s]];
1218
+ };
1219
+ function a() {
1220
+ var f = k * i(), c = n(zi(n.rotate()).invert([0, 0]));
1221
+ return u(o == null ? [[c[0] - f, c[1] - f], [c[0] + f, c[1] + f]] : t === Gn ? [[Math.max(c[0] - f, o), l], [Math.min(c[0] + f, p), s]] : [[o, Math.max(c[1] - f, l)], [p, Math.min(c[1] + f, s)]]);
1222
+ }
1223
+ return a();
1224
+ }
1225
+ var Nt = 1.340264, Rt = -0.081106, xt = 893e-6, Ct = 3796e-6, en = tt(3) / 2, or = 12;
1226
+ function Be(t, n) {
1227
+ var e = nt(en * D(n)), i = e * e, r = i * i * i;
1228
+ return [
1229
+ t * Y(e) / (en * (Nt + 3 * Rt * i + r * (7 * xt + 9 * Ct * i))),
1230
+ e * (Nt + Rt * i + r * (xt + Ct * i))
1231
+ ];
1232
+ }
1233
+ Be.invert = function(t, n) {
1234
+ for (var e = n, i = e * e, r = i * i * i, u = 0, o, l, p; u < or && (l = e * (Nt + Rt * i + r * (xt + Ct * i)) - n, p = Nt + 3 * Rt * i + r * (7 * xt + 9 * Ct * i), e -= o = l / p, i = e * e, r = i * i * i, !(O(o) < Me)); ++u)
1235
+ ;
1236
+ return [
1237
+ en * t * (Nt + 3 * Rt * i + r * (7 * xt + 9 * Ct * i)) / Y(e),
1238
+ nt(D(e) / en)
1239
+ ];
1240
+ };
1241
+ function Do() {
1242
+ return on(Be).scale(177.158);
1243
+ }
1244
+ function Ue(t, n) {
1245
+ var e = n * n, i = e * e;
1246
+ return [
1247
+ t * (0.8707 - 0.131979 * e + i * (-0.013791 + i * (3971e-6 * e - 1529e-6 * i))),
1248
+ n * (1.007226 + e * (0.015085 + i * (-0.044475 + 0.028874 * e - 5916e-6 * i)))
1249
+ ];
1250
+ }
1251
+ Ue.invert = function(t, n) {
1252
+ var e = n, i = 25, r;
1253
+ do {
1254
+ var u = e * e, o = u * u;
1255
+ e -= r = (e * (1.007226 + u * (0.015085 + o * (-0.044475 + 0.028874 * u - 5916e-6 * o))) - n) / (1.007226 + u * (0.015085 * 3 + o * (-0.044475 * 7 + 0.028874 * 9 * u - 5916e-6 * 11 * o)));
1256
+ } while (O(r) > C && --i > 0);
1257
+ return [
1258
+ t / (0.8707 + (u = e * e) * (-0.131979 + u * (-0.013791 + u * u * u * (3971e-6 - 1529e-6 * u)))),
1259
+ e
1260
+ ];
1261
+ };
1262
+ function Go() {
1263
+ return on(Ue).scale(175.295);
1264
+ }
1265
+ function He(t, n) {
1266
+ return [Y(n) * D(t), D(n)];
1267
+ }
1268
+ He.invert = ir(nt);
1269
+ function Lo() {
1270
+ return on(He).scale(249.5).clipAngle(90 + C);
1271
+ }
1272
+ const xn = { capture: !0, passive: !1 };
1273
+ function Cn(t) {
1274
+ t.preventDefault(), t.stopImmediatePropagation();
1275
+ }
1276
+ function ur(t) {
1277
+ var n = t.document.documentElement, e = vt(t).on("dragstart.drag", Cn, xn);
1278
+ "onselectstart" in n ? e.on("selectstart.drag", Cn, xn) : (n.__noselect = n.style.MozUserSelect, n.style.MozUserSelect = "none");
1279
+ }
1280
+ function ar(t, n) {
1281
+ var e = t.document.documentElement, i = vt(t).on("dragstart.drag", null);
1282
+ n && (i.on("click.drag", Cn, xn), setTimeout(function() {
1283
+ i.on("click.drag", null);
1284
+ }, 0)), "onselectstart" in e ? i.on("selectstart.drag", null) : (e.style.MozUserSelect = e.__noselect, delete e.__noselect);
1285
+ }
1286
+ var lr = me("start", "end", "cancel", "interrupt"), cr = [], We = 0, he = 1, In = 2, Bt = 3, pe = 4, Fn = 5, Ut = 6;
1287
+ function un(t, n, e, i, r, u) {
1288
+ var o = t.__transition;
1289
+ if (!o) t.__transition = {};
1290
+ else if (e in o) return;
1291
+ sr(t, e, {
1292
+ name: n,
1293
+ index: i,
1294
+ // For context during callback.
1295
+ group: r,
1296
+ // For context during callback.
1297
+ on: lr,
1298
+ tween: cr,
1299
+ time: u.time,
1300
+ delay: u.delay,
1301
+ duration: u.duration,
1302
+ ease: u.ease,
1303
+ timer: null,
1304
+ state: We
1305
+ });
1306
+ }
1307
+ function Ln(t, n) {
1308
+ var e = et(t, n);
1309
+ if (e.state > We) throw new Error("too late; already scheduled");
1310
+ return e;
1311
+ }
1312
+ function ot(t, n) {
1313
+ var e = et(t, n);
1314
+ if (e.state > Bt) throw new Error("too late; already running");
1315
+ return e;
1316
+ }
1317
+ function et(t, n) {
1318
+ var e = t.__transition;
1319
+ if (!e || !(e = e[n])) throw new Error("transition not found");
1320
+ return e;
1321
+ }
1322
+ function sr(t, n, e) {
1323
+ var i = t.__transition, r;
1324
+ i[n] = e, e.timer = ri(u, 0, e.time);
1325
+ function u(s) {
1326
+ e.state = he, e.timer.restart(o, e.delay, e.time), e.delay <= s && o(s - e.delay);
1327
+ }
1328
+ function o(s) {
1329
+ var a, f, c, h;
1330
+ if (e.state !== he) return p();
1331
+ for (a in i)
1332
+ if (h = i[a], h.name === e.name) {
1333
+ if (h.state === Bt) return Hn(o);
1334
+ h.state === pe ? (h.state = Ut, h.timer.stop(), h.on.call("interrupt", t, t.__data__, h.index, h.group), delete i[a]) : +a < n && (h.state = Ut, h.timer.stop(), h.on.call("cancel", t, t.__data__, h.index, h.group), delete i[a]);
1335
+ }
1336
+ if (Hn(function() {
1337
+ e.state === Bt && (e.state = pe, e.timer.restart(l, e.delay, e.time), l(s));
1338
+ }), e.state = In, e.on.call("start", t, t.__data__, e.index, e.group), e.state === In) {
1339
+ for (e.state = Bt, r = new Array(c = e.tween.length), a = 0, f = -1; a < c; ++a)
1340
+ (h = e.tween[a].value.call(t, t.__data__, e.index, e.group)) && (r[++f] = h);
1341
+ r.length = f + 1;
1342
+ }
1343
+ }
1344
+ function l(s) {
1345
+ for (var a = s < e.duration ? e.ease.call(null, s / e.duration) : (e.timer.restart(p), e.state = Fn, 1), f = -1, c = r.length; ++f < c; )
1346
+ r[f].call(t, a);
1347
+ e.state === Fn && (e.on.call("end", t, t.__data__, e.index, e.group), p());
1348
+ }
1349
+ function p() {
1350
+ e.state = Ut, e.timer.stop(), delete i[n];
1351
+ for (var s in i) return;
1352
+ delete t.__transition;
1353
+ }
1354
+ }
1355
+ function Ht(t, n) {
1356
+ var e = t.__transition, i, r, u = !0, o;
1357
+ if (e) {
1358
+ n = n == null ? null : n + "";
1359
+ for (o in e) {
1360
+ if ((i = e[o]).name !== n) {
1361
+ u = !1;
1362
+ continue;
1363
+ }
1364
+ r = i.state > In && i.state < Fn, i.state = Ut, i.timer.stop(), i.on.call(r ? "interrupt" : "cancel", t, t.__data__, i.index, i.group), delete e[o];
1365
+ }
1366
+ u && delete t.__transition;
1367
+ }
1368
+ }
1369
+ function fr(t) {
1370
+ return this.each(function() {
1371
+ Ht(this, t);
1372
+ });
1373
+ }
1374
+ function hr(t, n) {
1375
+ var e, i;
1376
+ return function() {
1377
+ var r = ot(this, t), u = r.tween;
1378
+ if (u !== e) {
1379
+ i = e = u;
1380
+ for (var o = 0, l = i.length; o < l; ++o)
1381
+ if (i[o].name === n) {
1382
+ i = i.slice(), i.splice(o, 1);
1383
+ break;
1384
+ }
1385
+ }
1386
+ r.tween = i;
1387
+ };
1388
+ }
1389
+ function pr(t, n, e) {
1390
+ var i, r;
1391
+ if (typeof e != "function") throw new Error();
1392
+ return function() {
1393
+ var u = ot(this, t), o = u.tween;
1394
+ if (o !== i) {
1395
+ r = (i = o).slice();
1396
+ for (var l = { name: n, value: e }, p = 0, s = r.length; p < s; ++p)
1397
+ if (r[p].name === n) {
1398
+ r[p] = l;
1399
+ break;
1400
+ }
1401
+ p === s && r.push(l);
1402
+ }
1403
+ u.tween = r;
1404
+ };
1405
+ }
1406
+ function vr(t, n) {
1407
+ var e = this._id;
1408
+ if (t += "", arguments.length < 2) {
1409
+ for (var i = et(this.node(), e).tween, r = 0, u = i.length, o; r < u; ++r)
1410
+ if ((o = i[r]).name === t)
1411
+ return o.value;
1412
+ return null;
1413
+ }
1414
+ return this.each((n == null ? hr : pr)(e, t, n));
1415
+ }
1416
+ function Yn(t, n, e) {
1417
+ var i = t._id;
1418
+ return t.each(function() {
1419
+ var r = ot(this, i);
1420
+ (r.value || (r.value = {}))[n] = e.apply(this, arguments);
1421
+ }), function(r) {
1422
+ return et(r, i).value[n];
1423
+ };
1424
+ }
1425
+ function Ze(t, n) {
1426
+ var e;
1427
+ return (typeof n == "number" ? pt : n instanceof Vn ? qn : (e = Vn(n)) ? (n = e, qn) : ui)(t, n);
1428
+ }
1429
+ function gr(t) {
1430
+ return function() {
1431
+ this.removeAttribute(t);
1432
+ };
1433
+ }
1434
+ function dr(t) {
1435
+ return function() {
1436
+ this.removeAttributeNS(t.space, t.local);
1437
+ };
1438
+ }
1439
+ function yr(t, n, e) {
1440
+ var i, r = e + "", u;
1441
+ return function() {
1442
+ var o = this.getAttribute(t);
1443
+ return o === r ? null : o === i ? u : u = n(i = o, e);
1444
+ };
1445
+ }
1446
+ function mr(t, n, e) {
1447
+ var i, r = e + "", u;
1448
+ return function() {
1449
+ var o = this.getAttributeNS(t.space, t.local);
1450
+ return o === r ? null : o === i ? u : u = n(i = o, e);
1451
+ };
1452
+ }
1453
+ function wr(t, n, e) {
1454
+ var i, r, u;
1455
+ return function() {
1456
+ var o, l = e(this), p;
1457
+ return l == null ? void this.removeAttribute(t) : (o = this.getAttribute(t), p = l + "", o === p ? null : o === i && p === r ? u : (r = p, u = n(i = o, l)));
1458
+ };
1459
+ }
1460
+ function _r(t, n, e) {
1461
+ var i, r, u;
1462
+ return function() {
1463
+ var o, l = e(this), p;
1464
+ return l == null ? void this.removeAttributeNS(t.space, t.local) : (o = this.getAttributeNS(t.space, t.local), p = l + "", o === p ? null : o === i && p === r ? u : (r = p, u = n(i = o, l)));
1465
+ };
1466
+ }
1467
+ function Er(t, n) {
1468
+ var e = we(t), i = e === "transform" ? vi : Ze;
1469
+ return this.attrTween(t, typeof n == "function" ? (e.local ? _r : wr)(e, i, Yn(this, "attr." + t, n)) : n == null ? (e.local ? dr : gr)(e) : (e.local ? mr : yr)(e, i, n));
1470
+ }
1471
+ function Sr(t, n) {
1472
+ return function(e) {
1473
+ this.setAttribute(t, n.call(this, e));
1474
+ };
1475
+ }
1476
+ function Mr(t, n) {
1477
+ return function(e) {
1478
+ this.setAttributeNS(t.space, t.local, n.call(this, e));
1479
+ };
1480
+ }
1481
+ function zr(t, n) {
1482
+ var e, i;
1483
+ function r() {
1484
+ var u = n.apply(this, arguments);
1485
+ return u !== i && (e = (i = u) && Mr(t, u)), e;
1486
+ }
1487
+ return r._value = n, r;
1488
+ }
1489
+ function Pr(t, n) {
1490
+ var e, i;
1491
+ function r() {
1492
+ var u = n.apply(this, arguments);
1493
+ return u !== i && (e = (i = u) && Sr(t, u)), e;
1494
+ }
1495
+ return r._value = n, r;
1496
+ }
1497
+ function Tr(t, n) {
1498
+ var e = "attr." + t;
1499
+ if (arguments.length < 2) return (e = this.tween(e)) && e._value;
1500
+ if (n == null) return this.tween(e, null);
1501
+ if (typeof n != "function") throw new Error();
1502
+ var i = we(t);
1503
+ return this.tween(e, (i.local ? zr : Pr)(i, n));
1504
+ }
1505
+ function Ar(t, n) {
1506
+ return function() {
1507
+ Ln(this, t).delay = +n.apply(this, arguments);
1508
+ };
1509
+ }
1510
+ function Nr(t, n) {
1511
+ return n = +n, function() {
1512
+ Ln(this, t).delay = n;
1513
+ };
1514
+ }
1515
+ function Rr(t) {
1516
+ var n = this._id;
1517
+ return arguments.length ? this.each((typeof t == "function" ? Ar : Nr)(n, t)) : et(this.node(), n).delay;
1518
+ }
1519
+ function xr(t, n) {
1520
+ return function() {
1521
+ ot(this, t).duration = +n.apply(this, arguments);
1522
+ };
1523
+ }
1524
+ function Cr(t, n) {
1525
+ return n = +n, function() {
1526
+ ot(this, t).duration = n;
1527
+ };
1528
+ }
1529
+ function Ir(t) {
1530
+ var n = this._id;
1531
+ return arguments.length ? this.each((typeof t == "function" ? xr : Cr)(n, t)) : et(this.node(), n).duration;
1532
+ }
1533
+ function Fr(t, n) {
1534
+ if (typeof n != "function") throw new Error();
1535
+ return function() {
1536
+ ot(this, t).ease = n;
1537
+ };
1538
+ }
1539
+ function $r(t) {
1540
+ var n = this._id;
1541
+ return arguments.length ? this.each(Fr(n, t)) : et(this.node(), n).ease;
1542
+ }
1543
+ function Xr(t, n) {
1544
+ return function() {
1545
+ var e = n.apply(this, arguments);
1546
+ if (typeof e != "function") throw new Error();
1547
+ ot(this, t).ease = e;
1548
+ };
1549
+ }
1550
+ function kr(t) {
1551
+ if (typeof t != "function") throw new Error();
1552
+ return this.each(Xr(this._id, t));
1553
+ }
1554
+ function Dr(t) {
1555
+ typeof t != "function" && (t = ai(t));
1556
+ for (var n = this._groups, e = n.length, i = new Array(e), r = 0; r < e; ++r)
1557
+ for (var u = n[r], o = u.length, l = i[r] = [], p, s = 0; s < o; ++s)
1558
+ (p = u[s]) && t.call(p, p.__data__, s, u) && l.push(p);
1559
+ return new ft(i, this._parents, this._name, this._id);
1560
+ }
1561
+ function Gr(t) {
1562
+ if (t._id !== this._id) throw new Error();
1563
+ for (var n = this._groups, e = t._groups, i = n.length, r = e.length, u = Math.min(i, r), o = new Array(i), l = 0; l < u; ++l)
1564
+ for (var p = n[l], s = e[l], a = p.length, f = o[l] = new Array(a), c, h = 0; h < a; ++h)
1565
+ (c = p[h] || s[h]) && (f[h] = c);
1566
+ for (; l < i; ++l)
1567
+ o[l] = n[l];
1568
+ return new ft(o, this._parents, this._name, this._id);
1569
+ }
1570
+ function Lr(t) {
1571
+ return (t + "").trim().split(/^|\s+/).every(function(n) {
1572
+ var e = n.indexOf(".");
1573
+ return e >= 0 && (n = n.slice(0, e)), !n || n === "start";
1574
+ });
1575
+ }
1576
+ function Yr(t, n, e) {
1577
+ var i, r, u = Lr(n) ? Ln : ot;
1578
+ return function() {
1579
+ var o = u(this, t), l = o.on;
1580
+ l !== i && (r = (i = l).copy()).on(n, e), o.on = r;
1581
+ };
1582
+ }
1583
+ function Or(t, n) {
1584
+ var e = this._id;
1585
+ return arguments.length < 2 ? et(this.node(), e).on.on(t) : this.each(Yr(e, t, n));
1586
+ }
1587
+ function qr(t) {
1588
+ return function() {
1589
+ var n = this.parentNode;
1590
+ for (var e in this.__transition) if (+e !== t) return;
1591
+ n && n.removeChild(this);
1592
+ };
1593
+ }
1594
+ function Vr() {
1595
+ return this.on("end.remove", qr(this._id));
1596
+ }
1597
+ function Br(t) {
1598
+ var n = this._name, e = this._id;
1599
+ typeof t != "function" && (t = li(t));
1600
+ for (var i = this._groups, r = i.length, u = new Array(r), o = 0; o < r; ++o)
1601
+ for (var l = i[o], p = l.length, s = u[o] = new Array(p), a, f, c = 0; c < p; ++c)
1602
+ (a = l[c]) && (f = t.call(a, a.__data__, c, l)) && ("__data__" in a && (f.__data__ = a.__data__), s[c] = f, un(s[c], n, e, c, s, et(a, e)));
1603
+ return new ft(u, this._parents, n, e);
1604
+ }
1605
+ function Ur(t) {
1606
+ var n = this._name, e = this._id;
1607
+ typeof t != "function" && (t = ci(t));
1608
+ for (var i = this._groups, r = i.length, u = [], o = [], l = 0; l < r; ++l)
1609
+ for (var p = i[l], s = p.length, a, f = 0; f < s; ++f)
1610
+ if (a = p[f]) {
1611
+ for (var c = t.call(a, a.__data__, f, p), h, y = et(a, e), m = 0, _ = c.length; m < _; ++m)
1612
+ (h = c[m]) && un(h, n, e, m, c, y);
1613
+ u.push(c), o.push(a);
1614
+ }
1615
+ return new ft(u, o, n, e);
1616
+ }
1617
+ var Hr = rn.prototype.constructor;
1618
+ function Wr() {
1619
+ return new Hr(this._groups, this._parents);
1620
+ }
1621
+ function Zr(t, n) {
1622
+ var e, i, r;
1623
+ return function() {
1624
+ var u = It(this, t), o = (this.style.removeProperty(t), It(this, t));
1625
+ return u === o ? null : u === e && o === i ? r : r = n(e = u, i = o);
1626
+ };
1627
+ }
1628
+ function Ke(t) {
1629
+ return function() {
1630
+ this.style.removeProperty(t);
1631
+ };
1632
+ }
1633
+ function Kr(t, n, e) {
1634
+ var i, r = e + "", u;
1635
+ return function() {
1636
+ var o = It(this, t);
1637
+ return o === r ? null : o === i ? u : u = n(i = o, e);
1638
+ };
1639
+ }
1640
+ function Jr(t, n, e) {
1641
+ var i, r, u;
1642
+ return function() {
1643
+ var o = It(this, t), l = e(this), p = l + "";
1644
+ return l == null && (p = l = (this.style.removeProperty(t), It(this, t))), o === p ? null : o === i && p === r ? u : (r = p, u = n(i = o, l));
1645
+ };
1646
+ }
1647
+ function Qr(t, n) {
1648
+ var e, i, r, u = "style." + n, o = "end." + u, l;
1649
+ return function() {
1650
+ var p = ot(this, t), s = p.on, a = p.value[u] == null ? l || (l = Ke(n)) : void 0;
1651
+ (s !== e || r !== a) && (i = (e = s).copy()).on(o, r = a), p.on = i;
1652
+ };
1653
+ }
1654
+ function br(t, n, e) {
1655
+ var i = (t += "") == "transform" ? pi : Ze;
1656
+ return n == null ? this.styleTween(t, Zr(t, i)).on("end.style." + t, Ke(t)) : typeof n == "function" ? this.styleTween(t, Jr(t, i, Yn(this, "style." + t, n))).each(Qr(this._id, t)) : this.styleTween(t, Kr(t, i, n), e).on("end.style." + t, null);
1657
+ }
1658
+ function jr(t, n, e) {
1659
+ return function(i) {
1660
+ this.style.setProperty(t, n.call(this, i), e);
1661
+ };
1662
+ }
1663
+ function to(t, n, e) {
1664
+ var i, r;
1665
+ function u() {
1666
+ var o = n.apply(this, arguments);
1667
+ return o !== r && (i = (r = o) && jr(t, o, e)), i;
1668
+ }
1669
+ return u._value = n, u;
1670
+ }
1671
+ function no(t, n, e) {
1672
+ var i = "style." + (t += "");
1673
+ if (arguments.length < 2) return (i = this.tween(i)) && i._value;
1674
+ if (n == null) return this.tween(i, null);
1675
+ if (typeof n != "function") throw new Error();
1676
+ return this.tween(i, to(t, n, e ?? ""));
1677
+ }
1678
+ function eo(t) {
1679
+ return function() {
1680
+ this.textContent = t;
1681
+ };
1682
+ }
1683
+ function io(t) {
1684
+ return function() {
1685
+ var n = t(this);
1686
+ this.textContent = n ?? "";
1687
+ };
1688
+ }
1689
+ function ro(t) {
1690
+ return this.tween("text", typeof t == "function" ? io(Yn(this, "text", t)) : eo(t == null ? "" : t + ""));
1691
+ }
1692
+ function oo(t) {
1693
+ return function(n) {
1694
+ this.textContent = t.call(this, n);
1695
+ };
1696
+ }
1697
+ function uo(t) {
1698
+ var n, e;
1699
+ function i() {
1700
+ var r = t.apply(this, arguments);
1701
+ return r !== e && (n = (e = r) && oo(r)), n;
1702
+ }
1703
+ return i._value = t, i;
1704
+ }
1705
+ function ao(t) {
1706
+ var n = "text";
1707
+ if (arguments.length < 1) return (n = this.tween(n)) && n._value;
1708
+ if (t == null) return this.tween(n, null);
1709
+ if (typeof t != "function") throw new Error();
1710
+ return this.tween(n, uo(t));
1711
+ }
1712
+ function lo() {
1713
+ for (var t = this._name, n = this._id, e = Je(), i = this._groups, r = i.length, u = 0; u < r; ++u)
1714
+ for (var o = i[u], l = o.length, p, s = 0; s < l; ++s)
1715
+ if (p = o[s]) {
1716
+ var a = et(p, n);
1717
+ un(p, t, e, s, o, {
1718
+ time: a.time + a.delay + a.duration,
1719
+ delay: 0,
1720
+ duration: a.duration,
1721
+ ease: a.ease
1722
+ });
1723
+ }
1724
+ return new ft(i, this._parents, t, e);
1725
+ }
1726
+ function co() {
1727
+ var t, n, e = this, i = e._id, r = e.size();
1728
+ return new Promise(function(u, o) {
1729
+ var l = { value: o }, p = { value: function() {
1730
+ --r === 0 && u();
1731
+ } };
1732
+ e.each(function() {
1733
+ var s = ot(this, i), a = s.on;
1734
+ a !== t && (n = (t = a).copy(), n._.cancel.push(l), n._.interrupt.push(l), n._.end.push(p)), s.on = n;
1735
+ }), r === 0 && u();
1736
+ });
1737
+ }
1738
+ var so = 0;
1739
+ function ft(t, n, e, i) {
1740
+ this._groups = t, this._parents = n, this._name = e, this._id = i;
1741
+ }
1742
+ function Je() {
1743
+ return ++so;
1744
+ }
1745
+ var lt = rn.prototype;
1746
+ ft.prototype = {
1747
+ constructor: ft,
1748
+ select: Br,
1749
+ selectAll: Ur,
1750
+ selectChild: lt.selectChild,
1751
+ selectChildren: lt.selectChildren,
1752
+ filter: Dr,
1753
+ merge: Gr,
1754
+ selection: Wr,
1755
+ transition: lo,
1756
+ call: lt.call,
1757
+ nodes: lt.nodes,
1758
+ node: lt.node,
1759
+ size: lt.size,
1760
+ empty: lt.empty,
1761
+ each: lt.each,
1762
+ on: Or,
1763
+ attr: Er,
1764
+ attrTween: Tr,
1765
+ style: br,
1766
+ styleTween: no,
1767
+ text: ro,
1768
+ textTween: ao,
1769
+ remove: Vr,
1770
+ tween: vr,
1771
+ delay: Rr,
1772
+ duration: Ir,
1773
+ ease: $r,
1774
+ easeVarying: kr,
1775
+ end: co,
1776
+ [Symbol.iterator]: lt[Symbol.iterator]
1777
+ };
1778
+ function fo(t) {
1779
+ return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;
1780
+ }
1781
+ var ho = {
1782
+ time: null,
1783
+ // Set on use.
1784
+ delay: 0,
1785
+ duration: 250,
1786
+ ease: fo
1787
+ };
1788
+ function po(t, n) {
1789
+ for (var e; !(e = t.__transition) || !(e = e[n]); )
1790
+ if (!(t = t.parentNode))
1791
+ throw new Error(`transition ${n} not found`);
1792
+ return e;
1793
+ }
1794
+ function vo(t) {
1795
+ var n, e;
1796
+ t instanceof ft ? (n = t._id, t = t._name) : (n = Je(), (e = ho).time = oi(), t = t == null ? null : t + "");
1797
+ for (var i = this._groups, r = i.length, u = 0; u < r; ++u)
1798
+ for (var o = i[u], l = o.length, p, s = 0; s < l; ++s)
1799
+ (p = o[s]) && un(p, t, n, s, o, e || po(p, n));
1800
+ return new ft(i, this._parents, t, n);
1801
+ }
1802
+ rn.prototype.interrupt = fr;
1803
+ rn.prototype.transition = vo;
1804
+ const Yt = (t) => () => t;
1805
+ function go(t, {
1806
+ sourceEvent: n,
1807
+ target: e,
1808
+ transform: i,
1809
+ dispatch: r
1810
+ }) {
1811
+ Object.defineProperties(this, {
1812
+ type: { value: t, enumerable: !0, configurable: !0 },
1813
+ sourceEvent: { value: n, enumerable: !0, configurable: !0 },
1814
+ target: { value: e, enumerable: !0, configurable: !0 },
1815
+ transform: { value: i, enumerable: !0, configurable: !0 },
1816
+ _: { value: r }
1817
+ });
1818
+ }
1819
+ function st(t, n, e) {
1820
+ this.k = t, this.x = n, this.y = e;
1821
+ }
1822
+ st.prototype = {
1823
+ constructor: st,
1824
+ scale: function(t) {
1825
+ return t === 1 ? this : new st(this.k * t, this.x, this.y);
1826
+ },
1827
+ translate: function(t, n) {
1828
+ return t === 0 & n === 0 ? this : new st(this.k, this.x + this.k * t, this.y + this.k * n);
1829
+ },
1830
+ apply: function(t) {
1831
+ return [t[0] * this.k + this.x, t[1] * this.k + this.y];
1832
+ },
1833
+ applyX: function(t) {
1834
+ return t * this.k + this.x;
1835
+ },
1836
+ applyY: function(t) {
1837
+ return t * this.k + this.y;
1838
+ },
1839
+ invert: function(t) {
1840
+ return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k];
1841
+ },
1842
+ invertX: function(t) {
1843
+ return (t - this.x) / this.k;
1844
+ },
1845
+ invertY: function(t) {
1846
+ return (t - this.y) / this.k;
1847
+ },
1848
+ rescaleX: function(t) {
1849
+ return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t));
1850
+ },
1851
+ rescaleY: function(t) {
1852
+ return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t));
1853
+ },
1854
+ toString: function() {
1855
+ return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")";
1856
+ }
1857
+ };
1858
+ var Qe = new st(1, 0, 0);
1859
+ st.prototype;
1860
+ function hn(t) {
1861
+ t.stopImmediatePropagation();
1862
+ }
1863
+ function St(t) {
1864
+ t.preventDefault(), t.stopImmediatePropagation();
1865
+ }
1866
+ function yo(t) {
1867
+ return (!t.ctrlKey || t.type === "wheel") && !t.button;
1868
+ }
1869
+ function mo() {
1870
+ var t = this;
1871
+ return t instanceof SVGElement ? (t = t.ownerSVGElement || t, t.hasAttribute("viewBox") ? (t = t.viewBox.baseVal, [[t.x, t.y], [t.x + t.width, t.y + t.height]]) : [[0, 0], [t.width.baseVal.value, t.height.baseVal.value]]) : [[0, 0], [t.clientWidth, t.clientHeight]];
1872
+ }
1873
+ function ve() {
1874
+ return this.__zoom || Qe;
1875
+ }
1876
+ function wo(t) {
1877
+ return -t.deltaY * (t.deltaMode === 1 ? 0.05 : t.deltaMode ? 1 : 2e-3) * (t.ctrlKey ? 10 : 1);
1878
+ }
1879
+ function _o() {
1880
+ return navigator.maxTouchPoints || "ontouchstart" in this;
1881
+ }
1882
+ function Eo(t, n, e) {
1883
+ var i = t.invertX(n[0][0]) - e[0][0], r = t.invertX(n[1][0]) - e[1][0], u = t.invertY(n[0][1]) - e[0][1], o = t.invertY(n[1][1]) - e[1][1];
1884
+ return t.translate(
1885
+ r > i ? (i + r) / 2 : Math.min(0, i) || Math.max(0, r),
1886
+ o > u ? (u + o) / 2 : Math.min(0, u) || Math.max(0, o)
1887
+ );
1888
+ }
1889
+ function Yo() {
1890
+ var t = yo, n = mo, e = Eo, i = wo, r = _o, u = [0, 1 / 0], o = [[-1 / 0, -1 / 0], [1 / 0, 1 / 0]], l = 250, p = mi, s = me("start", "zoom", "end"), a, f, c, h = 500, y = 150, m = 0, _ = 10;
1891
+ function w(v) {
1892
+ v.property("__zoom", ve).on("wheel.zoom", F, { passive: !1 }).on("mousedown.zoom", $).on("dblclick.zoom", G).filter(r).on("touchstart.zoom", R).on("touchmove.zoom", W).on("touchend.zoom touchcancel.zoom", q).style("-webkit-tap-highlight-color", "rgba(0,0,0,0)");
1893
+ }
1894
+ w.transform = function(v, g, d, E) {
1895
+ var z = v.selection ? v.selection() : v;
1896
+ z.property("__zoom", ve), v !== z ? N(v, g, d, E) : z.interrupt().each(function() {
1897
+ T(this, arguments).event(E).start().zoom(null, typeof g == "function" ? g.apply(this, arguments) : g).end();
1898
+ });
1899
+ }, w.scaleBy = function(v, g, d, E) {
1900
+ w.scaleTo(v, function() {
1901
+ var z = this.__zoom.k, A = typeof g == "function" ? g.apply(this, arguments) : g;
1902
+ return z * A;
1903
+ }, d, E);
1904
+ }, w.scaleTo = function(v, g, d, E) {
1905
+ w.transform(v, function() {
1906
+ var z = n.apply(this, arguments), A = this.__zoom, x = d == null ? S(z) : typeof d == "function" ? d.apply(this, arguments) : d, X = A.invert(x), L = typeof g == "function" ? g.apply(this, arguments) : g;
1907
+ return e(P(M(A, L), x, X), z, o);
1908
+ }, d, E);
1909
+ }, w.translateBy = function(v, g, d, E) {
1910
+ w.transform(v, function() {
1911
+ return e(this.__zoom.translate(
1912
+ typeof g == "function" ? g.apply(this, arguments) : g,
1913
+ typeof d == "function" ? d.apply(this, arguments) : d
1914
+ ), n.apply(this, arguments), o);
1915
+ }, null, E);
1916
+ }, w.translateTo = function(v, g, d, E, z) {
1917
+ w.transform(v, function() {
1918
+ var A = n.apply(this, arguments), x = this.__zoom, X = E == null ? S(A) : typeof E == "function" ? E.apply(this, arguments) : E;
1919
+ return e(Qe.translate(X[0], X[1]).scale(x.k).translate(
1920
+ typeof g == "function" ? -g.apply(this, arguments) : -g,
1921
+ typeof d == "function" ? -d.apply(this, arguments) : -d
1922
+ ), A, o);
1923
+ }, E, z);
1924
+ };
1925
+ function M(v, g) {
1926
+ return g = Math.max(u[0], Math.min(u[1], g)), g === v.k ? v : new st(g, v.x, v.y);
1927
+ }
1928
+ function P(v, g, d) {
1929
+ var E = g[0] - d[0] * v.k, z = g[1] - d[1] * v.k;
1930
+ return E === v.x && z === v.y ? v : new st(v.k, E, z);
1931
+ }
1932
+ function S(v) {
1933
+ return [(+v[0][0] + +v[1][0]) / 2, (+v[0][1] + +v[1][1]) / 2];
1934
+ }
1935
+ function N(v, g, d, E) {
1936
+ v.on("start.zoom", function() {
1937
+ T(this, arguments).event(E).start();
1938
+ }).on("interrupt.zoom end.zoom", function() {
1939
+ T(this, arguments).event(E).end();
1940
+ }).tween("zoom", function() {
1941
+ var z = this, A = arguments, x = T(z, A).event(E), X = n.apply(z, A), L = d == null ? S(X) : typeof d == "function" ? d.apply(z, A) : d, U = Math.max(X[1][0] - X[0][0], X[1][1] - X[0][1]), V = z.__zoom, H = typeof g == "function" ? g.apply(z, A) : g, ut = p(V.invert(L).concat(U / V.k), H.invert(L).concat(U / H.k));
1942
+ return function(j) {
1943
+ if (j === 1) j = H;
1944
+ else {
1945
+ var at = ut(j), an = U / at[2];
1946
+ j = new st(an, L[0] - at[0] * an, L[1] - at[1] * an);
1947
+ }
1948
+ x.zoom(null, j);
1949
+ };
1950
+ });
1951
+ }
1952
+ function T(v, g, d) {
1953
+ return !d && v.__zooming || new I(v, g);
1954
+ }
1955
+ function I(v, g) {
1956
+ this.that = v, this.args = g, this.active = 0, this.sourceEvent = null, this.extent = n.apply(v, g), this.taps = 0;
1957
+ }
1958
+ I.prototype = {
1959
+ event: function(v) {
1960
+ return v && (this.sourceEvent = v), this;
1961
+ },
1962
+ start: function() {
1963
+ return ++this.active === 1 && (this.that.__zooming = this, this.emit("start")), this;
1964
+ },
1965
+ zoom: function(v, g) {
1966
+ return this.mouse && v !== "mouse" && (this.mouse[1] = g.invert(this.mouse[0])), this.touch0 && v !== "touch" && (this.touch0[1] = g.invert(this.touch0[0])), this.touch1 && v !== "touch" && (this.touch1[1] = g.invert(this.touch1[0])), this.that.__zoom = g, this.emit("zoom"), this;
1967
+ },
1968
+ end: function() {
1969
+ return --this.active === 0 && (delete this.that.__zooming, this.emit("end")), this;
1970
+ },
1971
+ emit: function(v) {
1972
+ var g = vt(this.that).datum();
1973
+ s.call(
1974
+ v,
1975
+ this.that,
1976
+ new go(v, {
1977
+ sourceEvent: this.sourceEvent,
1978
+ target: w,
1979
+ transform: this.that.__zoom,
1980
+ dispatch: s
1981
+ }),
1982
+ g
1983
+ );
1984
+ }
1985
+ };
1986
+ function F(v, ...g) {
1987
+ if (!t.apply(this, arguments)) return;
1988
+ var d = T(this, g).event(v), E = this.__zoom, z = Math.max(u[0], Math.min(u[1], E.k * Math.pow(2, i.apply(this, arguments)))), A = ht(v);
1989
+ if (d.wheel)
1990
+ (d.mouse[0][0] !== A[0] || d.mouse[0][1] !== A[1]) && (d.mouse[1] = E.invert(d.mouse[0] = A)), clearTimeout(d.wheel);
1991
+ else {
1992
+ if (E.k === z) return;
1993
+ d.mouse = [A, E.invert(A)], Ht(this), d.start();
1994
+ }
1995
+ St(v), d.wheel = setTimeout(x, y), d.zoom("mouse", e(P(M(E, z), d.mouse[0], d.mouse[1]), d.extent, o));
1996
+ function x() {
1997
+ d.wheel = null, d.end();
1998
+ }
1999
+ }
2000
+ function $(v, ...g) {
2001
+ if (c || !t.apply(this, arguments)) return;
2002
+ var d = v.currentTarget, E = T(this, g, !0).event(v), z = vt(v.view).on("mousemove.zoom", L, !0).on("mouseup.zoom", U, !0), A = ht(v, d), x = v.clientX, X = v.clientY;
2003
+ ur(v.view), hn(v), E.mouse = [A, this.__zoom.invert(A)], Ht(this), E.start();
2004
+ function L(V) {
2005
+ if (St(V), !E.moved) {
2006
+ var H = V.clientX - x, ut = V.clientY - X;
2007
+ E.moved = H * H + ut * ut > m;
2008
+ }
2009
+ E.event(V).zoom("mouse", e(P(E.that.__zoom, E.mouse[0] = ht(V, d), E.mouse[1]), E.extent, o));
2010
+ }
2011
+ function U(V) {
2012
+ z.on("mousemove.zoom mouseup.zoom", null), ar(V.view, E.moved), St(V), E.event(V).end();
2013
+ }
2014
+ }
2015
+ function G(v, ...g) {
2016
+ if (t.apply(this, arguments)) {
2017
+ var d = this.__zoom, E = ht(v.changedTouches ? v.changedTouches[0] : v, this), z = d.invert(E), A = d.k * (v.shiftKey ? 0.5 : 2), x = e(P(M(d, A), E, z), n.apply(this, g), o);
2018
+ St(v), l > 0 ? vt(this).transition().duration(l).call(N, x, E, v) : vt(this).call(w.transform, x, E, v);
2019
+ }
2020
+ }
2021
+ function R(v, ...g) {
2022
+ if (t.apply(this, arguments)) {
2023
+ var d = v.touches, E = d.length, z = T(this, g, v.changedTouches.length === E).event(v), A, x, X, L;
2024
+ for (hn(v), x = 0; x < E; ++x)
2025
+ X = d[x], L = ht(X, this), L = [L, this.__zoom.invert(L), X.identifier], z.touch0 ? !z.touch1 && z.touch0[2] !== L[2] && (z.touch1 = L, z.taps = 0) : (z.touch0 = L, A = !0, z.taps = 1 + !!a);
2026
+ a && (a = clearTimeout(a)), A && (z.taps < 2 && (f = L[0], a = setTimeout(function() {
2027
+ a = null;
2028
+ }, h)), Ht(this), z.start());
2029
+ }
2030
+ }
2031
+ function W(v, ...g) {
2032
+ if (this.__zooming) {
2033
+ var d = T(this, g).event(v), E = v.changedTouches, z = E.length, A, x, X, L;
2034
+ for (St(v), A = 0; A < z; ++A)
2035
+ x = E[A], X = ht(x, this), d.touch0 && d.touch0[2] === x.identifier ? d.touch0[0] = X : d.touch1 && d.touch1[2] === x.identifier && (d.touch1[0] = X);
2036
+ if (x = d.that.__zoom, d.touch1) {
2037
+ var U = d.touch0[0], V = d.touch0[1], H = d.touch1[0], ut = d.touch1[1], j = (j = H[0] - U[0]) * j + (j = H[1] - U[1]) * j, at = (at = ut[0] - V[0]) * at + (at = ut[1] - V[1]) * at;
2038
+ x = M(x, Math.sqrt(j / at)), X = [(U[0] + H[0]) / 2, (U[1] + H[1]) / 2], L = [(V[0] + ut[0]) / 2, (V[1] + ut[1]) / 2];
2039
+ } else if (d.touch0) X = d.touch0[0], L = d.touch0[1];
2040
+ else return;
2041
+ d.zoom("touch", e(P(x, X, L), d.extent, o));
2042
+ }
2043
+ }
2044
+ function q(v, ...g) {
2045
+ if (this.__zooming) {
2046
+ var d = T(this, g).event(v), E = v.changedTouches, z = E.length, A, x;
2047
+ for (hn(v), c && clearTimeout(c), c = setTimeout(function() {
2048
+ c = null;
2049
+ }, h), A = 0; A < z; ++A)
2050
+ x = E[A], d.touch0 && d.touch0[2] === x.identifier ? delete d.touch0 : d.touch1 && d.touch1[2] === x.identifier && delete d.touch1;
2051
+ if (d.touch1 && !d.touch0 && (d.touch0 = d.touch1, delete d.touch1), d.touch0) d.touch0[1] = this.__zoom.invert(d.touch0[0]);
2052
+ else if (d.end(), d.taps === 2 && (x = ht(x, this), Math.hypot(f[0] - x[0], f[1] - x[1]) < _)) {
2053
+ var X = vt(this).on("dblclick.zoom");
2054
+ X && X.apply(this, arguments);
2055
+ }
2056
+ }
2057
+ }
2058
+ return w.wheelDelta = function(v) {
2059
+ return arguments.length ? (i = typeof v == "function" ? v : Yt(+v), w) : i;
2060
+ }, w.filter = function(v) {
2061
+ return arguments.length ? (t = typeof v == "function" ? v : Yt(!!v), w) : t;
2062
+ }, w.touchable = function(v) {
2063
+ return arguments.length ? (r = typeof v == "function" ? v : Yt(!!v), w) : r;
2064
+ }, w.extent = function(v) {
2065
+ return arguments.length ? (n = typeof v == "function" ? v : Yt([[+v[0][0], +v[0][1]], [+v[1][0], +v[1][1]]]), w) : n;
2066
+ }, w.scaleExtent = function(v) {
2067
+ return arguments.length ? (u[0] = +v[0], u[1] = +v[1], w) : [u[0], u[1]];
2068
+ }, w.translateExtent = function(v) {
2069
+ return arguments.length ? (o[0][0] = +v[0][0], o[1][0] = +v[1][0], o[0][1] = +v[0][1], o[1][1] = +v[1][1], w) : [[o[0][0], o[0][1]], [o[1][0], o[1][1]]];
2070
+ }, w.constrain = function(v) {
2071
+ return arguments.length ? (e = v, w) : e;
2072
+ }, w.duration = function(v) {
2073
+ return arguments.length ? (l = +v, w) : l;
2074
+ }, w.interpolate = function(v) {
2075
+ return arguments.length ? (p = v, w) : p;
2076
+ }, w.on = function() {
2077
+ var v = s.on.apply(s, arguments);
2078
+ return v === s ? w : v;
2079
+ }, w.clickDistance = function(v) {
2080
+ return arguments.length ? (m = (v = +v) * v, w) : Math.sqrt(m);
2081
+ }, w.tapDistance = function(v) {
2082
+ return arguments.length ? (_ = +v, w) : _;
2083
+ }, w;
2084
+ }
2085
+ function So(t) {
2086
+ if (!t)
2087
+ throw new Error("geojson is required");
2088
+ switch (t.type) {
2089
+ case "Feature":
2090
+ return be(t);
2091
+ case "FeatureCollection":
2092
+ return Mo(t);
2093
+ case "Point":
2094
+ case "LineString":
2095
+ case "Polygon":
2096
+ case "MultiPoint":
2097
+ case "MultiLineString":
2098
+ case "MultiPolygon":
2099
+ case "GeometryCollection":
2100
+ return On(t);
2101
+ default:
2102
+ throw new Error("unknown GeoJSON type");
2103
+ }
2104
+ }
2105
+ function be(t) {
2106
+ const n = { type: "Feature" };
2107
+ return Object.keys(t).forEach((e) => {
2108
+ switch (e) {
2109
+ case "type":
2110
+ case "properties":
2111
+ case "geometry":
2112
+ return;
2113
+ default:
2114
+ n[e] = t[e];
2115
+ }
2116
+ }), n.properties = je(t.properties), t.geometry == null ? n.geometry = null : n.geometry = On(t.geometry), n;
2117
+ }
2118
+ function je(t) {
2119
+ const n = {};
2120
+ return t && Object.keys(t).forEach((e) => {
2121
+ const i = t[e];
2122
+ typeof i == "object" ? i === null ? n[e] = null : Array.isArray(i) ? n[e] = i.map((r) => r) : n[e] = je(i) : n[e] = i;
2123
+ }), n;
2124
+ }
2125
+ function Mo(t) {
2126
+ const n = { type: "FeatureCollection" };
2127
+ return Object.keys(t).forEach((e) => {
2128
+ switch (e) {
2129
+ case "type":
2130
+ case "features":
2131
+ return;
2132
+ default:
2133
+ n[e] = t[e];
2134
+ }
2135
+ }), n.features = t.features.map((e) => be(e)), n;
2136
+ }
2137
+ function On(t) {
2138
+ const n = { type: t.type };
2139
+ return t.bbox && (n.bbox = t.bbox), t.type === "GeometryCollection" ? (n.geometries = t.geometries.map((e) => On(e)), n) : (n.coordinates = ti(t.coordinates), n);
2140
+ }
2141
+ function ti(t) {
2142
+ const n = t;
2143
+ return typeof n[0] != "object" ? n.slice() : n.map((e) => ti(e));
2144
+ }
2145
+ function zo(t) {
2146
+ if (Array.isArray(t))
2147
+ return t;
2148
+ if (t.type === "Feature") {
2149
+ if (t.geometry !== null)
2150
+ return t.geometry.coordinates;
2151
+ } else if (t.coordinates)
2152
+ return t.coordinates;
2153
+ throw new Error(
2154
+ "coords must be GeoJSON Feature, Geometry Object or an Array"
2155
+ );
2156
+ }
2157
+ function $n(t) {
2158
+ const n = zo(t);
2159
+ let e = 0, i = 1, r, u;
2160
+ for (; i < n.length; )
2161
+ r = u || n[0], u = n[i], e += (u[0] - r[0]) * (u[1] + r[1]), i++;
2162
+ return e > 0;
2163
+ }
2164
+ function Po(t, n = {}) {
2165
+ const e = { type: "FeatureCollection" };
2166
+ return n.id && (e.id = n.id), n.bbox && (e.bbox = n.bbox), e.features = t, e;
2167
+ }
2168
+ function To(t) {
2169
+ return t !== null && typeof t == "object" && !Array.isArray(t);
2170
+ }
2171
+ function ge(t, n) {
2172
+ if (t.type === "Feature")
2173
+ n(t, 0);
2174
+ else if (t.type === "FeatureCollection")
2175
+ for (var e = 0; e < t.features.length && n(t.features[e], e) !== !1; e++)
2176
+ ;
2177
+ }
2178
+ function ni(t, n) {
2179
+ var e, i, r, u, o, l, p, s, a, f, c = 0, h = t.type === "FeatureCollection", y = t.type === "Feature", m = h ? t.features.length : 1;
2180
+ for (e = 0; e < m; e++) {
2181
+ for (l = h ? (
2182
+ // @ts-expect-error: Known type conflict
2183
+ t.features[e].geometry
2184
+ ) : y ? (
2185
+ // @ts-expect-error: Known type conflict
2186
+ t.geometry
2187
+ ) : t, s = h ? (
2188
+ // @ts-expect-error: Known type conflict
2189
+ t.features[e].properties
2190
+ ) : y ? (
2191
+ // @ts-expect-error: Known type conflict
2192
+ t.properties
2193
+ ) : {}, a = h ? (
2194
+ // @ts-expect-error: Known type conflict
2195
+ t.features[e].bbox
2196
+ ) : y ? (
2197
+ // @ts-expect-error: Known type conflict
2198
+ t.bbox
2199
+ ) : void 0, f = h ? (
2200
+ // @ts-expect-error: Known type conflict
2201
+ t.features[e].id
2202
+ ) : y ? (
2203
+ // @ts-expect-error: Known type conflict
2204
+ t.id
2205
+ ) : void 0, p = l ? l.type === "GeometryCollection" : !1, o = p ? l.geometries.length : 1, r = 0; r < o; r++) {
2206
+ if (u = p ? l.geometries[r] : l, u === null) {
2207
+ if (
2208
+ // @ts-expect-error: Known type conflict
2209
+ n(
2210
+ // @ts-expect-error: Known type conflict
2211
+ null,
2212
+ c,
2213
+ s,
2214
+ a,
2215
+ f
2216
+ ) === !1
2217
+ )
2218
+ return !1;
2219
+ continue;
2220
+ }
2221
+ switch (u.type) {
2222
+ case "Point":
2223
+ case "LineString":
2224
+ case "MultiPoint":
2225
+ case "Polygon":
2226
+ case "MultiLineString":
2227
+ case "MultiPolygon": {
2228
+ if (
2229
+ // @ts-expect-error: Known type conflict
2230
+ n(
2231
+ u,
2232
+ c,
2233
+ s,
2234
+ a,
2235
+ f
2236
+ ) === !1
2237
+ )
2238
+ return !1;
2239
+ break;
2240
+ }
2241
+ case "GeometryCollection": {
2242
+ for (i = 0; i < u.geometries.length; i++)
2243
+ if (
2244
+ // @ts-expect-error: Known type conflict
2245
+ n(
2246
+ u.geometries[i],
2247
+ c,
2248
+ s,
2249
+ a,
2250
+ f
2251
+ ) === !1
2252
+ )
2253
+ return !1;
2254
+ break;
2255
+ }
2256
+ default:
2257
+ throw new Error("Unknown Geometry Type");
2258
+ }
2259
+ }
2260
+ c++;
2261
+ }
2262
+ }
2263
+ function Ot(t) {
2264
+ if (Array.isArray(t))
2265
+ return t;
2266
+ if (t.type === "Feature") {
2267
+ if (t.geometry !== null)
2268
+ return t.geometry.coordinates;
2269
+ } else if (t.coordinates)
2270
+ return t.coordinates;
2271
+ throw new Error(
2272
+ "coords must be GeoJSON Feature, Geometry Object or an Array"
2273
+ );
2274
+ }
2275
+ function Ao(t, n = {}) {
2276
+ var e, i;
2277
+ if (n = n || {}, !To(n)) throw new Error("options is invalid");
2278
+ const r = (e = n.mutate) != null ? e : !1, u = (i = n.reverse) != null ? i : !1;
2279
+ if (!t) throw new Error("<geojson> is required");
2280
+ if (typeof u != "boolean")
2281
+ throw new Error("<reverse> must be a boolean");
2282
+ if (typeof r != "boolean")
2283
+ throw new Error("<mutate> must be a boolean");
2284
+ !r && t.type !== "Point" && t.type !== "MultiPoint" && (t = So(t));
2285
+ const o = [];
2286
+ switch (t.type) {
2287
+ case "GeometryCollection":
2288
+ return ni(t, function(l) {
2289
+ Wt(l, u);
2290
+ }), t;
2291
+ case "FeatureCollection":
2292
+ return ge(t, function(l) {
2293
+ const p = Wt(l, u);
2294
+ ge(p, function(s) {
2295
+ o.push(s);
2296
+ });
2297
+ }), Po(o);
2298
+ }
2299
+ return Wt(t, u);
2300
+ }
2301
+ function Wt(t, n) {
2302
+ switch (t.type === "Feature" ? t.geometry.type : t.type) {
2303
+ case "GeometryCollection":
2304
+ return ni(t, function(i) {
2305
+ Wt(i, n);
2306
+ }), t;
2307
+ case "LineString":
2308
+ return de(Ot(t), n), t;
2309
+ case "Polygon":
2310
+ return ye(Ot(t), n), t;
2311
+ case "MultiLineString":
2312
+ return Ot(t).forEach(function(i) {
2313
+ de(i, n);
2314
+ }), t;
2315
+ case "MultiPolygon":
2316
+ return Ot(t).forEach(function(i) {
2317
+ ye(i, n);
2318
+ }), t;
2319
+ case "Point":
2320
+ case "MultiPoint":
2321
+ return t;
2322
+ }
2323
+ }
2324
+ function de(t, n) {
2325
+ $n(t) === n && t.reverse();
2326
+ }
2327
+ function ye(t, n) {
2328
+ $n(t[0]) !== n && t[0].reverse();
2329
+ for (let e = 1; e < t.length; e++)
2330
+ $n(t[e]) === n && t[e].reverse();
2331
+ }
2332
+ var Oo = Ao;
2333
+ export {
2334
+ Fo as a,
2335
+ Do as b,
2336
+ Go as c,
2337
+ Lo as d,
2338
+ Xo as e,
2339
+ $o as f,
2340
+ ko as g,
2341
+ Oo as i,
2342
+ Yo as z
2343
+ };
2344
+ //# sourceMappingURL=index-Dp_SfsUA.js.map