@vitessce/vega 3.3.3 → 3.3.5

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.
package/dist/index.js CHANGED
@@ -980,8 +980,8 @@ function field$1(field2, name2, opt) {
980
980
  }
981
981
  const id = field$1("id");
982
982
  const identity$6 = accessor((_) => _, [], "identity");
983
- const zero$4 = accessor(() => 0, [], "zero");
984
- const one$2 = accessor(() => 1, [], "one");
983
+ const zero$5 = accessor(() => 0, [], "zero");
984
+ const one$3 = accessor(() => 1, [], "one");
985
985
  const truthy = accessor(() => true, [], "true");
986
986
  const falsy = accessor(() => false, [], "false");
987
987
  function log$1$1(method2, level, input) {
@@ -1174,7 +1174,7 @@ const compareN = (fields, orders, n) => {
1174
1174
  return c2 * orders[i];
1175
1175
  };
1176
1176
  };
1177
- function constant$4(_) {
1177
+ function constant$5(_) {
1178
1178
  return isFunction$1(_) ? _ : () => _;
1179
1179
  }
1180
1180
  function debounce(delay, handler) {
@@ -1185,7 +1185,7 @@ function debounce(delay, handler) {
1185
1185
  tid = setTimeout(() => (handler(e3), tid = null), delay);
1186
1186
  };
1187
1187
  }
1188
- function extend$1(_) {
1188
+ function extend$2(_) {
1189
1189
  for (let x2, k, i = 1, len = arguments.length; i < len; ++i) {
1190
1190
  x2 = arguments[i];
1191
1191
  for (k in x2) {
@@ -1371,7 +1371,7 @@ function inherits(child, parent, members) {
1371
1371
  enumerable: true,
1372
1372
  configurable: true
1373
1373
  });
1374
- return extend$1(proto, members);
1374
+ return extend$2(proto, members);
1375
1375
  }
1376
1376
  function inrange(value2, range2, left, right) {
1377
1377
  let r0 = range2[0], r1 = range2[range2.length - 1], t4;
@@ -7591,10 +7591,10 @@ function feature(topology, o) {
7591
7591
  }) } : feature$1(topology, o);
7592
7592
  }
7593
7593
  function feature$1(topology, o) {
7594
- var id2 = o.id, bbox = o.bbox, properties = o.properties == null ? {} : o.properties, geometry = object$1(topology, o);
7594
+ var id2 = o.id, bbox = o.bbox, properties = o.properties == null ? {} : o.properties, geometry = object$2(topology, o);
7595
7595
  return id2 == null && bbox == null ? { type: "Feature", properties, geometry } : bbox == null ? { type: "Feature", id: id2, properties, geometry } : { type: "Feature", id: id2, bbox, properties, geometry };
7596
7596
  }
7597
- function object$1(topology, o) {
7597
+ function object$2(topology, o) {
7598
7598
  var transformPoint = transform$3(topology.transform), arcs = topology.arcs;
7599
7599
  function arc2(i, points2) {
7600
7600
  if (points2.length)
@@ -7723,7 +7723,7 @@ function stitch(topology, arcs) {
7723
7723
  return fragments;
7724
7724
  }
7725
7725
  function mesh(topology) {
7726
- return object$1(topology, meshArcs.apply(this, arguments));
7726
+ return object$2(topology, meshArcs.apply(this, arguments));
7727
7727
  }
7728
7728
  function meshArcs(topology, object2, filter2) {
7729
7729
  var arcs, i, n;
@@ -7788,7 +7788,7 @@ function bisector$2(f) {
7788
7788
  compare2 = (d, x2) => ascending$3(f(d), x2);
7789
7789
  delta = (d, x2) => f(d) - x2;
7790
7790
  } else {
7791
- compare12 = f === ascending$3 || f === descending$1 ? f : zero$3;
7791
+ compare12 = f === ascending$3 || f === descending$1 ? f : zero$4;
7792
7792
  compare2 = f;
7793
7793
  delta = f;
7794
7794
  }
@@ -7826,10 +7826,10 @@ function bisector$2(f) {
7826
7826
  }
7827
7827
  return { left, center, right };
7828
7828
  }
7829
- function zero$3() {
7829
+ function zero$4() {
7830
7830
  return 0;
7831
7831
  }
7832
- function number$7(x2) {
7832
+ function number$8(x2) {
7833
7833
  return x2 === null ? NaN : +x2;
7834
7834
  }
7835
7835
  function* numbers$2(values2, valueof) {
@@ -7851,7 +7851,7 @@ function* numbers$2(values2, valueof) {
7851
7851
  const ascendingBisect$1 = bisector$2(ascending$3);
7852
7852
  const bisectRight$2 = ascendingBisect$1.right;
7853
7853
  const bisectLeft$1 = ascendingBisect$1.left;
7854
- bisector$2(number$7).center;
7854
+ bisector$2(number$8).center;
7855
7855
  const bisect$2 = bisectRight$2;
7856
7856
  function variance(values2, valueof) {
7857
7857
  let count2 = 0;
@@ -8041,7 +8041,7 @@ function quantile$1(values2, p, valueof) {
8041
8041
  var n, i = (n - 1) * p, i0 = Math.floor(i), value0 = max$2(quickselect(values2, i0).subarray(0, i0 + 1)), value1 = min$2(values2.subarray(i0 + 1));
8042
8042
  return value0 + (value1 - value0) * (i - i0);
8043
8043
  }
8044
- function quantileSorted$1(values2, p, valueof = number$7) {
8044
+ function quantileSorted$1(values2, p, valueof = number$8) {
8045
8045
  if (!(n = values2.length))
8046
8046
  return;
8047
8047
  if ((p = +p) <= 0 || n < 2)
@@ -8327,7 +8327,7 @@ function precisionRound(step, max2) {
8327
8327
  step = Math.abs(step), max2 = Math.abs(max2) - step;
8328
8328
  return Math.max(0, exponent(max2) - exponent(step)) + 1;
8329
8329
  }
8330
- var t0$2 = /* @__PURE__ */ new Date(), t1$1 = /* @__PURE__ */ new Date();
8330
+ var t0$3 = /* @__PURE__ */ new Date(), t1$2 = /* @__PURE__ */ new Date();
8331
8331
  function newInterval(floori, offseti, count2, field2) {
8332
8332
  function interval2(date2) {
8333
8333
  return floori(date2 = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+date2)), date2;
@@ -8378,9 +8378,9 @@ function newInterval(floori, offseti, count2, field2) {
8378
8378
  };
8379
8379
  if (count2) {
8380
8380
  interval2.count = function(start, end) {
8381
- t0$2.setTime(+start), t1$1.setTime(+end);
8382
- floori(t0$2), floori(t1$1);
8383
- return Math.floor(count2(t0$2, t1$1));
8381
+ t0$3.setTime(+start), t1$2.setTime(+end);
8382
+ floori(t0$3), floori(t1$2);
8383
+ return Math.floor(count2(t0$3, t1$2));
8384
8384
  };
8385
8385
  interval2.every = function(step) {
8386
8386
  step = Math.floor(step);
@@ -8661,12 +8661,12 @@ function bisector$1(f) {
8661
8661
  function ascendingComparator(f) {
8662
8662
  return (d, x2) => ascending$2(f(d), x2);
8663
8663
  }
8664
- function number$6(x2) {
8664
+ function number$7(x2) {
8665
8665
  return x2 === null ? NaN : +x2;
8666
8666
  }
8667
8667
  const ascendingBisect = bisector$1(ascending$2);
8668
8668
  const bisectRight$1 = ascendingBisect.right;
8669
- bisector$1(number$6).center;
8669
+ bisector$1(number$7).center;
8670
8670
  const bisect$1 = bisectRight$1;
8671
8671
  class Adder {
8672
8672
  constructor() {
@@ -8800,7 +8800,7 @@ function tickStep(start, stop3, count2) {
8800
8800
  step1 *= 2;
8801
8801
  return stop3 < start ? -step1 : step1;
8802
8802
  }
8803
- function quantileSorted(values2, p, valueof = number$6) {
8803
+ function quantileSorted(values2, p, valueof = number$7) {
8804
8804
  if (!(n = values2.length))
8805
8805
  return;
8806
8806
  if ((p = +p) <= 0 || n < 2)
@@ -8917,7 +8917,7 @@ const defaultSpecifiers = {
8917
8917
  ["".concat(HOURS, "-").concat(MINUTES)]: "%H:%M"
8918
8918
  };
8919
8919
  function timeUnitSpecifier(units2, specifiers) {
8920
- const s = extend$1({}, defaultSpecifiers, specifiers), u2 = timeUnits(units2), n = u2.length;
8920
+ const s = extend$2({}, defaultSpecifiers, specifiers), u2 = timeUnits(units2), n = u2.length;
8921
8921
  let fmt = "", start = 0, end, key;
8922
8922
  for (start = 0; start < n; ) {
8923
8923
  for (end = u2.length; end > start; --end) {
@@ -8931,13 +8931,13 @@ function timeUnitSpecifier(units2, specifiers) {
8931
8931
  }
8932
8932
  return fmt.trim();
8933
8933
  }
8934
- const t0$1 = /* @__PURE__ */ new Date();
8934
+ const t0$2 = /* @__PURE__ */ new Date();
8935
8935
  function localYear(y2) {
8936
- t0$1.setFullYear(y2);
8937
- t0$1.setMonth(0);
8938
- t0$1.setDate(1);
8939
- t0$1.setHours(0, 0, 0, 0);
8940
- return t0$1;
8936
+ t0$2.setFullYear(y2);
8937
+ t0$2.setMonth(0);
8938
+ t0$2.setDate(1);
8939
+ t0$2.setHours(0, 0, 0, 0);
8940
+ return t0$2;
8941
8941
  }
8942
8942
  function dayofyear(d) {
8943
8943
  return localDayOfYear(new Date(d));
@@ -8977,8 +8977,8 @@ function utcWeekNum(d) {
8977
8977
  return utcSunday.count(y2 - 1, d);
8978
8978
  }
8979
8979
  function utcFirst(y2) {
8980
- t0$1.setTime(Date.UTC(y2, 0, 1));
8981
- return t0$1.getUTCDay();
8980
+ t0$2.setTime(Date.UTC(y2, 0, 1));
8981
+ return t0$2.getUTCDay();
8982
8982
  }
8983
8983
  function utcDate$1(y2, m2, d, H, M2, S, L) {
8984
8984
  if (0 <= y2 && y2 < 100) {
@@ -8993,7 +8993,7 @@ function floor(units2, step, get3, inv, newDate2) {
8993
8993
  key = key || unit2;
8994
8994
  return getUnit(get3[key], inv[key], unit2 === b2 && s, p);
8995
8995
  };
8996
- const t4 = /* @__PURE__ */ new Date(), u2 = toSet(units2), y2 = u2[YEAR] ? _(YEAR) : constant$4(2012), m2 = u2[MONTH] ? _(MONTH) : u2[QUARTER] ? _(QUARTER) : zero$4, d = u2[WEEK] && u2[DAY] ? _(DAY, 1, WEEK + DAY) : u2[WEEK] ? _(WEEK, 1) : u2[DAY] ? _(DAY, 1) : u2[DATE] ? _(DATE, 1) : u2[DAYOFYEAR] ? _(DAYOFYEAR, 1) : one$2, H = u2[HOURS] ? _(HOURS) : zero$4, M2 = u2[MINUTES] ? _(MINUTES) : zero$4, S = u2[SECONDS] ? _(SECONDS) : zero$4, L = u2[MILLISECONDS] ? _(MILLISECONDS) : zero$4;
8996
+ const t4 = /* @__PURE__ */ new Date(), u2 = toSet(units2), y2 = u2[YEAR] ? _(YEAR) : constant$5(2012), m2 = u2[MONTH] ? _(MONTH) : u2[QUARTER] ? _(QUARTER) : zero$5, d = u2[WEEK] && u2[DAY] ? _(DAY, 1, WEEK + DAY) : u2[WEEK] ? _(WEEK, 1) : u2[DAY] ? _(DAY, 1) : u2[DATE] ? _(DATE, 1) : u2[DAYOFYEAR] ? _(DAYOFYEAR, 1) : one$3, H = u2[HOURS] ? _(HOURS) : zero$5, M2 = u2[MINUTES] ? _(MINUTES) : zero$5, S = u2[SECONDS] ? _(SECONDS) : zero$5, L = u2[MILLISECONDS] ? _(MILLISECONDS) : zero$5;
8997
8997
  return function(v) {
8998
8998
  t4.setTime(+v);
8999
8999
  const year2 = y2(t4);
@@ -9832,7 +9832,7 @@ function timeFormatLocale(definition2) {
9832
9832
  function timeFormatDefaultLocale(definition2) {
9833
9833
  return arguments.length ? defaultTimeLocale = timeFormatLocale(definition2) : defaultTimeLocale;
9834
9834
  }
9835
- const createLocale = (number2, time2) => extend$1({}, number2, time2);
9835
+ const createLocale = (number2, time2) => extend$2({}, number2, time2);
9836
9836
  function locale(numberSpec, timeSpec) {
9837
9837
  const number2 = numberSpec ? numberFormatLocale(numberSpec) : numberFormatDefaultLocale();
9838
9838
  const time2 = timeSpec ? timeFormatLocale(timeSpec) : timeFormatDefaultLocale();
@@ -9869,7 +9869,7 @@ async function load$1(uri, options) {
9869
9869
  return opt.localFile ? this.file(url) : this.http(url, options);
9870
9870
  }
9871
9871
  async function sanitize(uri, options) {
9872
- options = extend$1({}, this.options, options);
9872
+ options = extend$2({}, this.options, options);
9873
9873
  const fileAccess = this.fileAccess, result = {
9874
9874
  href: null
9875
9875
  };
@@ -9926,7 +9926,7 @@ async function fileReject() {
9926
9926
  }
9927
9927
  function httpLoader(fetch2) {
9928
9928
  return fetch2 ? async function(url, options) {
9929
- const opt = extend$1({}, this.options.http, options), type2 = options && options.response, response = await fetch2(url, opt);
9929
+ const opt = extend$2({}, this.options.http, options), type2 = options && options.response, response = await fetch2(url, opt);
9930
9930
  return !response.ok ? error(response.status + "" + response.statusText) : isFunction$1(response[type2]) ? response[type2]() : response.text();
9931
9931
  } : httpReject;
9932
9932
  }
@@ -9976,7 +9976,7 @@ function delimitedFormat(delimiter) {
9976
9976
  const delim = {
9977
9977
  delimiter
9978
9978
  };
9979
- return dsv(data2, format2 ? extend$1(format2, delim) : delim);
9979
+ return dsv(data2, format2 ? extend$2(format2, delim) : delim);
9980
9980
  };
9981
9981
  parse2.responseType = "text";
9982
9982
  return parse2;
@@ -10179,7 +10179,7 @@ function changeset() {
10179
10179
  modify(t4, field2, value2) {
10180
10180
  const m2 = {
10181
10181
  field: field2,
10182
- value: constant$4(value2)
10182
+ value: constant$5(value2)
10183
10183
  };
10184
10184
  if (isFunction$1(t4)) {
10185
10185
  m2.filter = t4;
@@ -10772,10 +10772,10 @@ function on(source2, target2, update2, params2, options) {
10772
10772
  return this;
10773
10773
  }
10774
10774
  function onStream(df, stream2, target2, update2, params2, options) {
10775
- const opt = extend$1({}, options, SKIP$2);
10775
+ const opt = extend$2({}, options, SKIP$2);
10776
10776
  let func, op;
10777
10777
  if (!isFunction$1(target2))
10778
- target2 = constant$4(target2);
10778
+ target2 = constant$5(target2);
10779
10779
  if (update2 === void 0) {
10780
10780
  func = (e3) => df.touch(target2(e3));
10781
10781
  } else if (isFunction$1(update2)) {
@@ -10807,7 +10807,7 @@ function onOperator(df, source2, target2, update2, params2, options) {
10807
10807
  }
10808
10808
  }
10809
10809
  function updater(target2, update2) {
10810
- update2 = isFunction$1(update2) ? update2 : constant$4(update2);
10810
+ update2 = isFunction$1(update2) ? update2 : constant$5(update2);
10811
10811
  return target2 ? function(_, pulse2) {
10812
10812
  const value2 = update2(_, pulse2);
10813
10813
  if (!target2.skip()) {
@@ -12262,7 +12262,7 @@ function rSquared(data2, x2, y2, uY, predict) {
12262
12262
  });
12263
12263
  return 1 - SSE / SST;
12264
12264
  }
12265
- function linear$2(data2, x2, y2) {
12265
+ function linear$3(data2, x2, y2) {
12266
12266
  let X3 = 0, Y3 = 0, XY = 0, X22 = 0, n = 0;
12267
12267
  visitPoints(data2, x2, y2, (dx, dy) => {
12268
12268
  ++n;
@@ -12358,7 +12358,7 @@ function quad(data2, x2, y2) {
12358
12358
  }
12359
12359
  function poly(data2, x2, y2, order) {
12360
12360
  if (order === 1)
12361
- return linear$2(data2, x2, y2);
12361
+ return linear$3(data2, x2, y2);
12362
12362
  if (order === 2)
12363
12363
  return quad(data2, x2, y2);
12364
12364
  const [xv, yv, ux, uy] = points(data2, x2, y2), n = xv.length, lhs = [], rhs = [], k = order + 1;
@@ -12740,7 +12740,7 @@ const AggregateOps = {
12740
12740
  };
12741
12741
  const ValidAggregateOps = Object.keys(AggregateOps);
12742
12742
  function measure(key, value2) {
12743
- return (out) => extend$1({
12743
+ return (out) => extend$2({
12744
12744
  name: key,
12745
12745
  out: out || key
12746
12746
  }, base_op, value2);
@@ -14315,7 +14315,7 @@ inherits(JoinAggregate, Aggregate$1, {
14315
14315
  }
14316
14316
  aggr.changes();
14317
14317
  pulse2.visit(pulse2.SOURCE, (t4) => {
14318
- extend$1(t4, cells[aggr.cellkey(t4)].tuple);
14318
+ extend$2(t4, cells[aggr.cellkey(t4)].tuple);
14319
14319
  });
14320
14320
  return pulse2.reflow(mod).modifies(this._outputs);
14321
14321
  },
@@ -15110,7 +15110,7 @@ inherits(Values$1, Transform, {
15110
15110
  function WindowOp(op, field2, param2, as) {
15111
15111
  const fn = WindowOps[op](field2, param2);
15112
15112
  return {
15113
- init: fn.init || zero$4,
15113
+ init: fn.init || zero$5,
15114
15114
  update: function(w2, t4) {
15115
15115
  t4[as] = fn.next(w2);
15116
15116
  }
@@ -15447,7 +15447,7 @@ function processPartition(list, state, cmp2, _) {
15447
15447
  p1: 0,
15448
15448
  index: 0,
15449
15449
  data: data2,
15450
- compare: sort2 || constant$4(-1)
15450
+ compare: sort2 || constant$5(-1)
15451
15451
  };
15452
15452
  state.init();
15453
15453
  for (let i = 0; i < n; ++i) {
@@ -15514,102 +15514,140 @@ const tx = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
15514
15514
  values: Values$1,
15515
15515
  window: Window
15516
15516
  }, Symbol.toStringTag, { value: "Module" }));
15517
- const pi$3 = Math.PI, tau$3 = 2 * pi$3, epsilon$5 = 1e-6, tauEpsilon = tau$3 - epsilon$5;
15518
- function Path$1() {
15519
- this._x0 = this._y0 = // start of current subpath
15520
- this._x1 = this._y1 = null;
15521
- this._ = "";
15517
+ function constant$4(x2) {
15518
+ return function constant2() {
15519
+ return x2;
15520
+ };
15522
15521
  }
15523
- function path$3() {
15524
- return new Path$1();
15522
+ const abs$2 = Math.abs;
15523
+ const atan2$1 = Math.atan2;
15524
+ const cos$2 = Math.cos;
15525
+ const max$1 = Math.max;
15526
+ const min$1 = Math.min;
15527
+ const sin$2 = Math.sin;
15528
+ const sqrt$3 = Math.sqrt;
15529
+ const epsilon$5 = 1e-12;
15530
+ const pi$3 = Math.PI;
15531
+ const halfPi$2 = pi$3 / 2;
15532
+ const tau$3 = 2 * pi$3;
15533
+ function acos$1(x2) {
15534
+ return x2 > 1 ? 0 : x2 < -1 ? pi$3 : Math.acos(x2);
15525
15535
  }
15526
- Path$1.prototype = path$3.prototype = {
15527
- constructor: Path$1,
15528
- moveTo: function(x2, y2) {
15529
- this._ += "M" + (this._x0 = this._x1 = +x2) + "," + (this._y0 = this._y1 = +y2);
15530
- },
15531
- closePath: function() {
15536
+ function asin$2(x2) {
15537
+ return x2 >= 1 ? halfPi$2 : x2 <= -1 ? -halfPi$2 : Math.asin(x2);
15538
+ }
15539
+ const pi$2 = Math.PI, tau$2 = 2 * pi$2, epsilon$4 = 1e-6, tauEpsilon = tau$2 - epsilon$4;
15540
+ function append(strings) {
15541
+ this._ += strings[0];
15542
+ for (let i = 1, n = strings.length; i < n; ++i) {
15543
+ this._ += arguments[i] + strings[i];
15544
+ }
15545
+ }
15546
+ function appendRound(digits) {
15547
+ let d = Math.floor(digits);
15548
+ if (!(d >= 0))
15549
+ throw new Error(`invalid digits: ${digits}`);
15550
+ if (d > 15)
15551
+ return append;
15552
+ const k = 10 ** d;
15553
+ return function(strings) {
15554
+ this._ += strings[0];
15555
+ for (let i = 1, n = strings.length; i < n; ++i) {
15556
+ this._ += Math.round(arguments[i] * k) / k + strings[i];
15557
+ }
15558
+ };
15559
+ }
15560
+ let Path$1 = class Path {
15561
+ constructor(digits) {
15562
+ this._x0 = this._y0 = // start of current subpath
15563
+ this._x1 = this._y1 = null;
15564
+ this._ = "";
15565
+ this._append = digits == null ? append : appendRound(digits);
15566
+ }
15567
+ moveTo(x2, y2) {
15568
+ this._append`M${this._x0 = this._x1 = +x2},${this._y0 = this._y1 = +y2}`;
15569
+ }
15570
+ closePath() {
15532
15571
  if (this._x1 !== null) {
15533
15572
  this._x1 = this._x0, this._y1 = this._y0;
15534
- this._ += "Z";
15573
+ this._append`Z`;
15535
15574
  }
15536
- },
15537
- lineTo: function(x2, y2) {
15538
- this._ += "L" + (this._x1 = +x2) + "," + (this._y1 = +y2);
15539
- },
15540
- quadraticCurveTo: function(x12, y12, x2, y2) {
15541
- this._ += "Q" + +x12 + "," + +y12 + "," + (this._x1 = +x2) + "," + (this._y1 = +y2);
15542
- },
15543
- bezierCurveTo: function(x12, y12, x2, y2, x3, y3) {
15544
- this._ += "C" + +x12 + "," + +y12 + "," + +x2 + "," + +y2 + "," + (this._x1 = +x3) + "," + (this._y1 = +y3);
15545
- },
15546
- arcTo: function(x12, y12, x2, y2, r3) {
15575
+ }
15576
+ lineTo(x2, y2) {
15577
+ this._append`L${this._x1 = +x2},${this._y1 = +y2}`;
15578
+ }
15579
+ quadraticCurveTo(x12, y12, x2, y2) {
15580
+ this._append`Q${+x12},${+y12},${this._x1 = +x2},${this._y1 = +y2}`;
15581
+ }
15582
+ bezierCurveTo(x12, y12, x2, y2, x3, y3) {
15583
+ this._append`C${+x12},${+y12},${+x2},${+y2},${this._x1 = +x3},${this._y1 = +y3}`;
15584
+ }
15585
+ arcTo(x12, y12, x2, y2, r3) {
15547
15586
  x12 = +x12, y12 = +y12, x2 = +x2, y2 = +y2, r3 = +r3;
15548
- var x02 = this._x1, y02 = this._y1, x21 = x2 - x12, y21 = y2 - y12, x01 = x02 - x12, y01 = y02 - y12, l01_2 = x01 * x01 + y01 * y01;
15549
15587
  if (r3 < 0)
15550
- throw new Error("negative radius: " + r3);
15588
+ throw new Error(`negative radius: ${r3}`);
15589
+ let x02 = this._x1, y02 = this._y1, x21 = x2 - x12, y21 = y2 - y12, x01 = x02 - x12, y01 = y02 - y12, l01_2 = x01 * x01 + y01 * y01;
15551
15590
  if (this._x1 === null) {
15552
- this._ += "M" + (this._x1 = x12) + "," + (this._y1 = y12);
15553
- } else if (!(l01_2 > epsilon$5))
15591
+ this._append`M${this._x1 = x12},${this._y1 = y12}`;
15592
+ } else if (!(l01_2 > epsilon$4))
15554
15593
  ;
15555
- else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon$5) || !r3) {
15556
- this._ += "L" + (this._x1 = x12) + "," + (this._y1 = y12);
15594
+ else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon$4) || !r3) {
15595
+ this._append`L${this._x1 = x12},${this._y1 = y12}`;
15557
15596
  } else {
15558
- var x20 = x2 - x02, y20 = y2 - y02, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r3 * Math.tan((pi$3 - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21;
15559
- if (Math.abs(t01 - 1) > epsilon$5) {
15560
- this._ += "L" + (x12 + t01 * x01) + "," + (y12 + t01 * y01);
15597
+ let x20 = x2 - x02, y20 = y2 - y02, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r3 * Math.tan((pi$2 - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21;
15598
+ if (Math.abs(t01 - 1) > epsilon$4) {
15599
+ this._append`L${x12 + t01 * x01},${y12 + t01 * y01}`;
15561
15600
  }
15562
- this._ += "A" + r3 + "," + r3 + ",0,0," + +(y01 * x20 > x01 * y20) + "," + (this._x1 = x12 + t21 * x21) + "," + (this._y1 = y12 + t21 * y21);
15601
+ this._append`A${r3},${r3},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x12 + t21 * x21},${this._y1 = y12 + t21 * y21}`;
15563
15602
  }
15564
- },
15565
- arc: function(x2, y2, r3, a0, a1, ccw) {
15603
+ }
15604
+ arc(x2, y2, r3, a0, a1, ccw) {
15566
15605
  x2 = +x2, y2 = +y2, r3 = +r3, ccw = !!ccw;
15567
- var dx = r3 * Math.cos(a0), dy = r3 * Math.sin(a0), x02 = x2 + dx, y02 = y2 + dy, cw2 = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0;
15568
15606
  if (r3 < 0)
15569
- throw new Error("negative radius: " + r3);
15607
+ throw new Error(`negative radius: ${r3}`);
15608
+ let dx = r3 * Math.cos(a0), dy = r3 * Math.sin(a0), x02 = x2 + dx, y02 = y2 + dy, cw2 = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0;
15570
15609
  if (this._x1 === null) {
15571
- this._ += "M" + x02 + "," + y02;
15572
- } else if (Math.abs(this._x1 - x02) > epsilon$5 || Math.abs(this._y1 - y02) > epsilon$5) {
15573
- this._ += "L" + x02 + "," + y02;
15610
+ this._append`M${x02},${y02}`;
15611
+ } else if (Math.abs(this._x1 - x02) > epsilon$4 || Math.abs(this._y1 - y02) > epsilon$4) {
15612
+ this._append`L${x02},${y02}`;
15574
15613
  }
15575
15614
  if (!r3)
15576
15615
  return;
15577
15616
  if (da < 0)
15578
- da = da % tau$3 + tau$3;
15617
+ da = da % tau$2 + tau$2;
15579
15618
  if (da > tauEpsilon) {
15580
- this._ += "A" + r3 + "," + r3 + ",0,1," + cw2 + "," + (x2 - dx) + "," + (y2 - dy) + "A" + r3 + "," + r3 + ",0,1," + cw2 + "," + (this._x1 = x02) + "," + (this._y1 = y02);
15581
- } else if (da > epsilon$5) {
15582
- this._ += "A" + r3 + "," + r3 + ",0," + +(da >= pi$3) + "," + cw2 + "," + (this._x1 = x2 + r3 * Math.cos(a1)) + "," + (this._y1 = y2 + r3 * Math.sin(a1));
15619
+ this._append`A${r3},${r3},0,1,${cw2},${x2 - dx},${y2 - dy}A${r3},${r3},0,1,${cw2},${this._x1 = x02},${this._y1 = y02}`;
15620
+ } else if (da > epsilon$4) {
15621
+ this._append`A${r3},${r3},0,${+(da >= pi$2)},${cw2},${this._x1 = x2 + r3 * Math.cos(a1)},${this._y1 = y2 + r3 * Math.sin(a1)}`;
15583
15622
  }
15584
- },
15585
- rect: function(x2, y2, w2, h2) {
15586
- this._ += "M" + (this._x0 = this._x1 = +x2) + "," + (this._y0 = this._y1 = +y2) + "h" + +w2 + "v" + +h2 + "h" + -w2 + "Z";
15587
- },
15588
- toString: function() {
15623
+ }
15624
+ rect(x2, y2, w2, h2) {
15625
+ this._append`M${this._x0 = this._x1 = +x2},${this._y0 = this._y1 = +y2}h${w2 = +w2}v${+h2}h${-w2}Z`;
15626
+ }
15627
+ toString() {
15589
15628
  return this._;
15590
15629
  }
15591
15630
  };
15592
- function constant$3(x2) {
15593
- return function constant2() {
15594
- return x2;
15595
- };
15596
- }
15597
- const abs$2 = Math.abs;
15598
- const atan2$1 = Math.atan2;
15599
- const cos$2 = Math.cos;
15600
- const max$1 = Math.max;
15601
- const min$1 = Math.min;
15602
- const sin$2 = Math.sin;
15603
- const sqrt$3 = Math.sqrt;
15604
- const epsilon$4 = 1e-12;
15605
- const pi$2 = Math.PI;
15606
- const halfPi$2 = pi$2 / 2;
15607
- const tau$2 = 2 * pi$2;
15608
- function acos$1(x2) {
15609
- return x2 > 1 ? 0 : x2 < -1 ? pi$2 : Math.acos(x2);
15631
+ function path$3() {
15632
+ return new Path$1();
15610
15633
  }
15611
- function asin$2(x2) {
15612
- return x2 >= 1 ? halfPi$2 : x2 <= -1 ? -halfPi$2 : Math.asin(x2);
15634
+ path$3.prototype = Path$1.prototype;
15635
+ function withPath(shape2) {
15636
+ let digits = 3;
15637
+ shape2.digits = function(_) {
15638
+ if (!arguments.length)
15639
+ return digits;
15640
+ if (_ == null) {
15641
+ digits = null;
15642
+ } else {
15643
+ const d = Math.floor(_);
15644
+ if (!(d >= 0))
15645
+ throw new RangeError(`invalid digits: ${_}`);
15646
+ digits = d;
15647
+ }
15648
+ return shape2;
15649
+ };
15650
+ return () => new Path$1(digits);
15613
15651
  }
15614
15652
  function arcInnerRadius(d) {
15615
15653
  return d.innerRadius;
@@ -15628,7 +15666,7 @@ function arcPadAngle(d) {
15628
15666
  }
15629
15667
  function intersect$3(x02, y02, x12, y12, x2, y2, x3, y3) {
15630
15668
  var x10 = x12 - x02, y10 = y12 - y02, x32 = x3 - x2, y32 = y3 - y2, t4 = y32 * x10 - x32 * y10;
15631
- if (t4 * t4 < epsilon$4)
15669
+ if (t4 * t4 < epsilon$5)
15632
15670
  return;
15633
15671
  t4 = (x32 * (y02 - y2) - y32 * (x02 - x2)) / t4;
15634
15672
  return [x02 + t4 * x10, y02 + t4 * y10];
@@ -15647,47 +15685,51 @@ function cornerTangents(x02, y02, x12, y12, r1, rc, cw2) {
15647
15685
  };
15648
15686
  }
15649
15687
  function arc$2$1() {
15650
- var innerRadius = arcInnerRadius, outerRadius = arcOuterRadius, cornerRadius = constant$3(0), padRadius = null, startAngle = arcStartAngle, endAngle = arcEndAngle, padAngle = arcPadAngle, context2 = null;
15688
+ var innerRadius = arcInnerRadius, outerRadius = arcOuterRadius, cornerRadius = constant$4(0), padRadius = null, startAngle = arcStartAngle, endAngle = arcEndAngle, padAngle = arcPadAngle, context2 = null, path2 = withPath(arc2);
15651
15689
  function arc2() {
15652
15690
  var buffer, r3, r0 = +innerRadius.apply(this, arguments), r1 = +outerRadius.apply(this, arguments), a0 = startAngle.apply(this, arguments) - halfPi$2, a1 = endAngle.apply(this, arguments) - halfPi$2, da = abs$2(a1 - a0), cw2 = a1 > a0;
15653
15691
  if (!context2)
15654
- context2 = buffer = path$3();
15692
+ context2 = buffer = path2();
15655
15693
  if (r1 < r0)
15656
15694
  r3 = r1, r1 = r0, r0 = r3;
15657
- if (!(r1 > epsilon$4))
15695
+ if (!(r1 > epsilon$5))
15658
15696
  context2.moveTo(0, 0);
15659
- else if (da > tau$2 - epsilon$4) {
15697
+ else if (da > tau$3 - epsilon$5) {
15660
15698
  context2.moveTo(r1 * cos$2(a0), r1 * sin$2(a0));
15661
15699
  context2.arc(0, 0, r1, a0, a1, !cw2);
15662
- if (r0 > epsilon$4) {
15700
+ if (r0 > epsilon$5) {
15663
15701
  context2.moveTo(r0 * cos$2(a1), r0 * sin$2(a1));
15664
15702
  context2.arc(0, 0, r0, a1, a0, cw2);
15665
15703
  }
15666
15704
  } else {
15667
- var a01 = a0, a11 = a1, a00 = a0, a10 = a1, da0 = da, da1 = da, ap = padAngle.apply(this, arguments) / 2, rp = ap > epsilon$4 && (padRadius ? +padRadius.apply(this, arguments) : sqrt$3(r0 * r0 + r1 * r1)), rc = min$1(abs$2(r1 - r0) / 2, +cornerRadius.apply(this, arguments)), rc0 = rc, rc1 = rc, t02, t12;
15668
- if (rp > epsilon$4) {
15705
+ var a01 = a0, a11 = a1, a00 = a0, a10 = a1, da0 = da, da1 = da, ap = padAngle.apply(this, arguments) / 2, rp = ap > epsilon$5 && (padRadius ? +padRadius.apply(this, arguments) : sqrt$3(r0 * r0 + r1 * r1)), rc = min$1(abs$2(r1 - r0) / 2, +cornerRadius.apply(this, arguments)), rc0 = rc, rc1 = rc, t02, t12;
15706
+ if (rp > epsilon$5) {
15669
15707
  var p02 = asin$2(rp / r0 * sin$2(ap)), p1 = asin$2(rp / r1 * sin$2(ap));
15670
- if ((da0 -= p02 * 2) > epsilon$4)
15708
+ if ((da0 -= p02 * 2) > epsilon$5)
15671
15709
  p02 *= cw2 ? 1 : -1, a00 += p02, a10 -= p02;
15672
15710
  else
15673
15711
  da0 = 0, a00 = a10 = (a0 + a1) / 2;
15674
- if ((da1 -= p1 * 2) > epsilon$4)
15712
+ if ((da1 -= p1 * 2) > epsilon$5)
15675
15713
  p1 *= cw2 ? 1 : -1, a01 += p1, a11 -= p1;
15676
15714
  else
15677
15715
  da1 = 0, a01 = a11 = (a0 + a1) / 2;
15678
15716
  }
15679
15717
  var x01 = r1 * cos$2(a01), y01 = r1 * sin$2(a01), x10 = r0 * cos$2(a10), y10 = r0 * sin$2(a10);
15680
- if (rc > epsilon$4) {
15718
+ if (rc > epsilon$5) {
15681
15719
  var x11 = r1 * cos$2(a11), y11 = r1 * sin$2(a11), x002 = r0 * cos$2(a00), y002 = r0 * sin$2(a00), oc;
15682
- if (da < pi$2 && (oc = intersect$3(x01, y01, x002, y002, x11, y11, x10, y10))) {
15683
- var ax = x01 - oc[0], ay = y01 - oc[1], bx = x11 - oc[0], by = y11 - oc[1], kc = 1 / sin$2(acos$1((ax * bx + ay * by) / (sqrt$3(ax * ax + ay * ay) * sqrt$3(bx * bx + by * by))) / 2), lc = sqrt$3(oc[0] * oc[0] + oc[1] * oc[1]);
15684
- rc0 = min$1(rc, (r0 - lc) / (kc - 1));
15685
- rc1 = min$1(rc, (r1 - lc) / (kc + 1));
15720
+ if (da < pi$3) {
15721
+ if (oc = intersect$3(x01, y01, x002, y002, x11, y11, x10, y10)) {
15722
+ var ax = x01 - oc[0], ay = y01 - oc[1], bx = x11 - oc[0], by = y11 - oc[1], kc = 1 / sin$2(acos$1((ax * bx + ay * by) / (sqrt$3(ax * ax + ay * ay) * sqrt$3(bx * bx + by * by))) / 2), lc = sqrt$3(oc[0] * oc[0] + oc[1] * oc[1]);
15723
+ rc0 = min$1(rc, (r0 - lc) / (kc - 1));
15724
+ rc1 = min$1(rc, (r1 - lc) / (kc + 1));
15725
+ } else {
15726
+ rc0 = rc1 = 0;
15727
+ }
15686
15728
  }
15687
15729
  }
15688
- if (!(da1 > epsilon$4))
15730
+ if (!(da1 > epsilon$5))
15689
15731
  context2.moveTo(x01, y01);
15690
- else if (rc1 > epsilon$4) {
15732
+ else if (rc1 > epsilon$5) {
15691
15733
  t02 = cornerTangents(x002, y002, x01, y01, r1, rc1, cw2);
15692
15734
  t12 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw2);
15693
15735
  context2.moveTo(t02.cx + t02.x01, t02.cy + t02.y01);
@@ -15700,9 +15742,9 @@ function arc$2$1() {
15700
15742
  }
15701
15743
  } else
15702
15744
  context2.moveTo(x01, y01), context2.arc(0, 0, r1, a01, a11, !cw2);
15703
- if (!(r0 > epsilon$4) || !(da0 > epsilon$4))
15745
+ if (!(r0 > epsilon$5) || !(da0 > epsilon$5))
15704
15746
  context2.lineTo(x10, y10);
15705
- else if (rc0 > epsilon$4) {
15747
+ else if (rc0 > epsilon$5) {
15706
15748
  t02 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw2);
15707
15749
  t12 = cornerTangents(x01, y01, x002, y002, r0, -rc0, cw2);
15708
15750
  context2.lineTo(t02.cx + t02.x01, t02.cy + t02.y01);
@@ -15721,29 +15763,29 @@ function arc$2$1() {
15721
15763
  return context2 = null, buffer + "" || null;
15722
15764
  }
15723
15765
  arc2.centroid = function() {
15724
- var r3 = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a2 = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi$2 / 2;
15766
+ var r3 = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a2 = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi$3 / 2;
15725
15767
  return [cos$2(a2) * r3, sin$2(a2) * r3];
15726
15768
  };
15727
15769
  arc2.innerRadius = function(_) {
15728
- return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant$3(+_), arc2) : innerRadius;
15770
+ return arguments.length ? (innerRadius = typeof _ === "function" ? _ : constant$4(+_), arc2) : innerRadius;
15729
15771
  };
15730
15772
  arc2.outerRadius = function(_) {
15731
- return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant$3(+_), arc2) : outerRadius;
15773
+ return arguments.length ? (outerRadius = typeof _ === "function" ? _ : constant$4(+_), arc2) : outerRadius;
15732
15774
  };
15733
15775
  arc2.cornerRadius = function(_) {
15734
- return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant$3(+_), arc2) : cornerRadius;
15776
+ return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : constant$4(+_), arc2) : cornerRadius;
15735
15777
  };
15736
15778
  arc2.padRadius = function(_) {
15737
- return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant$3(+_), arc2) : padRadius;
15779
+ return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : constant$4(+_), arc2) : padRadius;
15738
15780
  };
15739
15781
  arc2.startAngle = function(_) {
15740
- return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$3(+_), arc2) : startAngle;
15782
+ return arguments.length ? (startAngle = typeof _ === "function" ? _ : constant$4(+_), arc2) : startAngle;
15741
15783
  };
15742
15784
  arc2.endAngle = function(_) {
15743
- return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$3(+_), arc2) : endAngle;
15785
+ return arguments.length ? (endAngle = typeof _ === "function" ? _ : constant$4(+_), arc2) : endAngle;
15744
15786
  };
15745
15787
  arc2.padAngle = function(_) {
15746
- return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$3(+_), arc2) : padAngle;
15788
+ return arguments.length ? (padAngle = typeof _ === "function" ? _ : constant$4(+_), arc2) : padAngle;
15747
15789
  };
15748
15790
  arc2.context = function(_) {
15749
15791
  return arguments.length ? (context2 = _ == null ? null : _, arc2) : context2;
@@ -15796,13 +15838,13 @@ function y$3(p) {
15796
15838
  return p[1];
15797
15839
  }
15798
15840
  function line$2$1(x2, y2) {
15799
- var defined2 = constant$3(true), context2 = null, curve2 = curveLinear, output2 = null;
15800
- x2 = typeof x2 === "function" ? x2 : x2 === void 0 ? x$3 : constant$3(x2);
15801
- y2 = typeof y2 === "function" ? y2 : y2 === void 0 ? y$3 : constant$3(y2);
15841
+ var defined2 = constant$4(true), context2 = null, curve2 = curveLinear, output2 = null, path2 = withPath(line2);
15842
+ x2 = typeof x2 === "function" ? x2 : x2 === void 0 ? x$3 : constant$4(x2);
15843
+ y2 = typeof y2 === "function" ? y2 : y2 === void 0 ? y$3 : constant$4(y2);
15802
15844
  function line2(data2) {
15803
15845
  var i, n = (data2 = array$4(data2)).length, d, defined0 = false, buffer;
15804
15846
  if (context2 == null)
15805
- output2 = curve2(buffer = path$3());
15847
+ output2 = curve2(buffer = path2());
15806
15848
  for (i = 0; i <= n; ++i) {
15807
15849
  if (!(i < n && defined2(d = data2[i], i, data2)) === defined0) {
15808
15850
  if (defined0 = !defined0)
@@ -15817,13 +15859,13 @@ function line$2$1(x2, y2) {
15817
15859
  return output2 = null, buffer + "" || null;
15818
15860
  }
15819
15861
  line2.x = function(_) {
15820
- return arguments.length ? (x2 = typeof _ === "function" ? _ : constant$3(+_), line2) : x2;
15862
+ return arguments.length ? (x2 = typeof _ === "function" ? _ : constant$4(+_), line2) : x2;
15821
15863
  };
15822
15864
  line2.y = function(_) {
15823
- return arguments.length ? (y2 = typeof _ === "function" ? _ : constant$3(+_), line2) : y2;
15865
+ return arguments.length ? (y2 = typeof _ === "function" ? _ : constant$4(+_), line2) : y2;
15824
15866
  };
15825
15867
  line2.defined = function(_) {
15826
- return arguments.length ? (defined2 = typeof _ === "function" ? _ : constant$3(!!_), line2) : defined2;
15868
+ return arguments.length ? (defined2 = typeof _ === "function" ? _ : constant$4(!!_), line2) : defined2;
15827
15869
  };
15828
15870
  line2.curve = function(_) {
15829
15871
  return arguments.length ? (curve2 = _, context2 != null && (output2 = curve2(context2)), line2) : curve2;
@@ -15834,14 +15876,14 @@ function line$2$1(x2, y2) {
15834
15876
  return line2;
15835
15877
  }
15836
15878
  function area$2$1(x02, y02, y12) {
15837
- var x12 = null, defined2 = constant$3(true), context2 = null, curve2 = curveLinear, output2 = null;
15838
- x02 = typeof x02 === "function" ? x02 : x02 === void 0 ? x$3 : constant$3(+x02);
15839
- y02 = typeof y02 === "function" ? y02 : y02 === void 0 ? constant$3(0) : constant$3(+y02);
15840
- y12 = typeof y12 === "function" ? y12 : y12 === void 0 ? y$3 : constant$3(+y12);
15879
+ var x12 = null, defined2 = constant$4(true), context2 = null, curve2 = curveLinear, output2 = null, path2 = withPath(area2);
15880
+ x02 = typeof x02 === "function" ? x02 : x02 === void 0 ? x$3 : constant$4(+x02);
15881
+ y02 = typeof y02 === "function" ? y02 : y02 === void 0 ? constant$4(0) : constant$4(+y02);
15882
+ y12 = typeof y12 === "function" ? y12 : y12 === void 0 ? y$3 : constant$4(+y12);
15841
15883
  function area2(data2) {
15842
15884
  var i, j, k, n = (data2 = array$4(data2)).length, d, defined0 = false, buffer, x0z = new Array(n), y0z = new Array(n);
15843
15885
  if (context2 == null)
15844
- output2 = curve2(buffer = path$3());
15886
+ output2 = curve2(buffer = path2());
15845
15887
  for (i = 0; i <= n; ++i) {
15846
15888
  if (!(i < n && defined2(d = data2[i], i, data2)) === defined0) {
15847
15889
  if (defined0 = !defined0) {
@@ -15870,22 +15912,22 @@ function area$2$1(x02, y02, y12) {
15870
15912
  return line$2$1().defined(defined2).curve(curve2).context(context2);
15871
15913
  }
15872
15914
  area2.x = function(_) {
15873
- return arguments.length ? (x02 = typeof _ === "function" ? _ : constant$3(+_), x12 = null, area2) : x02;
15915
+ return arguments.length ? (x02 = typeof _ === "function" ? _ : constant$4(+_), x12 = null, area2) : x02;
15874
15916
  };
15875
15917
  area2.x0 = function(_) {
15876
- return arguments.length ? (x02 = typeof _ === "function" ? _ : constant$3(+_), area2) : x02;
15918
+ return arguments.length ? (x02 = typeof _ === "function" ? _ : constant$4(+_), area2) : x02;
15877
15919
  };
15878
15920
  area2.x1 = function(_) {
15879
- return arguments.length ? (x12 = _ == null ? null : typeof _ === "function" ? _ : constant$3(+_), area2) : x12;
15921
+ return arguments.length ? (x12 = _ == null ? null : typeof _ === "function" ? _ : constant$4(+_), area2) : x12;
15880
15922
  };
15881
15923
  area2.y = function(_) {
15882
- return arguments.length ? (y02 = typeof _ === "function" ? _ : constant$3(+_), y12 = null, area2) : y02;
15924
+ return arguments.length ? (y02 = typeof _ === "function" ? _ : constant$4(+_), y12 = null, area2) : y02;
15883
15925
  };
15884
15926
  area2.y0 = function(_) {
15885
- return arguments.length ? (y02 = typeof _ === "function" ? _ : constant$3(+_), area2) : y02;
15927
+ return arguments.length ? (y02 = typeof _ === "function" ? _ : constant$4(+_), area2) : y02;
15886
15928
  };
15887
15929
  area2.y1 = function(_) {
15888
- return arguments.length ? (y12 = _ == null ? null : typeof _ === "function" ? _ : constant$3(+_), area2) : y12;
15930
+ return arguments.length ? (y12 = _ == null ? null : typeof _ === "function" ? _ : constant$4(+_), area2) : y12;
15889
15931
  };
15890
15932
  area2.lineX0 = area2.lineY0 = function() {
15891
15933
  return arealine().x(x02).y(y02);
@@ -15897,7 +15939,7 @@ function area$2$1(x02, y02, y12) {
15897
15939
  return arealine().x(x12).y(y02);
15898
15940
  };
15899
15941
  area2.defined = function(_) {
15900
- return arguments.length ? (defined2 = typeof _ === "function" ? _ : constant$3(!!_), area2) : defined2;
15942
+ return arguments.length ? (defined2 = typeof _ === "function" ? _ : constant$4(!!_), area2) : defined2;
15901
15943
  };
15902
15944
  area2.curve = function(_) {
15903
15945
  return arguments.length ? (curve2 = _, context2 != null && (output2 = curve2(context2)), area2) : curve2;
@@ -15909,28 +15951,28 @@ function area$2$1(x02, y02, y12) {
15909
15951
  }
15910
15952
  const circle$2 = {
15911
15953
  draw(context2, size) {
15912
- const r3 = sqrt$3(size / pi$2);
15954
+ const r3 = sqrt$3(size / pi$3);
15913
15955
  context2.moveTo(r3, 0);
15914
- context2.arc(0, 0, r3, 0, tau$2);
15956
+ context2.arc(0, 0, r3, 0, tau$3);
15915
15957
  }
15916
15958
  };
15917
15959
  function Symbol$1(type2, size) {
15918
- let context2 = null;
15919
- type2 = typeof type2 === "function" ? type2 : constant$3(type2 || circle$2);
15920
- size = typeof size === "function" ? size : constant$3(size === void 0 ? 64 : +size);
15960
+ let context2 = null, path2 = withPath(symbol2);
15961
+ type2 = typeof type2 === "function" ? type2 : constant$4(type2 || circle$2);
15962
+ size = typeof size === "function" ? size : constant$4(size === void 0 ? 64 : +size);
15921
15963
  function symbol2() {
15922
15964
  let buffer;
15923
15965
  if (!context2)
15924
- context2 = buffer = path$3();
15966
+ context2 = buffer = path2();
15925
15967
  type2.apply(this, arguments).draw(context2, +size.apply(this, arguments));
15926
15968
  if (buffer)
15927
15969
  return context2 = null, buffer + "" || null;
15928
15970
  }
15929
15971
  symbol2.type = function(_) {
15930
- return arguments.length ? (type2 = typeof _ === "function" ? _ : constant$3(_), symbol2) : type2;
15972
+ return arguments.length ? (type2 = typeof _ === "function" ? _ : constant$4(_), symbol2) : type2;
15931
15973
  };
15932
15974
  symbol2.size = function(_) {
15933
- return arguments.length ? (size = typeof _ === "function" ? _ : constant$3(+_), symbol2) : size;
15975
+ return arguments.length ? (size = typeof _ === "function" ? _ : constant$4(+_), symbol2) : size;
15934
15976
  };
15935
15977
  symbol2.context = function(_) {
15936
15978
  return arguments.length ? (context2 = _ == null ? null : _, symbol2) : context2;
@@ -16327,12 +16369,12 @@ const curveCardinalOpen = function custom4(tension) {
16327
16369
  }(0);
16328
16370
  function point$5(that, x2, y2) {
16329
16371
  var x12 = that._x1, y12 = that._y1, x22 = that._x2, y22 = that._y2;
16330
- if (that._l01_a > epsilon$4) {
16372
+ if (that._l01_a > epsilon$5) {
16331
16373
  var a2 = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a, n = 3 * that._l01_a * (that._l01_a + that._l12_a);
16332
16374
  x12 = (x12 * a2 - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;
16333
16375
  y12 = (y12 * a2 - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;
16334
16376
  }
16335
- if (that._l23_a > epsilon$4) {
16377
+ if (that._l23_a > epsilon$5) {
16336
16378
  var b2 = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a, m2 = 3 * that._l23_a * (that._l23_a + that._l12_a);
16337
16379
  x22 = (x22 * b2 + that._x1 * that._l23_2a - x2 * that._l12_2a) / m2;
16338
16380
  y22 = (y22 * b2 + that._y1 * that._l23_2a - y2 * that._l12_2a) / m2;
@@ -16844,22 +16886,22 @@ function ordinal() {
16844
16886
  initRange.apply(scale2, arguments);
16845
16887
  return scale2;
16846
16888
  }
16847
- function define(constructor, factory, prototype2) {
16889
+ function define$1(constructor, factory, prototype2) {
16848
16890
  constructor.prototype = factory.prototype = prototype2;
16849
16891
  prototype2.constructor = constructor;
16850
16892
  }
16851
- function extend(parent, definition2) {
16893
+ function extend$1(parent, definition2) {
16852
16894
  var prototype2 = Object.create(parent.prototype);
16853
16895
  for (var key in definition2)
16854
16896
  prototype2[key] = definition2[key];
16855
16897
  return prototype2;
16856
16898
  }
16857
- function Color() {
16899
+ function Color$1() {
16858
16900
  }
16859
- var darker = 0.7;
16860
- var brighter = 1 / darker;
16861
- var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`), reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`), reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`), reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`), reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`), reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`);
16862
- var named = {
16901
+ var darker$1 = 0.7;
16902
+ var brighter$1 = 1 / darker$1;
16903
+ var reI$1 = "\\s*([+-]?\\d+)\\s*", reN$1 = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP$1 = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex$1 = /^#([0-9a-f]{3,8})$/, reRgbInteger$1 = new RegExp("^rgb\\(" + [reI$1, reI$1, reI$1] + "\\)$"), reRgbPercent$1 = new RegExp("^rgb\\(" + [reP$1, reP$1, reP$1] + "\\)$"), reRgbaInteger$1 = new RegExp("^rgba\\(" + [reI$1, reI$1, reI$1, reN$1] + "\\)$"), reRgbaPercent$1 = new RegExp("^rgba\\(" + [reP$1, reP$1, reP$1, reN$1] + "\\)$"), reHslPercent$1 = new RegExp("^hsl\\(" + [reN$1, reP$1, reP$1] + "\\)$"), reHslaPercent$1 = new RegExp("^hsla\\(" + [reN$1, reP$1, reP$1, reN$1] + "\\)$");
16904
+ var named$1 = {
16863
16905
  aliceblue: 15792383,
16864
16906
  antiquewhite: 16444375,
16865
16907
  aqua: 65535,
@@ -17009,125 +17051,109 @@ var named = {
17009
17051
  yellow: 16776960,
17010
17052
  yellowgreen: 10145074
17011
17053
  };
17012
- define(Color, color$3, {
17013
- copy(channels) {
17054
+ define$1(Color$1, color$4, {
17055
+ copy: function(channels) {
17014
17056
  return Object.assign(new this.constructor(), this, channels);
17015
17057
  },
17016
- displayable() {
17058
+ displayable: function() {
17017
17059
  return this.rgb().displayable();
17018
17060
  },
17019
- hex: color_formatHex,
17061
+ hex: color_formatHex$1,
17020
17062
  // Deprecated! Use color.formatHex.
17021
- formatHex: color_formatHex,
17022
- formatHex8: color_formatHex8,
17023
- formatHsl: color_formatHsl,
17024
- formatRgb: color_formatRgb,
17025
- toString: color_formatRgb
17063
+ formatHex: color_formatHex$1,
17064
+ formatHsl: color_formatHsl$1,
17065
+ formatRgb: color_formatRgb$1,
17066
+ toString: color_formatRgb$1
17026
17067
  });
17027
- function color_formatHex() {
17068
+ function color_formatHex$1() {
17028
17069
  return this.rgb().formatHex();
17029
17070
  }
17030
- function color_formatHex8() {
17031
- return this.rgb().formatHex8();
17071
+ function color_formatHsl$1() {
17072
+ return hslConvert$1(this).formatHsl();
17032
17073
  }
17033
- function color_formatHsl() {
17034
- return hslConvert(this).formatHsl();
17035
- }
17036
- function color_formatRgb() {
17074
+ function color_formatRgb$1() {
17037
17075
  return this.rgb().formatRgb();
17038
17076
  }
17039
- function color$3(format2) {
17077
+ function color$4(format2) {
17040
17078
  var m2, l;
17041
17079
  format2 = (format2 + "").trim().toLowerCase();
17042
- return (m2 = reHex.exec(format2)) ? (l = m2[1].length, m2 = parseInt(m2[1], 16), l === 6 ? rgbn(m2) : l === 3 ? new Rgb(m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, (m2 & 15) << 4 | m2 & 15, 1) : l === 8 ? rgba(m2 >> 24 & 255, m2 >> 16 & 255, m2 >> 8 & 255, (m2 & 255) / 255) : l === 4 ? rgba(m2 >> 12 & 15 | m2 >> 8 & 240, m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, ((m2 & 15) << 4 | m2 & 15) / 255) : null) : (m2 = reRgbInteger.exec(format2)) ? new Rgb(m2[1], m2[2], m2[3], 1) : (m2 = reRgbPercent.exec(format2)) ? new Rgb(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, 1) : (m2 = reRgbaInteger.exec(format2)) ? rgba(m2[1], m2[2], m2[3], m2[4]) : (m2 = reRgbaPercent.exec(format2)) ? rgba(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, m2[4]) : (m2 = reHslPercent.exec(format2)) ? hsla(m2[1], m2[2] / 100, m2[3] / 100, 1) : (m2 = reHslaPercent.exec(format2)) ? hsla(m2[1], m2[2] / 100, m2[3] / 100, m2[4]) : named.hasOwnProperty(format2) ? rgbn(named[format2]) : format2 === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null;
17080
+ return (m2 = reHex$1.exec(format2)) ? (l = m2[1].length, m2 = parseInt(m2[1], 16), l === 6 ? rgbn$1(m2) : l === 3 ? new Rgb$1(m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, (m2 & 15) << 4 | m2 & 15, 1) : l === 8 ? rgba$1(m2 >> 24 & 255, m2 >> 16 & 255, m2 >> 8 & 255, (m2 & 255) / 255) : l === 4 ? rgba$1(m2 >> 12 & 15 | m2 >> 8 & 240, m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, ((m2 & 15) << 4 | m2 & 15) / 255) : null) : (m2 = reRgbInteger$1.exec(format2)) ? new Rgb$1(m2[1], m2[2], m2[3], 1) : (m2 = reRgbPercent$1.exec(format2)) ? new Rgb$1(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, 1) : (m2 = reRgbaInteger$1.exec(format2)) ? rgba$1(m2[1], m2[2], m2[3], m2[4]) : (m2 = reRgbaPercent$1.exec(format2)) ? rgba$1(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, m2[4]) : (m2 = reHslPercent$1.exec(format2)) ? hsla$1(m2[1], m2[2] / 100, m2[3] / 100, 1) : (m2 = reHslaPercent$1.exec(format2)) ? hsla$1(m2[1], m2[2] / 100, m2[3] / 100, m2[4]) : named$1.hasOwnProperty(format2) ? rgbn$1(named$1[format2]) : format2 === "transparent" ? new Rgb$1(NaN, NaN, NaN, 0) : null;
17043
17081
  }
17044
- function rgbn(n) {
17045
- return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1);
17082
+ function rgbn$1(n) {
17083
+ return new Rgb$1(n >> 16 & 255, n >> 8 & 255, n & 255, 1);
17046
17084
  }
17047
- function rgba(r3, g, b2, a2) {
17085
+ function rgba$1(r3, g, b2, a2) {
17048
17086
  if (a2 <= 0)
17049
17087
  r3 = g = b2 = NaN;
17050
- return new Rgb(r3, g, b2, a2);
17088
+ return new Rgb$1(r3, g, b2, a2);
17051
17089
  }
17052
- function rgbConvert(o) {
17053
- if (!(o instanceof Color))
17054
- o = color$3(o);
17090
+ function rgbConvert$1(o) {
17091
+ if (!(o instanceof Color$1))
17092
+ o = color$4(o);
17055
17093
  if (!o)
17056
- return new Rgb();
17094
+ return new Rgb$1();
17057
17095
  o = o.rgb();
17058
- return new Rgb(o.r, o.g, o.b, o.opacity);
17096
+ return new Rgb$1(o.r, o.g, o.b, o.opacity);
17059
17097
  }
17060
- function rgb$1(r3, g, b2, opacity2) {
17061
- return arguments.length === 1 ? rgbConvert(r3) : new Rgb(r3, g, b2, opacity2 == null ? 1 : opacity2);
17098
+ function rgb$3(r3, g, b2, opacity2) {
17099
+ return arguments.length === 1 ? rgbConvert$1(r3) : new Rgb$1(r3, g, b2, opacity2 == null ? 1 : opacity2);
17062
17100
  }
17063
- function Rgb(r3, g, b2, opacity2) {
17101
+ function Rgb$1(r3, g, b2, opacity2) {
17064
17102
  this.r = +r3;
17065
17103
  this.g = +g;
17066
17104
  this.b = +b2;
17067
17105
  this.opacity = +opacity2;
17068
17106
  }
17069
- define(Rgb, rgb$1, extend(Color, {
17070
- brighter(k) {
17071
- k = k == null ? brighter : Math.pow(brighter, k);
17072
- return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
17107
+ define$1(Rgb$1, rgb$3, extend$1(Color$1, {
17108
+ brighter: function(k) {
17109
+ k = k == null ? brighter$1 : Math.pow(brighter$1, k);
17110
+ return new Rgb$1(this.r * k, this.g * k, this.b * k, this.opacity);
17073
17111
  },
17074
- darker(k) {
17075
- k = k == null ? darker : Math.pow(darker, k);
17076
- return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
17112
+ darker: function(k) {
17113
+ k = k == null ? darker$1 : Math.pow(darker$1, k);
17114
+ return new Rgb$1(this.r * k, this.g * k, this.b * k, this.opacity);
17077
17115
  },
17078
- rgb() {
17116
+ rgb: function() {
17079
17117
  return this;
17080
17118
  },
17081
- clamp() {
17082
- return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));
17083
- },
17084
- displayable() {
17119
+ displayable: function() {
17085
17120
  return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1);
17086
17121
  },
17087
- hex: rgb_formatHex,
17122
+ hex: rgb_formatHex$1,
17088
17123
  // Deprecated! Use color.formatHex.
17089
- formatHex: rgb_formatHex,
17090
- formatHex8: rgb_formatHex8,
17091
- formatRgb: rgb_formatRgb,
17092
- toString: rgb_formatRgb
17124
+ formatHex: rgb_formatHex$1,
17125
+ formatRgb: rgb_formatRgb$1,
17126
+ toString: rgb_formatRgb$1
17093
17127
  }));
17094
- function rgb_formatHex() {
17095
- return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;
17096
- }
17097
- function rgb_formatHex8() {
17098
- return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
17099
- }
17100
- function rgb_formatRgb() {
17101
- const a2 = clampa(this.opacity);
17102
- return `${a2 === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a2 === 1 ? ")" : `, ${a2})`}`;
17128
+ function rgb_formatHex$1() {
17129
+ return "#" + hex$1(this.r) + hex$1(this.g) + hex$1(this.b);
17103
17130
  }
17104
- function clampa(opacity2) {
17105
- return isNaN(opacity2) ? 1 : Math.max(0, Math.min(1, opacity2));
17131
+ function rgb_formatRgb$1() {
17132
+ var a2 = this.opacity;
17133
+ a2 = isNaN(a2) ? 1 : Math.max(0, Math.min(1, a2));
17134
+ return (a2 === 1 ? "rgb(" : "rgba(") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (a2 === 1 ? ")" : ", " + a2 + ")");
17106
17135
  }
17107
- function clampi(value2) {
17108
- return Math.max(0, Math.min(255, Math.round(value2) || 0));
17109
- }
17110
- function hex(value2) {
17111
- value2 = clampi(value2);
17136
+ function hex$1(value2) {
17137
+ value2 = Math.max(0, Math.min(255, Math.round(value2) || 0));
17112
17138
  return (value2 < 16 ? "0" : "") + value2.toString(16);
17113
17139
  }
17114
- function hsla(h2, s, l, a2) {
17140
+ function hsla$1(h2, s, l, a2) {
17115
17141
  if (a2 <= 0)
17116
17142
  h2 = s = l = NaN;
17117
17143
  else if (l <= 0 || l >= 1)
17118
17144
  h2 = s = NaN;
17119
17145
  else if (s <= 0)
17120
17146
  h2 = NaN;
17121
- return new Hsl(h2, s, l, a2);
17147
+ return new Hsl$1(h2, s, l, a2);
17122
17148
  }
17123
- function hslConvert(o) {
17124
- if (o instanceof Hsl)
17125
- return new Hsl(o.h, o.s, o.l, o.opacity);
17126
- if (!(o instanceof Color))
17127
- o = color$3(o);
17149
+ function hslConvert$1(o) {
17150
+ if (o instanceof Hsl$1)
17151
+ return new Hsl$1(o.h, o.s, o.l, o.opacity);
17152
+ if (!(o instanceof Color$1))
17153
+ o = color$4(o);
17128
17154
  if (!o)
17129
- return new Hsl();
17130
- if (o instanceof Hsl)
17155
+ return new Hsl$1();
17156
+ if (o instanceof Hsl$1)
17131
17157
  return o;
17132
17158
  o = o.rgb();
17133
17159
  var r3 = o.r / 255, g = o.g / 255, b2 = o.b / 255, min2 = Math.min(r3, g, b2), max2 = Math.max(r3, g, b2), h2 = NaN, s = max2 - min2, l = (max2 + min2) / 2;
@@ -17143,159 +17169,150 @@ function hslConvert(o) {
17143
17169
  } else {
17144
17170
  s = l > 0 && l < 1 ? 0 : h2;
17145
17171
  }
17146
- return new Hsl(h2, s, l, o.opacity);
17172
+ return new Hsl$1(h2, s, l, o.opacity);
17147
17173
  }
17148
- function hsl$2(h2, s, l, opacity2) {
17149
- return arguments.length === 1 ? hslConvert(h2) : new Hsl(h2, s, l, opacity2 == null ? 1 : opacity2);
17174
+ function hsl$3(h2, s, l, opacity2) {
17175
+ return arguments.length === 1 ? hslConvert$1(h2) : new Hsl$1(h2, s, l, opacity2 == null ? 1 : opacity2);
17150
17176
  }
17151
- function Hsl(h2, s, l, opacity2) {
17177
+ function Hsl$1(h2, s, l, opacity2) {
17152
17178
  this.h = +h2;
17153
17179
  this.s = +s;
17154
17180
  this.l = +l;
17155
17181
  this.opacity = +opacity2;
17156
17182
  }
17157
- define(Hsl, hsl$2, extend(Color, {
17158
- brighter(k) {
17159
- k = k == null ? brighter : Math.pow(brighter, k);
17160
- return new Hsl(this.h, this.s, this.l * k, this.opacity);
17183
+ define$1(Hsl$1, hsl$3, extend$1(Color$1, {
17184
+ brighter: function(k) {
17185
+ k = k == null ? brighter$1 : Math.pow(brighter$1, k);
17186
+ return new Hsl$1(this.h, this.s, this.l * k, this.opacity);
17161
17187
  },
17162
- darker(k) {
17163
- k = k == null ? darker : Math.pow(darker, k);
17164
- return new Hsl(this.h, this.s, this.l * k, this.opacity);
17188
+ darker: function(k) {
17189
+ k = k == null ? darker$1 : Math.pow(darker$1, k);
17190
+ return new Hsl$1(this.h, this.s, this.l * k, this.opacity);
17165
17191
  },
17166
- rgb() {
17192
+ rgb: function() {
17167
17193
  var h2 = this.h % 360 + (this.h < 0) * 360, s = isNaN(h2) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s, m1 = 2 * l - m2;
17168
- return new Rgb(
17169
- hsl2rgb(h2 >= 240 ? h2 - 240 : h2 + 120, m1, m2),
17170
- hsl2rgb(h2, m1, m2),
17171
- hsl2rgb(h2 < 120 ? h2 + 240 : h2 - 120, m1, m2),
17194
+ return new Rgb$1(
17195
+ hsl2rgb$1(h2 >= 240 ? h2 - 240 : h2 + 120, m1, m2),
17196
+ hsl2rgb$1(h2, m1, m2),
17197
+ hsl2rgb$1(h2 < 120 ? h2 + 240 : h2 - 120, m1, m2),
17172
17198
  this.opacity
17173
17199
  );
17174
17200
  },
17175
- clamp() {
17176
- return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));
17177
- },
17178
- displayable() {
17201
+ displayable: function() {
17179
17202
  return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1);
17180
17203
  },
17181
- formatHsl() {
17182
- const a2 = clampa(this.opacity);
17183
- return `${a2 === 1 ? "hsl(" : "hsla("}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a2 === 1 ? ")" : `, ${a2})`}`;
17204
+ formatHsl: function() {
17205
+ var a2 = this.opacity;
17206
+ a2 = isNaN(a2) ? 1 : Math.max(0, Math.min(1, a2));
17207
+ return (a2 === 1 ? "hsl(" : "hsla(") + (this.h || 0) + ", " + (this.s || 0) * 100 + "%, " + (this.l || 0) * 100 + "%" + (a2 === 1 ? ")" : ", " + a2 + ")");
17184
17208
  }
17185
17209
  }));
17186
- function clamph(value2) {
17187
- value2 = (value2 || 0) % 360;
17188
- return value2 < 0 ? value2 + 360 : value2;
17189
- }
17190
- function clampt(value2) {
17191
- return Math.max(0, Math.min(1, value2 || 0));
17192
- }
17193
- function hsl2rgb(h2, m1, m2) {
17210
+ function hsl2rgb$1(h2, m1, m2) {
17194
17211
  return (h2 < 60 ? m1 + (m2 - m1) * h2 / 60 : h2 < 180 ? m2 : h2 < 240 ? m1 + (m2 - m1) * (240 - h2) / 60 : m1) * 255;
17195
17212
  }
17196
- const radians$1 = Math.PI / 180;
17197
- const degrees$2 = 180 / Math.PI;
17198
- const K = 18, Xn = 0.96422, Yn = 1, Zn = 0.82521, t0 = 4 / 29, t1 = 6 / 29, t2 = 3 * t1 * t1, t3 = t1 * t1 * t1;
17199
- function labConvert(o) {
17200
- if (o instanceof Lab)
17201
- return new Lab(o.l, o.a, o.b, o.opacity);
17202
- if (o instanceof Hcl)
17203
- return hcl2lab(o);
17204
- if (!(o instanceof Rgb))
17205
- o = rgbConvert(o);
17206
- var r3 = rgb2lrgb(o.r), g = rgb2lrgb(o.g), b2 = rgb2lrgb(o.b), y2 = xyz2lab((0.2225045 * r3 + 0.7168786 * g + 0.0606169 * b2) / Yn), x2, z;
17213
+ var deg2rad = Math.PI / 180;
17214
+ var rad2deg = 180 / Math.PI;
17215
+ var K$1 = 18, Xn$1 = 0.96422, Yn$1 = 1, Zn$1 = 0.82521, t0$1 = 4 / 29, t1$1 = 6 / 29, t2$1 = 3 * t1$1 * t1$1, t3$1 = t1$1 * t1$1 * t1$1;
17216
+ function labConvert$1(o) {
17217
+ if (o instanceof Lab$1)
17218
+ return new Lab$1(o.l, o.a, o.b, o.opacity);
17219
+ if (o instanceof Hcl$1)
17220
+ return hcl2lab$1(o);
17221
+ if (!(o instanceof Rgb$1))
17222
+ o = rgbConvert$1(o);
17223
+ var r3 = rgb2lrgb$1(o.r), g = rgb2lrgb$1(o.g), b2 = rgb2lrgb$1(o.b), y2 = xyz2lab$1((0.2225045 * r3 + 0.7168786 * g + 0.0606169 * b2) / Yn$1), x2, z;
17207
17224
  if (r3 === g && g === b2)
17208
17225
  x2 = z = y2;
17209
17226
  else {
17210
- x2 = xyz2lab((0.4360747 * r3 + 0.3850649 * g + 0.1430804 * b2) / Xn);
17211
- z = xyz2lab((0.0139322 * r3 + 0.0971045 * g + 0.7141733 * b2) / Zn);
17227
+ x2 = xyz2lab$1((0.4360747 * r3 + 0.3850649 * g + 0.1430804 * b2) / Xn$1);
17228
+ z = xyz2lab$1((0.0139322 * r3 + 0.0971045 * g + 0.7141733 * b2) / Zn$1);
17212
17229
  }
17213
- return new Lab(116 * y2 - 16, 500 * (x2 - y2), 200 * (y2 - z), o.opacity);
17230
+ return new Lab$1(116 * y2 - 16, 500 * (x2 - y2), 200 * (y2 - z), o.opacity);
17214
17231
  }
17215
- function lab$1(l, a2, b2, opacity2) {
17216
- return arguments.length === 1 ? labConvert(l) : new Lab(l, a2, b2, opacity2 == null ? 1 : opacity2);
17232
+ function lab$2(l, a2, b2, opacity2) {
17233
+ return arguments.length === 1 ? labConvert$1(l) : new Lab$1(l, a2, b2, opacity2 == null ? 1 : opacity2);
17217
17234
  }
17218
- function Lab(l, a2, b2, opacity2) {
17235
+ function Lab$1(l, a2, b2, opacity2) {
17219
17236
  this.l = +l;
17220
17237
  this.a = +a2;
17221
17238
  this.b = +b2;
17222
17239
  this.opacity = +opacity2;
17223
17240
  }
17224
- define(Lab, lab$1, extend(Color, {
17225
- brighter(k) {
17226
- return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);
17241
+ define$1(Lab$1, lab$2, extend$1(Color$1, {
17242
+ brighter: function(k) {
17243
+ return new Lab$1(this.l + K$1 * (k == null ? 1 : k), this.a, this.b, this.opacity);
17227
17244
  },
17228
- darker(k) {
17229
- return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);
17245
+ darker: function(k) {
17246
+ return new Lab$1(this.l - K$1 * (k == null ? 1 : k), this.a, this.b, this.opacity);
17230
17247
  },
17231
- rgb() {
17248
+ rgb: function() {
17232
17249
  var y2 = (this.l + 16) / 116, x2 = isNaN(this.a) ? y2 : y2 + this.a / 500, z = isNaN(this.b) ? y2 : y2 - this.b / 200;
17233
- x2 = Xn * lab2xyz(x2);
17234
- y2 = Yn * lab2xyz(y2);
17235
- z = Zn * lab2xyz(z);
17236
- return new Rgb(
17237
- lrgb2rgb(3.1338561 * x2 - 1.6168667 * y2 - 0.4906146 * z),
17238
- lrgb2rgb(-0.9787684 * x2 + 1.9161415 * y2 + 0.033454 * z),
17239
- lrgb2rgb(0.0719453 * x2 - 0.2289914 * y2 + 1.4052427 * z),
17250
+ x2 = Xn$1 * lab2xyz$1(x2);
17251
+ y2 = Yn$1 * lab2xyz$1(y2);
17252
+ z = Zn$1 * lab2xyz$1(z);
17253
+ return new Rgb$1(
17254
+ lrgb2rgb$1(3.1338561 * x2 - 1.6168667 * y2 - 0.4906146 * z),
17255
+ lrgb2rgb$1(-0.9787684 * x2 + 1.9161415 * y2 + 0.033454 * z),
17256
+ lrgb2rgb$1(0.0719453 * x2 - 0.2289914 * y2 + 1.4052427 * z),
17240
17257
  this.opacity
17241
17258
  );
17242
17259
  }
17243
17260
  }));
17244
- function xyz2lab(t4) {
17245
- return t4 > t3 ? Math.pow(t4, 1 / 3) : t4 / t2 + t0;
17261
+ function xyz2lab$1(t4) {
17262
+ return t4 > t3$1 ? Math.pow(t4, 1 / 3) : t4 / t2$1 + t0$1;
17246
17263
  }
17247
- function lab2xyz(t4) {
17248
- return t4 > t1 ? t4 * t4 * t4 : t2 * (t4 - t0);
17264
+ function lab2xyz$1(t4) {
17265
+ return t4 > t1$1 ? t4 * t4 * t4 : t2$1 * (t4 - t0$1);
17249
17266
  }
17250
- function lrgb2rgb(x2) {
17267
+ function lrgb2rgb$1(x2) {
17251
17268
  return 255 * (x2 <= 31308e-7 ? 12.92 * x2 : 1.055 * Math.pow(x2, 1 / 2.4) - 0.055);
17252
17269
  }
17253
- function rgb2lrgb(x2) {
17270
+ function rgb2lrgb$1(x2) {
17254
17271
  return (x2 /= 255) <= 0.04045 ? x2 / 12.92 : Math.pow((x2 + 0.055) / 1.055, 2.4);
17255
17272
  }
17256
- function hclConvert(o) {
17257
- if (o instanceof Hcl)
17258
- return new Hcl(o.h, o.c, o.l, o.opacity);
17259
- if (!(o instanceof Lab))
17260
- o = labConvert(o);
17273
+ function hclConvert$1(o) {
17274
+ if (o instanceof Hcl$1)
17275
+ return new Hcl$1(o.h, o.c, o.l, o.opacity);
17276
+ if (!(o instanceof Lab$1))
17277
+ o = labConvert$1(o);
17261
17278
  if (o.a === 0 && o.b === 0)
17262
- return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);
17263
- var h2 = Math.atan2(o.b, o.a) * degrees$2;
17264
- return new Hcl(h2 < 0 ? h2 + 360 : h2, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);
17279
+ return new Hcl$1(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);
17280
+ var h2 = Math.atan2(o.b, o.a) * rad2deg;
17281
+ return new Hcl$1(h2 < 0 ? h2 + 360 : h2, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);
17265
17282
  }
17266
- function hcl$2(h2, c2, l, opacity2) {
17267
- return arguments.length === 1 ? hclConvert(h2) : new Hcl(h2, c2, l, opacity2 == null ? 1 : opacity2);
17283
+ function hcl$3(h2, c2, l, opacity2) {
17284
+ return arguments.length === 1 ? hclConvert$1(h2) : new Hcl$1(h2, c2, l, opacity2 == null ? 1 : opacity2);
17268
17285
  }
17269
- function Hcl(h2, c2, l, opacity2) {
17286
+ function Hcl$1(h2, c2, l, opacity2) {
17270
17287
  this.h = +h2;
17271
17288
  this.c = +c2;
17272
17289
  this.l = +l;
17273
17290
  this.opacity = +opacity2;
17274
17291
  }
17275
- function hcl2lab(o) {
17292
+ function hcl2lab$1(o) {
17276
17293
  if (isNaN(o.h))
17277
- return new Lab(o.l, 0, 0, o.opacity);
17278
- var h2 = o.h * radians$1;
17279
- return new Lab(o.l, Math.cos(h2) * o.c, Math.sin(h2) * o.c, o.opacity);
17294
+ return new Lab$1(o.l, 0, 0, o.opacity);
17295
+ var h2 = o.h * deg2rad;
17296
+ return new Lab$1(o.l, Math.cos(h2) * o.c, Math.sin(h2) * o.c, o.opacity);
17280
17297
  }
17281
- define(Hcl, hcl$2, extend(Color, {
17282
- brighter(k) {
17283
- return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);
17298
+ define$1(Hcl$1, hcl$3, extend$1(Color$1, {
17299
+ brighter: function(k) {
17300
+ return new Hcl$1(this.h, this.c, this.l + K$1 * (k == null ? 1 : k), this.opacity);
17284
17301
  },
17285
- darker(k) {
17286
- return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);
17302
+ darker: function(k) {
17303
+ return new Hcl$1(this.h, this.c, this.l - K$1 * (k == null ? 1 : k), this.opacity);
17287
17304
  },
17288
- rgb() {
17289
- return hcl2lab(this).rgb();
17305
+ rgb: function() {
17306
+ return hcl2lab$1(this).rgb();
17290
17307
  }
17291
17308
  }));
17292
17309
  var A = -0.14861, B$1 = 1.78277, C$1 = -0.29227, D$1 = -0.90649, E = 1.97294, ED = E * D$1, EB = E * B$1, BC_DA = B$1 * C$1 - D$1 * A;
17293
17310
  function cubehelixConvert(o) {
17294
17311
  if (o instanceof Cubehelix)
17295
17312
  return new Cubehelix(o.h, o.s, o.l, o.opacity);
17296
- if (!(o instanceof Rgb))
17297
- o = rgbConvert(o);
17298
- var r3 = o.r / 255, g = o.g / 255, b2 = o.b / 255, l = (BC_DA * b2 + ED * r3 - EB * g) / (BC_DA + ED - EB), bl2 = b2 - l, k = (E * (g - l) - C$1 * bl2) / D$1, s = Math.sqrt(k * k + bl2 * bl2) / (E * l * (1 - l)), h2 = s ? Math.atan2(k, bl2) * degrees$2 - 120 : NaN;
17313
+ if (!(o instanceof Rgb$1))
17314
+ o = rgbConvert$1(o);
17315
+ var r3 = o.r / 255, g = o.g / 255, b2 = o.b / 255, l = (BC_DA * b2 + ED * r3 - EB * g) / (BC_DA + ED - EB), bl2 = b2 - l, k = (E * (g - l) - C$1 * bl2) / D$1, s = Math.sqrt(k * k + bl2 * bl2) / (E * l * (1 - l)), h2 = s ? Math.atan2(k, bl2) * rad2deg - 120 : NaN;
17299
17316
  return new Cubehelix(h2 < 0 ? h2 + 360 : h2, s, l, o.opacity);
17300
17317
  }
17301
17318
  function cubehelix$2(h2, s, l, opacity2) {
@@ -17307,18 +17324,18 @@ function Cubehelix(h2, s, l, opacity2) {
17307
17324
  this.l = +l;
17308
17325
  this.opacity = +opacity2;
17309
17326
  }
17310
- define(Cubehelix, cubehelix$2, extend(Color, {
17311
- brighter(k) {
17312
- k = k == null ? brighter : Math.pow(brighter, k);
17327
+ define$1(Cubehelix, cubehelix$2, extend$1(Color$1, {
17328
+ brighter: function(k) {
17329
+ k = k == null ? brighter$1 : Math.pow(brighter$1, k);
17313
17330
  return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
17314
17331
  },
17315
- darker(k) {
17316
- k = k == null ? darker : Math.pow(darker, k);
17332
+ darker: function(k) {
17333
+ k = k == null ? darker$1 : Math.pow(darker$1, k);
17317
17334
  return new Cubehelix(this.h, this.s, this.l * k, this.opacity);
17318
17335
  },
17319
- rgb() {
17320
- var h2 = isNaN(this.h) ? 0 : (this.h + 120) * radians$1, l = +this.l, a2 = isNaN(this.s) ? 0 : this.s * l * (1 - l), cosh2 = Math.cos(h2), sinh2 = Math.sin(h2);
17321
- return new Rgb(
17336
+ rgb: function() {
17337
+ var h2 = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad, l = +this.l, a2 = isNaN(this.s) ? 0 : this.s * l * (1 - l), cosh2 = Math.cos(h2), sinh2 = Math.sin(h2);
17338
+ return new Rgb$1(
17322
17339
  255 * (l + a2 * (A * cosh2 + B$1 * sinh2)),
17323
17340
  255 * (l + a2 * (C$1 * cosh2 + D$1 * sinh2)),
17324
17341
  255 * (l + a2 * (E * cosh2)),
@@ -17326,52 +17343,30 @@ define(Cubehelix, cubehelix$2, extend(Color, {
17326
17343
  );
17327
17344
  }
17328
17345
  }));
17329
- function basis(t12, v0, v1, v2, v3) {
17330
- var t22 = t12 * t12, t32 = t22 * t12;
17331
- return ((1 - 3 * t12 + 3 * t22 - t32) * v0 + (4 - 6 * t22 + 3 * t32) * v1 + (1 + 3 * t12 + 3 * t22 - 3 * t32) * v2 + t32 * v3) / 6;
17332
- }
17333
- function basis$1(values2) {
17334
- var n = values2.length - 1;
17335
- return function(t4) {
17336
- var i = t4 <= 0 ? t4 = 0 : t4 >= 1 ? (t4 = 1, n - 1) : Math.floor(t4 * n), v1 = values2[i], v2 = values2[i + 1], v0 = i > 0 ? values2[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values2[i + 2] : 2 * v2 - v1;
17337
- return basis((t4 - i / n) * n, v0, v1, v2, v3);
17338
- };
17339
- }
17340
- function basisClosed(values2) {
17341
- var n = values2.length;
17342
- return function(t4) {
17343
- var i = Math.floor(((t4 %= 1) < 0 ? ++t4 : t4) * n), v0 = values2[(i + n - 1) % n], v1 = values2[i % n], v2 = values2[(i + 1) % n], v3 = values2[(i + 2) % n];
17344
- return basis((t4 - i / n) * n, v0, v1, v2, v3);
17345
- };
17346
- }
17347
- const constant$2 = (x2) => () => x2;
17348
- function linear$1(a2, d) {
17346
+ const constant$3 = (x2) => () => x2;
17347
+ function linear$2(a2, d) {
17349
17348
  return function(t4) {
17350
17349
  return a2 + t4 * d;
17351
17350
  };
17352
17351
  }
17353
- function exponential(a2, b2, y2) {
17352
+ function exponential$1(a2, b2, y2) {
17354
17353
  return a2 = Math.pow(a2, y2), b2 = Math.pow(b2, y2) - a2, y2 = 1 / y2, function(t4) {
17355
17354
  return Math.pow(a2 + t4 * b2, y2);
17356
17355
  };
17357
17356
  }
17358
- function hue$1(a2, b2) {
17359
- var d = b2 - a2;
17360
- return d ? linear$1(a2, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant$2(isNaN(a2) ? b2 : a2);
17361
- }
17362
- function gamma(y2) {
17363
- return (y2 = +y2) === 1 ? nogamma : function(a2, b2) {
17364
- return b2 - a2 ? exponential(a2, b2, y2) : constant$2(isNaN(a2) ? b2 : a2);
17357
+ function gamma$1(y2) {
17358
+ return (y2 = +y2) === 1 ? nogamma$1 : function(a2, b2) {
17359
+ return b2 - a2 ? exponential$1(a2, b2, y2) : constant$3(isNaN(a2) ? b2 : a2);
17365
17360
  };
17366
17361
  }
17367
- function nogamma(a2, b2) {
17362
+ function nogamma$1(a2, b2) {
17368
17363
  var d = b2 - a2;
17369
- return d ? linear$1(a2, d) : constant$2(isNaN(a2) ? b2 : a2);
17364
+ return d ? linear$2(a2, d) : constant$3(isNaN(a2) ? b2 : a2);
17370
17365
  }
17371
- const rgb = function rgbGamma(y2) {
17372
- var color2 = gamma(y2);
17366
+ const rgb$2 = function rgbGamma(y2) {
17367
+ var color2 = gamma$1(y2);
17373
17368
  function rgb2(start, end) {
17374
- var r3 = color2((start = rgb$1(start)).r, (end = rgb$1(end)).r), g = color2(start.g, end.g), b2 = color2(start.b, end.b), opacity2 = nogamma(start.opacity, end.opacity);
17369
+ var r3 = color2((start = rgb$3(start)).r, (end = rgb$3(end)).r), g = color2(start.g, end.g), b2 = color2(start.b, end.b), opacity2 = nogamma$1(start.opacity, end.opacity);
17375
17370
  return function(t4) {
17376
17371
  start.r = r3(t4);
17377
17372
  start.g = g(t4);
@@ -17383,30 +17378,7 @@ const rgb = function rgbGamma(y2) {
17383
17378
  rgb2.gamma = rgbGamma;
17384
17379
  return rgb2;
17385
17380
  }(1);
17386
- function rgbSpline(spline) {
17387
- return function(colors2) {
17388
- var n = colors2.length, r3 = new Array(n), g = new Array(n), b2 = new Array(n), i, color2;
17389
- for (i = 0; i < n; ++i) {
17390
- color2 = rgb$1(colors2[i]);
17391
- r3[i] = color2.r || 0;
17392
- g[i] = color2.g || 0;
17393
- b2[i] = color2.b || 0;
17394
- }
17395
- r3 = spline(r3);
17396
- g = spline(g);
17397
- b2 = spline(b2);
17398
- color2.opacity = 1;
17399
- return function(t4) {
17400
- color2.r = r3(t4);
17401
- color2.g = g(t4);
17402
- color2.b = b2(t4);
17403
- return color2 + "";
17404
- };
17405
- };
17406
- }
17407
- var rgbBasis = rgbSpline(basis$1);
17408
- var rgbBasisClosed = rgbSpline(basisClosed);
17409
- function numberArray(a2, b2) {
17381
+ function numberArray$1(a2, b2) {
17410
17382
  if (!b2)
17411
17383
  b2 = [];
17412
17384
  var n = a2 ? Math.min(b2.length, a2.length) : 0, c2 = b2.slice(), i;
@@ -17416,16 +17388,13 @@ function numberArray(a2, b2) {
17416
17388
  return c2;
17417
17389
  };
17418
17390
  }
17419
- function isNumberArray(x2) {
17391
+ function isNumberArray$1(x2) {
17420
17392
  return ArrayBuffer.isView(x2) && !(x2 instanceof DataView);
17421
17393
  }
17422
- function array$3(a2, b2) {
17423
- return (isNumberArray(b2) ? numberArray : genericArray)(a2, b2);
17424
- }
17425
- function genericArray(a2, b2) {
17394
+ function genericArray$1(a2, b2) {
17426
17395
  var nb = b2 ? b2.length : 0, na = a2 ? Math.min(nb, a2.length) : 0, x2 = new Array(na), c2 = new Array(nb), i;
17427
17396
  for (i = 0; i < na; ++i)
17428
- x2[i] = interpolate$1$1(a2[i], b2[i]);
17397
+ x2[i] = interpolate$2(a2[i], b2[i]);
17429
17398
  for (; i < nb; ++i)
17430
17399
  c2[i] = b2[i];
17431
17400
  return function(t4) {
@@ -17434,7 +17403,7 @@ function genericArray(a2, b2) {
17434
17403
  return c2;
17435
17404
  };
17436
17405
  }
17437
- function date$1(a2, b2) {
17406
+ function date$2(a2, b2) {
17438
17407
  var d = /* @__PURE__ */ new Date();
17439
17408
  return a2 = +a2, b2 = +b2, function(t4) {
17440
17409
  return d.setTime(a2 * (1 - t4) + b2 * t4), d;
@@ -17445,7 +17414,7 @@ function interpolateNumber(a2, b2) {
17445
17414
  return a2 * (1 - t4) + b2 * t4;
17446
17415
  };
17447
17416
  }
17448
- function object(a2, b2) {
17417
+ function object$1(a2, b2) {
17449
17418
  var i = {}, c2 = {}, k;
17450
17419
  if (a2 === null || typeof a2 !== "object")
17451
17420
  a2 = {};
@@ -17453,7 +17422,7 @@ function object(a2, b2) {
17453
17422
  b2 = {};
17454
17423
  for (k in b2) {
17455
17424
  if (k in a2) {
17456
- i[k] = interpolate$1$1(a2[k], b2[k]);
17425
+ i[k] = interpolate$2(a2[k], b2[k]);
17457
17426
  } else {
17458
17427
  c2[k] = b2[k];
17459
17428
  }
@@ -17464,21 +17433,21 @@ function object(a2, b2) {
17464
17433
  return c2;
17465
17434
  };
17466
17435
  }
17467
- var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g");
17468
- function zero$2(b2) {
17436
+ var reA$1 = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB$1 = new RegExp(reA$1.source, "g");
17437
+ function zero$3(b2) {
17469
17438
  return function() {
17470
17439
  return b2;
17471
17440
  };
17472
17441
  }
17473
- function one$1(b2) {
17442
+ function one$2(b2) {
17474
17443
  return function(t4) {
17475
17444
  return b2(t4) + "";
17476
17445
  };
17477
17446
  }
17478
- function string(a2, b2) {
17479
- var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];
17447
+ function string$1(a2, b2) {
17448
+ var bi = reA$1.lastIndex = reB$1.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];
17480
17449
  a2 = a2 + "", b2 = b2 + "";
17481
- while ((am = reA.exec(a2)) && (bm = reB.exec(b2))) {
17450
+ while ((am = reA$1.exec(a2)) && (bm = reB$1.exec(b2))) {
17482
17451
  if ((bs = bm.index) > bi) {
17483
17452
  bs = b2.slice(bi, bs);
17484
17453
  if (s[i])
@@ -17495,7 +17464,7 @@ function string(a2, b2) {
17495
17464
  s[++i] = null;
17496
17465
  q.push({ i, x: interpolateNumber(am, bm) });
17497
17466
  }
17498
- bi = reB.lastIndex;
17467
+ bi = reB$1.lastIndex;
17499
17468
  }
17500
17469
  if (bi < b2.length) {
17501
17470
  bs = b2.slice(bi);
@@ -17504,237 +17473,24 @@ function string(a2, b2) {
17504
17473
  else
17505
17474
  s[++i] = bs;
17506
17475
  }
17507
- return s.length < 2 ? q[0] ? one$1(q[0].x) : zero$2(b2) : (b2 = q.length, function(t4) {
17476
+ return s.length < 2 ? q[0] ? one$2(q[0].x) : zero$3(b2) : (b2 = q.length, function(t4) {
17508
17477
  for (var i2 = 0, o; i2 < b2; ++i2)
17509
17478
  s[(o = q[i2]).i] = o.x(t4);
17510
17479
  return s.join("");
17511
17480
  });
17512
17481
  }
17513
- function interpolate$1$1(a2, b2) {
17482
+ function interpolate$2(a2, b2) {
17514
17483
  var t4 = typeof b2, c2;
17515
- return b2 == null || t4 === "boolean" ? constant$2(b2) : (t4 === "number" ? interpolateNumber : t4 === "string" ? (c2 = color$3(b2)) ? (b2 = c2, rgb) : string : b2 instanceof color$3 ? rgb : b2 instanceof Date ? date$1 : isNumberArray(b2) ? numberArray : Array.isArray(b2) ? genericArray : typeof b2.valueOf !== "function" && typeof b2.toString !== "function" || isNaN(b2) ? object : interpolateNumber)(a2, b2);
17516
- }
17517
- function discrete$1(range2) {
17518
- var n = range2.length;
17519
- return function(t4) {
17520
- return range2[Math.max(0, Math.min(n - 1, Math.floor(t4 * n)))];
17521
- };
17484
+ return b2 == null || t4 === "boolean" ? constant$3(b2) : (t4 === "number" ? interpolateNumber : t4 === "string" ? (c2 = color$4(b2)) ? (b2 = c2, rgb$2) : string$1 : b2 instanceof color$4 ? rgb$2 : b2 instanceof Date ? date$2 : isNumberArray$1(b2) ? numberArray$1 : Array.isArray(b2) ? genericArray$1 : typeof b2.valueOf !== "function" && typeof b2.toString !== "function" || isNaN(b2) ? object$1 : interpolateNumber)(a2, b2);
17522
17485
  }
17523
- function hue(a2, b2) {
17524
- var i = hue$1(+a2, +b2);
17525
- return function(t4) {
17526
- var x2 = i(t4);
17527
- return x2 - 360 * Math.floor(x2 / 360);
17528
- };
17529
- }
17530
- function interpolateRound(a2, b2) {
17486
+ function interpolateRound$1(a2, b2) {
17531
17487
  return a2 = +a2, b2 = +b2, function(t4) {
17532
17488
  return Math.round(a2 * (1 - t4) + b2 * t4);
17533
17489
  };
17534
17490
  }
17535
- var degrees$1 = 180 / Math.PI;
17536
- var identity$3 = {
17537
- translateX: 0,
17538
- translateY: 0,
17539
- rotate: 0,
17540
- skewX: 0,
17541
- scaleX: 1,
17542
- scaleY: 1
17543
- };
17544
- function decompose(a2, b2, c2, d, e3, f) {
17545
- var scaleX, scaleY2, skewX;
17546
- if (scaleX = Math.sqrt(a2 * a2 + b2 * b2))
17547
- a2 /= scaleX, b2 /= scaleX;
17548
- if (skewX = a2 * c2 + b2 * d)
17549
- c2 -= a2 * skewX, d -= b2 * skewX;
17550
- if (scaleY2 = Math.sqrt(c2 * c2 + d * d))
17551
- c2 /= scaleY2, d /= scaleY2, skewX /= scaleY2;
17552
- if (a2 * d < b2 * c2)
17553
- a2 = -a2, b2 = -b2, skewX = -skewX, scaleX = -scaleX;
17554
- return {
17555
- translateX: e3,
17556
- translateY: f,
17557
- rotate: Math.atan2(b2, a2) * degrees$1,
17558
- skewX: Math.atan(skewX) * degrees$1,
17559
- scaleX,
17560
- scaleY: scaleY2
17561
- };
17562
- }
17563
- var svgNode;
17564
- function parseCss(value2) {
17565
- const m2 = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value2 + "");
17566
- return m2.isIdentity ? identity$3 : decompose(m2.a, m2.b, m2.c, m2.d, m2.e, m2.f);
17567
- }
17568
- function parseSvg(value2) {
17569
- if (value2 == null)
17570
- return identity$3;
17571
- if (!svgNode)
17572
- svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g");
17573
- svgNode.setAttribute("transform", value2);
17574
- if (!(value2 = svgNode.transform.baseVal.consolidate()))
17575
- return identity$3;
17576
- value2 = value2.matrix;
17577
- return decompose(value2.a, value2.b, value2.c, value2.d, value2.e, value2.f);
17578
- }
17579
- function interpolateTransform(parse2, pxComma, pxParen, degParen) {
17580
- function pop(s) {
17581
- return s.length ? s.pop() + " " : "";
17582
- }
17583
- function translate2(xa, ya, xb, yb, s, q) {
17584
- if (xa !== xb || ya !== yb) {
17585
- var i = s.push("translate(", null, pxComma, null, pxParen);
17586
- q.push({ i: i - 4, x: interpolateNumber(xa, xb) }, { i: i - 2, x: interpolateNumber(ya, yb) });
17587
- } else if (xb || yb) {
17588
- s.push("translate(" + xb + pxComma + yb + pxParen);
17589
- }
17590
- }
17591
- function rotate2(a2, b2, s, q) {
17592
- if (a2 !== b2) {
17593
- if (a2 - b2 > 180)
17594
- b2 += 360;
17595
- else if (b2 - a2 > 180)
17596
- a2 += 360;
17597
- q.push({ i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: interpolateNumber(a2, b2) });
17598
- } else if (b2) {
17599
- s.push(pop(s) + "rotate(" + b2 + degParen);
17600
- }
17601
- }
17602
- function skewX(a2, b2, s, q) {
17603
- if (a2 !== b2) {
17604
- q.push({ i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: interpolateNumber(a2, b2) });
17605
- } else if (b2) {
17606
- s.push(pop(s) + "skewX(" + b2 + degParen);
17607
- }
17608
- }
17609
- function scale2(xa, ya, xb, yb, s, q) {
17610
- if (xa !== xb || ya !== yb) {
17611
- var i = s.push(pop(s) + "scale(", null, ",", null, ")");
17612
- q.push({ i: i - 4, x: interpolateNumber(xa, xb) }, { i: i - 2, x: interpolateNumber(ya, yb) });
17613
- } else if (xb !== 1 || yb !== 1) {
17614
- s.push(pop(s) + "scale(" + xb + "," + yb + ")");
17615
- }
17616
- }
17617
- return function(a2, b2) {
17618
- var s = [], q = [];
17619
- a2 = parse2(a2), b2 = parse2(b2);
17620
- translate2(a2.translateX, a2.translateY, b2.translateX, b2.translateY, s, q);
17621
- rotate2(a2.rotate, b2.rotate, s, q);
17622
- skewX(a2.skewX, b2.skewX, s, q);
17623
- scale2(a2.scaleX, a2.scaleY, b2.scaleX, b2.scaleY, s, q);
17624
- a2 = b2 = null;
17625
- return function(t4) {
17626
- var i = -1, n = q.length, o;
17627
- while (++i < n)
17628
- s[(o = q[i]).i] = o.x(t4);
17629
- return s.join("");
17630
- };
17631
- };
17632
- }
17633
- var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)");
17634
- var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")");
17635
- var epsilon2$1 = 1e-12;
17636
- function cosh(x2) {
17637
- return ((x2 = Math.exp(x2)) + 1 / x2) / 2;
17638
- }
17639
- function sinh(x2) {
17640
- return ((x2 = Math.exp(x2)) - 1 / x2) / 2;
17641
- }
17642
- function tanh(x2) {
17643
- return ((x2 = Math.exp(2 * x2)) - 1) / (x2 + 1);
17644
- }
17645
- const zoom$1 = function zoomRho(rho, rho2, rho4) {
17646
- function zoom2(p02, p1) {
17647
- var ux0 = p02[0], uy0 = p02[1], w0 = p02[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;
17648
- if (d2 < epsilon2$1) {
17649
- S = Math.log(w1 / w0) / rho;
17650
- i = function(t4) {
17651
- return [
17652
- ux0 + t4 * dx,
17653
- uy0 + t4 * dy,
17654
- w0 * Math.exp(rho * t4 * S)
17655
- ];
17656
- };
17657
- } else {
17658
- var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);
17659
- S = (r1 - r0) / rho;
17660
- i = function(t4) {
17661
- var s = t4 * S, coshr0 = cosh(r0), u2 = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));
17662
- return [
17663
- ux0 + u2 * dx,
17664
- uy0 + u2 * dy,
17665
- w0 * coshr0 / cosh(rho * s + r0)
17666
- ];
17667
- };
17668
- }
17669
- i.duration = S * 1e3 * rho / Math.SQRT2;
17670
- return i;
17671
- }
17672
- zoom2.rho = function(_) {
17673
- var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;
17674
- return zoomRho(_1, _2, _4);
17675
- };
17676
- return zoom2;
17677
- }(Math.SQRT2, 2, 4);
17678
- function hsl(hue2) {
17679
- return function(start, end) {
17680
- var h2 = hue2((start = hsl$2(start)).h, (end = hsl$2(end)).h), s = nogamma(start.s, end.s), l = nogamma(start.l, end.l), opacity2 = nogamma(start.opacity, end.opacity);
17681
- return function(t4) {
17682
- start.h = h2(t4);
17683
- start.s = s(t4);
17684
- start.l = l(t4);
17685
- start.opacity = opacity2(t4);
17686
- return start + "";
17687
- };
17688
- };
17689
- }
17690
- const hsl$1 = hsl(hue$1);
17691
- var hslLong = hsl(nogamma);
17692
- function lab(start, end) {
17693
- var l = nogamma((start = lab$1(start)).l, (end = lab$1(end)).l), a2 = nogamma(start.a, end.a), b2 = nogamma(start.b, end.b), opacity2 = nogamma(start.opacity, end.opacity);
17694
- return function(t4) {
17695
- start.l = l(t4);
17696
- start.a = a2(t4);
17697
- start.b = b2(t4);
17698
- start.opacity = opacity2(t4);
17699
- return start + "";
17700
- };
17701
- }
17702
- function hcl(hue2) {
17703
- return function(start, end) {
17704
- var h2 = hue2((start = hcl$2(start)).h, (end = hcl$2(end)).h), c2 = nogamma(start.c, end.c), l = nogamma(start.l, end.l), opacity2 = nogamma(start.opacity, end.opacity);
17705
- return function(t4) {
17706
- start.h = h2(t4);
17707
- start.c = c2(t4);
17708
- start.l = l(t4);
17709
- start.opacity = opacity2(t4);
17710
- return start + "";
17711
- };
17712
- };
17713
- }
17714
- const hcl$1 = hcl(hue$1);
17715
- var hclLong = hcl(nogamma);
17716
- function cubehelix(hue2) {
17717
- return function cubehelixGamma(y2) {
17718
- y2 = +y2;
17719
- function cubehelix2(start, end) {
17720
- var h2 = hue2((start = cubehelix$2(start)).h, (end = cubehelix$2(end)).h), s = nogamma(start.s, end.s), l = nogamma(start.l, end.l), opacity2 = nogamma(start.opacity, end.opacity);
17721
- return function(t4) {
17722
- start.h = h2(t4);
17723
- start.s = s(t4);
17724
- start.l = l(Math.pow(t4, y2));
17725
- start.opacity = opacity2(t4);
17726
- return start + "";
17727
- };
17728
- }
17729
- cubehelix2.gamma = cubehelixGamma;
17730
- return cubehelix2;
17731
- }(1);
17732
- }
17733
- const cubehelix$1 = cubehelix(hue$1);
17734
- var cubehelixLong = cubehelix(nogamma);
17735
- function piecewise(interpolate2, values2) {
17491
+ function piecewise$1(interpolate2, values2) {
17736
17492
  if (values2 === void 0)
17737
- values2 = interpolate2, interpolate2 = interpolate$1$1;
17493
+ values2 = interpolate2, interpolate2 = interpolate$2;
17738
17494
  var i = 0, n = values2.length - 1, v = values2[0], I = new Array(n < 0 ? 0 : n);
17739
17495
  while (i < n)
17740
17496
  I[i] = interpolate2(v, v = values2[++i]);
@@ -17743,52 +17499,16 @@ function piecewise(interpolate2, values2) {
17743
17499
  return I[i2](t4 - i2);
17744
17500
  };
17745
17501
  }
17746
- function quantize$2(interpolator, n) {
17747
- var samples = new Array(n);
17748
- for (var i = 0; i < n; ++i)
17749
- samples[i] = interpolator(i / (n - 1));
17750
- return samples;
17751
- }
17752
- const $$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
17753
- __proto__: null,
17754
- interpolate: interpolate$1$1,
17755
- interpolateArray: array$3,
17756
- interpolateBasis: basis$1,
17757
- interpolateBasisClosed: basisClosed,
17758
- interpolateCubehelix: cubehelix$1,
17759
- interpolateCubehelixLong: cubehelixLong,
17760
- interpolateDate: date$1,
17761
- interpolateDiscrete: discrete$1,
17762
- interpolateHcl: hcl$1,
17763
- interpolateHclLong: hclLong,
17764
- interpolateHsl: hsl$1,
17765
- interpolateHslLong: hslLong,
17766
- interpolateHue: hue,
17767
- interpolateLab: lab,
17768
- interpolateNumber,
17769
- interpolateNumberArray: numberArray,
17770
- interpolateObject: object,
17771
- interpolateRgb: rgb,
17772
- interpolateRgbBasis: rgbBasis,
17773
- interpolateRgbBasisClosed: rgbBasisClosed,
17774
- interpolateRound,
17775
- interpolateString: string,
17776
- interpolateTransformCss,
17777
- interpolateTransformSvg,
17778
- interpolateZoom: zoom$1,
17779
- piecewise,
17780
- quantize: quantize$2
17781
- }, Symbol.toStringTag, { value: "Module" }));
17782
17502
  function constants$1(x2) {
17783
17503
  return function() {
17784
17504
  return x2;
17785
17505
  };
17786
17506
  }
17787
- function number$5(x2) {
17507
+ function number$6(x2) {
17788
17508
  return +x2;
17789
17509
  }
17790
17510
  var unit = [0, 1];
17791
- function identity$2(x2) {
17511
+ function identity$3(x2) {
17792
17512
  return x2;
17793
17513
  }
17794
17514
  function normalize$2(a2, b2) {
@@ -17833,10 +17553,10 @@ function copy$2(source2, target2) {
17833
17553
  return target2.domain(source2.domain()).range(source2.range()).interpolate(source2.interpolate()).clamp(source2.clamp()).unknown(source2.unknown());
17834
17554
  }
17835
17555
  function transformer$3() {
17836
- var domain2 = unit, range2 = unit, interpolate2 = interpolate$1$1, transform2, untransform, unknown, clamp2 = identity$2, piecewise2, output2, input;
17556
+ var domain2 = unit, range2 = unit, interpolate2 = interpolate$2, transform2, untransform, unknown, clamp2 = identity$3, piecewise2, output2, input;
17837
17557
  function rescale() {
17838
17558
  var n = Math.min(domain2.length, range2.length);
17839
- if (clamp2 !== identity$2)
17559
+ if (clamp2 !== identity$3)
17840
17560
  clamp2 = clamper(domain2[0], domain2[n - 1]);
17841
17561
  piecewise2 = n > 2 ? polymap : bimap;
17842
17562
  output2 = input = null;
@@ -17849,16 +17569,16 @@ function transformer$3() {
17849
17569
  return clamp2(untransform((input || (input = piecewise2(range2, domain2.map(transform2), interpolateNumber)))(y2)));
17850
17570
  };
17851
17571
  scale2.domain = function(_) {
17852
- return arguments.length ? (domain2 = Array.from(_, number$5), rescale()) : domain2.slice();
17572
+ return arguments.length ? (domain2 = Array.from(_, number$6), rescale()) : domain2.slice();
17853
17573
  };
17854
17574
  scale2.range = function(_) {
17855
17575
  return arguments.length ? (range2 = Array.from(_), rescale()) : range2.slice();
17856
17576
  };
17857
17577
  scale2.rangeRound = function(_) {
17858
- return range2 = Array.from(_), interpolate2 = interpolateRound, rescale();
17578
+ return range2 = Array.from(_), interpolate2 = interpolateRound$1, rescale();
17859
17579
  };
17860
17580
  scale2.clamp = function(_) {
17861
- return arguments.length ? (clamp2 = _ ? true : identity$2, rescale()) : clamp2 !== identity$2;
17581
+ return arguments.length ? (clamp2 = _ ? true : identity$3, rescale()) : clamp2 !== identity$3;
17862
17582
  };
17863
17583
  scale2.interpolate = function(_) {
17864
17584
  return arguments.length ? (interpolate2 = _, rescale()) : interpolate2;
@@ -17872,7 +17592,7 @@ function transformer$3() {
17872
17592
  };
17873
17593
  }
17874
17594
  function continuous$1() {
17875
- return transformer$3()(identity$2, identity$2);
17595
+ return transformer$3()(identity$3, identity$3);
17876
17596
  }
17877
17597
  function tickFormat$1(start, stop3, count2, specifier) {
17878
17598
  var step = tickStep(start, stop3, count2), precision;
@@ -17948,30 +17668,30 @@ function linearish(scale2) {
17948
17668
  };
17949
17669
  return scale2;
17950
17670
  }
17951
- function linear() {
17671
+ function linear$1() {
17952
17672
  var scale2 = continuous$1();
17953
17673
  scale2.copy = function() {
17954
- return copy$2(scale2, linear());
17674
+ return copy$2(scale2, linear$1());
17955
17675
  };
17956
17676
  initRange.apply(scale2, arguments);
17957
17677
  return linearish(scale2);
17958
17678
  }
17959
- function identity$1(domain2) {
17679
+ function identity$2(domain2) {
17960
17680
  var unknown;
17961
17681
  function scale2(x2) {
17962
17682
  return x2 == null || isNaN(x2 = +x2) ? unknown : x2;
17963
17683
  }
17964
17684
  scale2.invert = scale2;
17965
17685
  scale2.domain = scale2.range = function(_) {
17966
- return arguments.length ? (domain2 = Array.from(_, number$5), scale2) : domain2.slice();
17686
+ return arguments.length ? (domain2 = Array.from(_, number$6), scale2) : domain2.slice();
17967
17687
  };
17968
17688
  scale2.unknown = function(_) {
17969
17689
  return arguments.length ? (unknown = _, scale2) : unknown;
17970
17690
  };
17971
17691
  scale2.copy = function() {
17972
- return identity$1(domain2).unknown(unknown);
17692
+ return identity$2(domain2).unknown(unknown);
17973
17693
  };
17974
- domain2 = arguments.length ? Array.from(domain2, number$5) : [0, 1];
17694
+ domain2 = arguments.length ? Array.from(domain2, number$6) : [0, 1];
17975
17695
  return linearish(scale2);
17976
17696
  }
17977
17697
  function nice$1(domain2, interval2) {
@@ -18145,9 +17865,9 @@ function transformSquare(x2) {
18145
17865
  return x2 < 0 ? -x2 * x2 : x2 * x2;
18146
17866
  }
18147
17867
  function powish(transform2) {
18148
- var scale2 = transform2(identity$2, identity$2), exponent2 = 1;
17868
+ var scale2 = transform2(identity$3, identity$3), exponent2 = 1;
18149
17869
  function rescale() {
18150
- return exponent2 === 1 ? transform2(identity$2, identity$2) : exponent2 === 0.5 ? transform2(transformSqrt, transformSquare) : transform2(transformPow(exponent2), transformPow(1 / exponent2));
17870
+ return exponent2 === 1 ? transform2(identity$3, identity$3) : exponent2 === 0.5 ? transform2(transformSqrt, transformSquare) : transform2(transformPow(exponent2), transformPow(1 / exponent2));
18151
17871
  }
18152
17872
  scale2.exponent = function(_) {
18153
17873
  return arguments.length ? (exponent2 = +_, rescale()) : exponent2;
@@ -18208,7 +17928,7 @@ function quantile() {
18208
17928
  };
18209
17929
  return initRange.apply(scale2, arguments);
18210
17930
  }
18211
- function quantize$1() {
17931
+ function quantize$2() {
18212
17932
  var x02 = 0, x12 = 1, n = 1, domain2 = [0.5], range2 = [0, 1], unknown;
18213
17933
  function scale2(x2) {
18214
17934
  return x2 != null && x2 <= x2 ? range2[bisect$1(domain2, x2, 0, n)] : unknown;
@@ -18237,7 +17957,7 @@ function quantize$1() {
18237
17957
  return domain2.slice();
18238
17958
  };
18239
17959
  scale2.copy = function() {
18240
- return quantize$1().domain([x02, x12]).range(range2).unknown(unknown);
17960
+ return quantize$2().domain([x02, x12]).range(range2).unknown(unknown);
18241
17961
  };
18242
17962
  return initRange.apply(linearish(scale2), arguments);
18243
17963
  }
@@ -18264,10 +17984,10 @@ function threshold() {
18264
17984
  };
18265
17985
  return initRange.apply(scale2, arguments);
18266
17986
  }
18267
- function date(t4) {
17987
+ function date$1(t4) {
18268
17988
  return new Date(t4);
18269
17989
  }
18270
- function number$4(t4) {
17990
+ function number$5(t4) {
18271
17991
  return t4 instanceof Date ? +t4 : +/* @__PURE__ */ new Date(+t4);
18272
17992
  }
18273
17993
  function calendar(ticks2, tickInterval, year2, month2, week2, day2, hour2, minute2, second2, format2) {
@@ -18280,7 +18000,7 @@ function calendar(ticks2, tickInterval, year2, month2, week2, day2, hour2, minut
18280
18000
  return new Date(invert2(y2));
18281
18001
  };
18282
18002
  scale2.domain = function(_) {
18283
- return arguments.length ? domain2(Array.from(_, number$4)) : domain2().map(date);
18003
+ return arguments.length ? domain2(Array.from(_, number$5)) : domain2().map(date$1);
18284
18004
  };
18285
18005
  scale2.ticks = function(interval2) {
18286
18006
  var d = domain2();
@@ -18307,7 +18027,7 @@ function utcTime() {
18307
18027
  return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear$1, utcMonth$1, utcSunday, utcDay$1, utcHour$1, utcMinute$1, utcSecond, utcFormat$1).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments);
18308
18028
  }
18309
18029
  function transformer$2() {
18310
- var x02 = 0, x12 = 1, t02, t12, k10, transform2, interpolator = identity$2, clamp2 = false, unknown;
18030
+ var x02 = 0, x12 = 1, t02, t12, k10, transform2, interpolator = identity$3, clamp2 = false, unknown;
18311
18031
  function scale2(x2) {
18312
18032
  return x2 == null || isNaN(x2 = +x2) ? unknown : interpolator(k10 === 0 ? 0.5 : (x2 = (transform2(x2) - t02) * k10, clamp2 ? Math.max(0, Math.min(1, x2)) : x2));
18313
18033
  }
@@ -18326,8 +18046,8 @@ function transformer$2() {
18326
18046
  return arguments.length ? ([r0, r1] = _, interpolator = interpolate2(r0, r1), scale2) : [interpolator(0), interpolator(1)];
18327
18047
  };
18328
18048
  }
18329
- scale2.range = range2(interpolate$1$1);
18330
- scale2.rangeRound = range2(interpolateRound);
18049
+ scale2.range = range2(interpolate$2);
18050
+ scale2.rangeRound = range2(interpolateRound$1);
18331
18051
  scale2.unknown = function(_) {
18332
18052
  return arguments.length ? (unknown = _, scale2) : unknown;
18333
18053
  };
@@ -18340,7 +18060,7 @@ function copy$1(source2, target2) {
18340
18060
  return target2.domain(source2.domain()).interpolator(source2.interpolator()).clamp(source2.clamp()).unknown(source2.unknown());
18341
18061
  }
18342
18062
  function sequential() {
18343
- var scale2 = linearish(transformer$2()(identity$2));
18063
+ var scale2 = linearish(transformer$2()(identity$3));
18344
18064
  scale2.copy = function() {
18345
18065
  return copy$1(scale2, sequential());
18346
18066
  };
@@ -18371,7 +18091,7 @@ function sequentialSqrt() {
18371
18091
  return sequentialPow.apply(null, arguments).exponent(0.5);
18372
18092
  }
18373
18093
  function transformer$1() {
18374
- var x02 = 0, x12 = 0.5, x2 = 1, s = 1, t02, t12, t22, k10, k21, interpolator = identity$2, transform2, clamp2 = false, unknown;
18094
+ var x02 = 0, x12 = 0.5, x2 = 1, s = 1, t02, t12, t22, k10, k21, interpolator = identity$3, transform2, clamp2 = false, unknown;
18375
18095
  function scale2(x3) {
18376
18096
  return isNaN(x3 = +x3) ? unknown : (x3 = 0.5 + ((x3 = +transform2(x3)) - t12) * (s * x3 < s * t12 ? k10 : k21), interpolator(clamp2 ? Math.max(0, Math.min(1, x3)) : x3));
18377
18097
  }
@@ -18387,11 +18107,11 @@ function transformer$1() {
18387
18107
  function range2(interpolate2) {
18388
18108
  return function(_) {
18389
18109
  var r0, r1, r22;
18390
- return arguments.length ? ([r0, r1, r22] = _, interpolator = piecewise(interpolate2, [r0, r1, r22]), scale2) : [interpolator(0), interpolator(0.5), interpolator(1)];
18110
+ return arguments.length ? ([r0, r1, r22] = _, interpolator = piecewise$1(interpolate2, [r0, r1, r22]), scale2) : [interpolator(0), interpolator(0.5), interpolator(1)];
18391
18111
  };
18392
18112
  }
18393
- scale2.range = range2(interpolate$1$1);
18394
- scale2.rangeRound = range2(interpolateRound);
18113
+ scale2.range = range2(interpolate$2);
18114
+ scale2.rangeRound = range2(interpolateRound$1);
18395
18115
  scale2.unknown = function(_) {
18396
18116
  return arguments.length ? (unknown = _, scale2) : unknown;
18397
18117
  };
@@ -18401,7 +18121,7 @@ function transformer$1() {
18401
18121
  };
18402
18122
  }
18403
18123
  function diverging() {
18404
- var scale2 = linearish(transformer$1()(identity$2));
18124
+ var scale2 = linearish(transformer$1()(identity$3));
18405
18125
  scale2.copy = function() {
18406
18126
  return copy$1(scale2, diverging());
18407
18127
  };
@@ -18431,6 +18151,459 @@ function divergingPow() {
18431
18151
  function divergingSqrt() {
18432
18152
  return divergingPow.apply(null, arguments).exponent(0.5);
18433
18153
  }
18154
+ function basis(t12, v0, v1, v2, v3) {
18155
+ var t22 = t12 * t12, t32 = t22 * t12;
18156
+ return ((1 - 3 * t12 + 3 * t22 - t32) * v0 + (4 - 6 * t22 + 3 * t32) * v1 + (1 + 3 * t12 + 3 * t22 - 3 * t32) * v2 + t32 * v3) / 6;
18157
+ }
18158
+ function basis$1(values2) {
18159
+ var n = values2.length - 1;
18160
+ return function(t4) {
18161
+ var i = t4 <= 0 ? t4 = 0 : t4 >= 1 ? (t4 = 1, n - 1) : Math.floor(t4 * n), v1 = values2[i], v2 = values2[i + 1], v0 = i > 0 ? values2[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values2[i + 2] : 2 * v2 - v1;
18162
+ return basis((t4 - i / n) * n, v0, v1, v2, v3);
18163
+ };
18164
+ }
18165
+ function basisClosed(values2) {
18166
+ var n = values2.length;
18167
+ return function(t4) {
18168
+ var i = Math.floor(((t4 %= 1) < 0 ? ++t4 : t4) * n), v0 = values2[(i + n - 1) % n], v1 = values2[i % n], v2 = values2[(i + 1) % n], v3 = values2[(i + 2) % n];
18169
+ return basis((t4 - i / n) * n, v0, v1, v2, v3);
18170
+ };
18171
+ }
18172
+ const constant$2 = (x2) => () => x2;
18173
+ function linear(a2, d) {
18174
+ return function(t4) {
18175
+ return a2 + t4 * d;
18176
+ };
18177
+ }
18178
+ function exponential(a2, b2, y2) {
18179
+ return a2 = Math.pow(a2, y2), b2 = Math.pow(b2, y2) - a2, y2 = 1 / y2, function(t4) {
18180
+ return Math.pow(a2 + t4 * b2, y2);
18181
+ };
18182
+ }
18183
+ function hue$1(a2, b2) {
18184
+ var d = b2 - a2;
18185
+ return d ? linear(a2, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant$2(isNaN(a2) ? b2 : a2);
18186
+ }
18187
+ function gamma(y2) {
18188
+ return (y2 = +y2) === 1 ? nogamma : function(a2, b2) {
18189
+ return b2 - a2 ? exponential(a2, b2, y2) : constant$2(isNaN(a2) ? b2 : a2);
18190
+ };
18191
+ }
18192
+ function nogamma(a2, b2) {
18193
+ var d = b2 - a2;
18194
+ return d ? linear(a2, d) : constant$2(isNaN(a2) ? b2 : a2);
18195
+ }
18196
+ const rgb$1 = function rgbGamma2(y2) {
18197
+ var color2 = gamma(y2);
18198
+ function rgb2(start, end) {
18199
+ var r3 = color2((start = rgb$3(start)).r, (end = rgb$3(end)).r), g = color2(start.g, end.g), b2 = color2(start.b, end.b), opacity2 = nogamma(start.opacity, end.opacity);
18200
+ return function(t4) {
18201
+ start.r = r3(t4);
18202
+ start.g = g(t4);
18203
+ start.b = b2(t4);
18204
+ start.opacity = opacity2(t4);
18205
+ return start + "";
18206
+ };
18207
+ }
18208
+ rgb2.gamma = rgbGamma2;
18209
+ return rgb2;
18210
+ }(1);
18211
+ function rgbSpline(spline) {
18212
+ return function(colors2) {
18213
+ var n = colors2.length, r3 = new Array(n), g = new Array(n), b2 = new Array(n), i, color2;
18214
+ for (i = 0; i < n; ++i) {
18215
+ color2 = rgb$3(colors2[i]);
18216
+ r3[i] = color2.r || 0;
18217
+ g[i] = color2.g || 0;
18218
+ b2[i] = color2.b || 0;
18219
+ }
18220
+ r3 = spline(r3);
18221
+ g = spline(g);
18222
+ b2 = spline(b2);
18223
+ color2.opacity = 1;
18224
+ return function(t4) {
18225
+ color2.r = r3(t4);
18226
+ color2.g = g(t4);
18227
+ color2.b = b2(t4);
18228
+ return color2 + "";
18229
+ };
18230
+ };
18231
+ }
18232
+ var rgbBasis = rgbSpline(basis$1);
18233
+ var rgbBasisClosed = rgbSpline(basisClosed);
18234
+ function numberArray(a2, b2) {
18235
+ if (!b2)
18236
+ b2 = [];
18237
+ var n = a2 ? Math.min(b2.length, a2.length) : 0, c2 = b2.slice(), i;
18238
+ return function(t4) {
18239
+ for (i = 0; i < n; ++i)
18240
+ c2[i] = a2[i] * (1 - t4) + b2[i] * t4;
18241
+ return c2;
18242
+ };
18243
+ }
18244
+ function isNumberArray(x2) {
18245
+ return ArrayBuffer.isView(x2) && !(x2 instanceof DataView);
18246
+ }
18247
+ function array$3(a2, b2) {
18248
+ return (isNumberArray(b2) ? numberArray : genericArray)(a2, b2);
18249
+ }
18250
+ function genericArray(a2, b2) {
18251
+ var nb = b2 ? b2.length : 0, na = a2 ? Math.min(nb, a2.length) : 0, x2 = new Array(na), c2 = new Array(nb), i;
18252
+ for (i = 0; i < na; ++i)
18253
+ x2[i] = interpolate$1$1(a2[i], b2[i]);
18254
+ for (; i < nb; ++i)
18255
+ c2[i] = b2[i];
18256
+ return function(t4) {
18257
+ for (i = 0; i < na; ++i)
18258
+ c2[i] = x2[i](t4);
18259
+ return c2;
18260
+ };
18261
+ }
18262
+ function date(a2, b2) {
18263
+ var d = /* @__PURE__ */ new Date();
18264
+ return a2 = +a2, b2 = +b2, function(t4) {
18265
+ return d.setTime(a2 * (1 - t4) + b2 * t4), d;
18266
+ };
18267
+ }
18268
+ function number$4(a2, b2) {
18269
+ return a2 = +a2, b2 = +b2, function(t4) {
18270
+ return a2 * (1 - t4) + b2 * t4;
18271
+ };
18272
+ }
18273
+ function object(a2, b2) {
18274
+ var i = {}, c2 = {}, k;
18275
+ if (a2 === null || typeof a2 !== "object")
18276
+ a2 = {};
18277
+ if (b2 === null || typeof b2 !== "object")
18278
+ b2 = {};
18279
+ for (k in b2) {
18280
+ if (k in a2) {
18281
+ i[k] = interpolate$1$1(a2[k], b2[k]);
18282
+ } else {
18283
+ c2[k] = b2[k];
18284
+ }
18285
+ }
18286
+ return function(t4) {
18287
+ for (k in i)
18288
+ c2[k] = i[k](t4);
18289
+ return c2;
18290
+ };
18291
+ }
18292
+ var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g");
18293
+ function zero$2(b2) {
18294
+ return function() {
18295
+ return b2;
18296
+ };
18297
+ }
18298
+ function one$1(b2) {
18299
+ return function(t4) {
18300
+ return b2(t4) + "";
18301
+ };
18302
+ }
18303
+ function string(a2, b2) {
18304
+ var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];
18305
+ a2 = a2 + "", b2 = b2 + "";
18306
+ while ((am = reA.exec(a2)) && (bm = reB.exec(b2))) {
18307
+ if ((bs = bm.index) > bi) {
18308
+ bs = b2.slice(bi, bs);
18309
+ if (s[i])
18310
+ s[i] += bs;
18311
+ else
18312
+ s[++i] = bs;
18313
+ }
18314
+ if ((am = am[0]) === (bm = bm[0])) {
18315
+ if (s[i])
18316
+ s[i] += bm;
18317
+ else
18318
+ s[++i] = bm;
18319
+ } else {
18320
+ s[++i] = null;
18321
+ q.push({ i, x: number$4(am, bm) });
18322
+ }
18323
+ bi = reB.lastIndex;
18324
+ }
18325
+ if (bi < b2.length) {
18326
+ bs = b2.slice(bi);
18327
+ if (s[i])
18328
+ s[i] += bs;
18329
+ else
18330
+ s[++i] = bs;
18331
+ }
18332
+ return s.length < 2 ? q[0] ? one$1(q[0].x) : zero$2(b2) : (b2 = q.length, function(t4) {
18333
+ for (var i2 = 0, o; i2 < b2; ++i2)
18334
+ s[(o = q[i2]).i] = o.x(t4);
18335
+ return s.join("");
18336
+ });
18337
+ }
18338
+ function interpolate$1$1(a2, b2) {
18339
+ var t4 = typeof b2, c2;
18340
+ return b2 == null || t4 === "boolean" ? constant$2(b2) : (t4 === "number" ? number$4 : t4 === "string" ? (c2 = color$4(b2)) ? (b2 = c2, rgb$1) : string : b2 instanceof color$4 ? rgb$1 : b2 instanceof Date ? date : isNumberArray(b2) ? numberArray : Array.isArray(b2) ? genericArray : typeof b2.valueOf !== "function" && typeof b2.toString !== "function" || isNaN(b2) ? object : number$4)(a2, b2);
18341
+ }
18342
+ function discrete$1(range2) {
18343
+ var n = range2.length;
18344
+ return function(t4) {
18345
+ return range2[Math.max(0, Math.min(n - 1, Math.floor(t4 * n)))];
18346
+ };
18347
+ }
18348
+ function hue(a2, b2) {
18349
+ var i = hue$1(+a2, +b2);
18350
+ return function(t4) {
18351
+ var x2 = i(t4);
18352
+ return x2 - 360 * Math.floor(x2 / 360);
18353
+ };
18354
+ }
18355
+ function interpolateRound(a2, b2) {
18356
+ return a2 = +a2, b2 = +b2, function(t4) {
18357
+ return Math.round(a2 * (1 - t4) + b2 * t4);
18358
+ };
18359
+ }
18360
+ var degrees$2 = 180 / Math.PI;
18361
+ var identity$1 = {
18362
+ translateX: 0,
18363
+ translateY: 0,
18364
+ rotate: 0,
18365
+ skewX: 0,
18366
+ scaleX: 1,
18367
+ scaleY: 1
18368
+ };
18369
+ function decompose(a2, b2, c2, d, e3, f) {
18370
+ var scaleX, scaleY2, skewX;
18371
+ if (scaleX = Math.sqrt(a2 * a2 + b2 * b2))
18372
+ a2 /= scaleX, b2 /= scaleX;
18373
+ if (skewX = a2 * c2 + b2 * d)
18374
+ c2 -= a2 * skewX, d -= b2 * skewX;
18375
+ if (scaleY2 = Math.sqrt(c2 * c2 + d * d))
18376
+ c2 /= scaleY2, d /= scaleY2, skewX /= scaleY2;
18377
+ if (a2 * d < b2 * c2)
18378
+ a2 = -a2, b2 = -b2, skewX = -skewX, scaleX = -scaleX;
18379
+ return {
18380
+ translateX: e3,
18381
+ translateY: f,
18382
+ rotate: Math.atan2(b2, a2) * degrees$2,
18383
+ skewX: Math.atan(skewX) * degrees$2,
18384
+ scaleX,
18385
+ scaleY: scaleY2
18386
+ };
18387
+ }
18388
+ var svgNode;
18389
+ function parseCss(value2) {
18390
+ const m2 = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value2 + "");
18391
+ return m2.isIdentity ? identity$1 : decompose(m2.a, m2.b, m2.c, m2.d, m2.e, m2.f);
18392
+ }
18393
+ function parseSvg(value2) {
18394
+ if (value2 == null)
18395
+ return identity$1;
18396
+ if (!svgNode)
18397
+ svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g");
18398
+ svgNode.setAttribute("transform", value2);
18399
+ if (!(value2 = svgNode.transform.baseVal.consolidate()))
18400
+ return identity$1;
18401
+ value2 = value2.matrix;
18402
+ return decompose(value2.a, value2.b, value2.c, value2.d, value2.e, value2.f);
18403
+ }
18404
+ function interpolateTransform(parse2, pxComma, pxParen, degParen) {
18405
+ function pop(s) {
18406
+ return s.length ? s.pop() + " " : "";
18407
+ }
18408
+ function translate2(xa, ya, xb, yb, s, q) {
18409
+ if (xa !== xb || ya !== yb) {
18410
+ var i = s.push("translate(", null, pxComma, null, pxParen);
18411
+ q.push({ i: i - 4, x: number$4(xa, xb) }, { i: i - 2, x: number$4(ya, yb) });
18412
+ } else if (xb || yb) {
18413
+ s.push("translate(" + xb + pxComma + yb + pxParen);
18414
+ }
18415
+ }
18416
+ function rotate2(a2, b2, s, q) {
18417
+ if (a2 !== b2) {
18418
+ if (a2 - b2 > 180)
18419
+ b2 += 360;
18420
+ else if (b2 - a2 > 180)
18421
+ a2 += 360;
18422
+ q.push({ i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number$4(a2, b2) });
18423
+ } else if (b2) {
18424
+ s.push(pop(s) + "rotate(" + b2 + degParen);
18425
+ }
18426
+ }
18427
+ function skewX(a2, b2, s, q) {
18428
+ if (a2 !== b2) {
18429
+ q.push({ i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number$4(a2, b2) });
18430
+ } else if (b2) {
18431
+ s.push(pop(s) + "skewX(" + b2 + degParen);
18432
+ }
18433
+ }
18434
+ function scale2(xa, ya, xb, yb, s, q) {
18435
+ if (xa !== xb || ya !== yb) {
18436
+ var i = s.push(pop(s) + "scale(", null, ",", null, ")");
18437
+ q.push({ i: i - 4, x: number$4(xa, xb) }, { i: i - 2, x: number$4(ya, yb) });
18438
+ } else if (xb !== 1 || yb !== 1) {
18439
+ s.push(pop(s) + "scale(" + xb + "," + yb + ")");
18440
+ }
18441
+ }
18442
+ return function(a2, b2) {
18443
+ var s = [], q = [];
18444
+ a2 = parse2(a2), b2 = parse2(b2);
18445
+ translate2(a2.translateX, a2.translateY, b2.translateX, b2.translateY, s, q);
18446
+ rotate2(a2.rotate, b2.rotate, s, q);
18447
+ skewX(a2.skewX, b2.skewX, s, q);
18448
+ scale2(a2.scaleX, a2.scaleY, b2.scaleX, b2.scaleY, s, q);
18449
+ a2 = b2 = null;
18450
+ return function(t4) {
18451
+ var i = -1, n = q.length, o;
18452
+ while (++i < n)
18453
+ s[(o = q[i]).i] = o.x(t4);
18454
+ return s.join("");
18455
+ };
18456
+ };
18457
+ }
18458
+ var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)");
18459
+ var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")");
18460
+ var epsilon2$1 = 1e-12;
18461
+ function cosh(x2) {
18462
+ return ((x2 = Math.exp(x2)) + 1 / x2) / 2;
18463
+ }
18464
+ function sinh(x2) {
18465
+ return ((x2 = Math.exp(x2)) - 1 / x2) / 2;
18466
+ }
18467
+ function tanh(x2) {
18468
+ return ((x2 = Math.exp(2 * x2)) - 1) / (x2 + 1);
18469
+ }
18470
+ const zoom$1 = function zoomRho(rho, rho2, rho4) {
18471
+ function zoom2(p02, p1) {
18472
+ var ux0 = p02[0], uy0 = p02[1], w0 = p02[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;
18473
+ if (d2 < epsilon2$1) {
18474
+ S = Math.log(w1 / w0) / rho;
18475
+ i = function(t4) {
18476
+ return [
18477
+ ux0 + t4 * dx,
18478
+ uy0 + t4 * dy,
18479
+ w0 * Math.exp(rho * t4 * S)
18480
+ ];
18481
+ };
18482
+ } else {
18483
+ var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);
18484
+ S = (r1 - r0) / rho;
18485
+ i = function(t4) {
18486
+ var s = t4 * S, coshr0 = cosh(r0), u2 = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));
18487
+ return [
18488
+ ux0 + u2 * dx,
18489
+ uy0 + u2 * dy,
18490
+ w0 * coshr0 / cosh(rho * s + r0)
18491
+ ];
18492
+ };
18493
+ }
18494
+ i.duration = S * 1e3 * rho / Math.SQRT2;
18495
+ return i;
18496
+ }
18497
+ zoom2.rho = function(_) {
18498
+ var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;
18499
+ return zoomRho(_1, _2, _4);
18500
+ };
18501
+ return zoom2;
18502
+ }(Math.SQRT2, 2, 4);
18503
+ function hsl$1(hue2) {
18504
+ return function(start, end) {
18505
+ var h2 = hue2((start = hsl$3(start)).h, (end = hsl$3(end)).h), s = nogamma(start.s, end.s), l = nogamma(start.l, end.l), opacity2 = nogamma(start.opacity, end.opacity);
18506
+ return function(t4) {
18507
+ start.h = h2(t4);
18508
+ start.s = s(t4);
18509
+ start.l = l(t4);
18510
+ start.opacity = opacity2(t4);
18511
+ return start + "";
18512
+ };
18513
+ };
18514
+ }
18515
+ const hsl$2 = hsl$1(hue$1);
18516
+ var hslLong = hsl$1(nogamma);
18517
+ function lab$1(start, end) {
18518
+ var l = nogamma((start = lab$2(start)).l, (end = lab$2(end)).l), a2 = nogamma(start.a, end.a), b2 = nogamma(start.b, end.b), opacity2 = nogamma(start.opacity, end.opacity);
18519
+ return function(t4) {
18520
+ start.l = l(t4);
18521
+ start.a = a2(t4);
18522
+ start.b = b2(t4);
18523
+ start.opacity = opacity2(t4);
18524
+ return start + "";
18525
+ };
18526
+ }
18527
+ function hcl$1(hue2) {
18528
+ return function(start, end) {
18529
+ var h2 = hue2((start = hcl$3(start)).h, (end = hcl$3(end)).h), c2 = nogamma(start.c, end.c), l = nogamma(start.l, end.l), opacity2 = nogamma(start.opacity, end.opacity);
18530
+ return function(t4) {
18531
+ start.h = h2(t4);
18532
+ start.c = c2(t4);
18533
+ start.l = l(t4);
18534
+ start.opacity = opacity2(t4);
18535
+ return start + "";
18536
+ };
18537
+ };
18538
+ }
18539
+ const hcl$2 = hcl$1(hue$1);
18540
+ var hclLong = hcl$1(nogamma);
18541
+ function cubehelix(hue2) {
18542
+ return function cubehelixGamma(y2) {
18543
+ y2 = +y2;
18544
+ function cubehelix2(start, end) {
18545
+ var h2 = hue2((start = cubehelix$2(start)).h, (end = cubehelix$2(end)).h), s = nogamma(start.s, end.s), l = nogamma(start.l, end.l), opacity2 = nogamma(start.opacity, end.opacity);
18546
+ return function(t4) {
18547
+ start.h = h2(t4);
18548
+ start.s = s(t4);
18549
+ start.l = l(Math.pow(t4, y2));
18550
+ start.opacity = opacity2(t4);
18551
+ return start + "";
18552
+ };
18553
+ }
18554
+ cubehelix2.gamma = cubehelixGamma;
18555
+ return cubehelix2;
18556
+ }(1);
18557
+ }
18558
+ const cubehelix$1 = cubehelix(hue$1);
18559
+ var cubehelixLong = cubehelix(nogamma);
18560
+ function piecewise(interpolate2, values2) {
18561
+ if (values2 === void 0)
18562
+ values2 = interpolate2, interpolate2 = interpolate$1$1;
18563
+ var i = 0, n = values2.length - 1, v = values2[0], I = new Array(n < 0 ? 0 : n);
18564
+ while (i < n)
18565
+ I[i] = interpolate2(v, v = values2[++i]);
18566
+ return function(t4) {
18567
+ var i2 = Math.max(0, Math.min(n - 1, Math.floor(t4 *= n)));
18568
+ return I[i2](t4 - i2);
18569
+ };
18570
+ }
18571
+ function quantize$1(interpolator, n) {
18572
+ var samples = new Array(n);
18573
+ for (var i = 0; i < n; ++i)
18574
+ samples[i] = interpolator(i / (n - 1));
18575
+ return samples;
18576
+ }
18577
+ const $$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
18578
+ __proto__: null,
18579
+ interpolate: interpolate$1$1,
18580
+ interpolateArray: array$3,
18581
+ interpolateBasis: basis$1,
18582
+ interpolateBasisClosed: basisClosed,
18583
+ interpolateCubehelix: cubehelix$1,
18584
+ interpolateCubehelixLong: cubehelixLong,
18585
+ interpolateDate: date,
18586
+ interpolateDiscrete: discrete$1,
18587
+ interpolateHcl: hcl$2,
18588
+ interpolateHclLong: hclLong,
18589
+ interpolateHsl: hsl$2,
18590
+ interpolateHslLong: hslLong,
18591
+ interpolateHue: hue,
18592
+ interpolateLab: lab$1,
18593
+ interpolateNumber: number$4,
18594
+ interpolateNumberArray: numberArray,
18595
+ interpolateObject: object,
18596
+ interpolateRgb: rgb$1,
18597
+ interpolateRgbBasis: rgbBasis,
18598
+ interpolateRgbBasisClosed: rgbBasisClosed,
18599
+ interpolateRound,
18600
+ interpolateString: string,
18601
+ interpolateTransformCss,
18602
+ interpolateTransformSvg,
18603
+ interpolateZoom: zoom$1,
18604
+ piecewise,
18605
+ quantize: quantize$1
18606
+ }, Symbol.toStringTag, { value: "Module" }));
18434
18607
  function bandSpace(count2, paddingInner2, paddingOuter2) {
18435
18608
  const space = count2 - paddingInner2 + paddingOuter2 * 2;
18436
18609
  return count2 ? space > 0 ? space : 1 : 0;
@@ -18680,8 +18853,8 @@ function scale$4(type2, scale2, metadata2) {
18680
18853
  return isValidScaleType(type2) ? scales[type2] : void 0;
18681
18854
  }
18682
18855
  }
18683
- scale$4(Identity, identity$1);
18684
- scale$4(Linear, linear, Continuous);
18856
+ scale$4(Identity, identity$2);
18857
+ scale$4(Linear, linear$1, Continuous);
18685
18858
  scale$4(Log, log$2, [Continuous, Log]);
18686
18859
  scale$4(Pow, pow$2, Continuous);
18687
18860
  scale$4(Sqrt, sqrt$2, Continuous);
@@ -18700,7 +18873,7 @@ scale$4("".concat(Diverging, "-").concat(Pow), divergingPow, [Continuous, Interp
18700
18873
  scale$4("".concat(Diverging, "-").concat(Sqrt), divergingSqrt, [Continuous, Interpolating]);
18701
18874
  scale$4("".concat(Diverging, "-").concat(Symlog), divergingSymlog, [Continuous, Interpolating]);
18702
18875
  scale$4(Quantile, quantile, [Discretizing, Quantile]);
18703
- scale$4(Quantize, quantize$1, Discretizing);
18876
+ scale$4(Quantize, quantize$2, Discretizing);
18704
18877
  scale$4(Threshold, threshold, Discretizing);
18705
18878
  scale$4(BinOrdinal, scaleBinOrdinal, [Discrete$1, Discretizing]);
18706
18879
  scale$4(Ordinal, ordinal, Discrete$1);
@@ -18754,7 +18927,7 @@ function scaleFraction(scale$12, min2, max2) {
18754
18927
  const delta = max2 - min2;
18755
18928
  let i, t4, s;
18756
18929
  if (!delta || !Number.isFinite(delta)) {
18757
- return constant$4(0.5);
18930
+ return constant$5(0.5);
18758
18931
  } else {
18759
18932
  i = (t4 = scale$12.type).indexOf("-");
18760
18933
  t4 = i < 0 ? t4 : t4.slice(i + 1);
@@ -20338,14 +20511,14 @@ function gradient$2(context2, spec, bounds2) {
20338
20511
  }
20339
20512
  return addStops(gradient2, spec.stops);
20340
20513
  }
20341
- function color$2(context2, item, value2) {
20514
+ function color$3(context2, item, value2) {
20342
20515
  return isGradient(value2) ? gradient$2(context2, value2, item.bounds) : value2;
20343
20516
  }
20344
20517
  function fill(context2, item, opacity2) {
20345
20518
  opacity2 *= item.fillOpacity == null ? 1 : item.fillOpacity;
20346
20519
  if (opacity2 > 0) {
20347
20520
  context2.globalAlpha = opacity2;
20348
- context2.fillStyle = color$2(context2, item, item.fill);
20521
+ context2.fillStyle = color$3(context2, item, item.fill);
20349
20522
  return true;
20350
20523
  } else {
20351
20524
  return false;
@@ -20359,7 +20532,7 @@ function stroke(context2, item, opacity2) {
20359
20532
  opacity2 *= item.strokeOpacity == null ? 1 : item.strokeOpacity;
20360
20533
  if (opacity2 > 0) {
20361
20534
  context2.globalAlpha = opacity2;
20362
- context2.strokeStyle = color$2(context2, item, item.stroke);
20535
+ context2.strokeStyle = color$3(context2, item, item.stroke);
20363
20536
  context2.lineWidth = lw;
20364
20537
  context2.lineCap = item.strokeCap || "butt";
20365
20538
  context2.lineJoin = item.strokeJoin || "miter";
@@ -22825,7 +22998,7 @@ inherits(SVGStringRenderer, Renderer, {
22825
22998
  */
22826
22999
  _render(scene) {
22827
23000
  const m2 = markup();
22828
- m2.open("svg", extend$1({}, metadata, {
23001
+ m2.open("svg", extend$2({}, metadata, {
22829
23002
  class: "marks",
22830
23003
  width: this._width * this._scale,
22831
23004
  height: this._height * this._scale,
@@ -24359,7 +24532,7 @@ inherits(LegendEntries$1, Transform, {
24359
24532
  }
24360
24533
  offset2 = items.reduce((max2, value2) => Math.max(max2, size(value2, _)), 0);
24361
24534
  } else {
24362
- size = constant$4(offset2 = size || 8);
24535
+ size = constant$5(offset2 = size || 8);
24363
24536
  }
24364
24537
  items = items.map((value2, index2) => ingest$1({
24365
24538
  index: index2,
@@ -24542,7 +24715,7 @@ Pie.Definition = {
24542
24715
  };
24543
24716
  inherits(Pie, Transform, {
24544
24717
  transform(_, pulse2) {
24545
- var as = _.as || ["startAngle", "endAngle"], startAngle = as[0], endAngle = as[1], field2 = _.field || one$2, start = _.startAngle || 0, stop3 = _.endAngle != null ? _.endAngle : 2 * Math.PI, data2 = pulse2.source, values2 = data2.map(field2), n = values2.length, a2 = start, k = (stop3 - start) / sum$1(values2), index2 = range$5(n), i, t4, v;
24718
+ var as = _.as || ["startAngle", "endAngle"], startAngle = as[0], endAngle = as[1], field2 = _.field || one$3, start = _.startAngle || 0, stop3 = _.endAngle != null ? _.endAngle : 2 * Math.PI, data2 = pulse2.source, values2 = data2.map(field2), n = values2.length, a2 = start, k = (stop3 - start) / sum$1(values2), index2 = range$5(n), i, t4, v;
24546
24719
  if (_.sort) {
24547
24720
  index2.sort((a3, b2) => values2[a3] - values2[b2]);
24548
24721
  }
@@ -24789,7 +24962,7 @@ Stack.Definition = {
24789
24962
  };
24790
24963
  inherits(Stack, Transform, {
24791
24964
  transform(_, pulse2) {
24792
- var as = _.as || DefOutput, y02 = as[0], y12 = as[1], sort2 = stableCompare(_.sort), field2 = _.field || one$2, stack2 = _.offset === Center$1 ? stackCenter : _.offset === Normalize ? stackNormalize : stackZero, groups, i, n, max2;
24965
+ var as = _.as || DefOutput, y02 = as[0], y12 = as[1], sort2 = stableCompare(_.sort), field2 = _.field || one$3, stack2 = _.offset === Center$1 ? stackCenter : _.offset === Normalize ? stackNormalize : stackZero, groups, i, n, max2;
24793
24966
  groups = partition$3(pulse2.source, _.groupby, sort2, field2);
24794
24967
  for (i = 0, n = groups.length, max2 = groups.max; i < n; ++i) {
24795
24968
  stack2(groups[i], max2, field2, y02, y12);
@@ -24875,8 +25048,8 @@ var pi$1 = Math.PI;
24875
25048
  var halfPi$1 = pi$1 / 2;
24876
25049
  var quarterPi = pi$1 / 4;
24877
25050
  var tau$1 = pi$1 * 2;
24878
- var degrees = 180 / pi$1;
24879
- var radians = pi$1 / 180;
25051
+ var degrees$1 = 180 / pi$1;
25052
+ var radians$1 = pi$1 / 180;
24880
25053
  var abs$1 = Math.abs;
24881
25054
  var atan = Math.atan;
24882
25055
  var atan2 = Math.atan2;
@@ -25000,11 +25173,11 @@ function areaRingEnd$1() {
25000
25173
  function areaPointFirst$1(lambda, phi2) {
25001
25174
  areaStream$1.point = areaPoint$1;
25002
25175
  lambda00$2 = lambda, phi00$2 = phi2;
25003
- lambda *= radians, phi2 *= radians;
25176
+ lambda *= radians$1, phi2 *= radians$1;
25004
25177
  lambda0$1 = lambda, cosPhi0 = cos$1(phi2 = phi2 / 2 + quarterPi), sinPhi0 = sin$1(phi2);
25005
25178
  }
25006
25179
  function areaPoint$1(lambda, phi2) {
25007
- lambda *= radians, phi2 *= radians;
25180
+ lambda *= radians$1, phi2 *= radians$1;
25008
25181
  phi2 = phi2 / 2 + quarterPi;
25009
25182
  var dLambda = lambda - lambda0$1, sdLambda = dLambda >= 0 ? 1 : -1, adLambda = sdLambda * dLambda, cosPhi = cos$1(phi2), sinPhi = sin$1(phi2), k = sinPhi0 * sinPhi, u2 = cosPhi0 * cosPhi + k * cos$1(adLambda), v = k * sdLambda * sin$1(adLambda);
25010
25183
  areaRingSum$1.add(atan2(v, u2));
@@ -25075,18 +25248,18 @@ function boundsPoint$1(lambda, phi2) {
25075
25248
  phi1 = phi2;
25076
25249
  }
25077
25250
  function linePoint(lambda, phi2) {
25078
- var p = cartesian([lambda * radians, phi2 * radians]);
25251
+ var p = cartesian([lambda * radians$1, phi2 * radians$1]);
25079
25252
  if (p0) {
25080
25253
  var normal = cartesianCross(p0, p), equatorial = [normal[1], -normal[0], 0], inflection = cartesianCross(equatorial, normal);
25081
25254
  cartesianNormalizeInPlace(inflection);
25082
25255
  inflection = spherical(inflection);
25083
- var delta = lambda - lambda2, sign2 = delta > 0 ? 1 : -1, lambdai = inflection[0] * degrees * sign2, phii, antimeridian = abs$1(delta) > 180;
25256
+ var delta = lambda - lambda2, sign2 = delta > 0 ? 1 : -1, lambdai = inflection[0] * degrees$1 * sign2, phii, antimeridian = abs$1(delta) > 180;
25084
25257
  if (antimeridian ^ (sign2 * lambda2 < lambdai && lambdai < sign2 * lambda)) {
25085
- phii = inflection[1] * degrees;
25258
+ phii = inflection[1] * degrees$1;
25086
25259
  if (phii > phi1)
25087
25260
  phi1 = phii;
25088
25261
  } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign2 * lambda2 < lambdai && lambdai < sign2 * lambda)) {
25089
- phii = -inflection[1] * degrees;
25262
+ phii = -inflection[1] * degrees$1;
25090
25263
  if (phii < phi0)
25091
25264
  phi0 = phii;
25092
25265
  } else {
@@ -25209,7 +25382,7 @@ var centroidStream$1 = {
25209
25382
  }
25210
25383
  };
25211
25384
  function centroidPoint$1(lambda, phi2) {
25212
- lambda *= radians, phi2 *= radians;
25385
+ lambda *= radians$1, phi2 *= radians$1;
25213
25386
  var cosPhi = cos$1(phi2);
25214
25387
  centroidPointCartesian(cosPhi * cos$1(lambda), cosPhi * sin$1(lambda), sin$1(phi2));
25215
25388
  }
@@ -25223,7 +25396,7 @@ function centroidLineStart$1() {
25223
25396
  centroidStream$1.point = centroidLinePointFirst;
25224
25397
  }
25225
25398
  function centroidLinePointFirst(lambda, phi2) {
25226
- lambda *= radians, phi2 *= radians;
25399
+ lambda *= radians$1, phi2 *= radians$1;
25227
25400
  var cosPhi = cos$1(phi2);
25228
25401
  x0$4 = cosPhi * cos$1(lambda);
25229
25402
  y0$4 = cosPhi * sin$1(lambda);
@@ -25232,7 +25405,7 @@ function centroidLinePointFirst(lambda, phi2) {
25232
25405
  centroidPointCartesian(x0$4, y0$4, z0);
25233
25406
  }
25234
25407
  function centroidLinePoint(lambda, phi2) {
25235
- lambda *= radians, phi2 *= radians;
25408
+ lambda *= radians$1, phi2 *= radians$1;
25236
25409
  var cosPhi = cos$1(phi2), x2 = cosPhi * cos$1(lambda), y2 = cosPhi * sin$1(lambda), z = sin$1(phi2), w2 = atan2(sqrt$1((w2 = y0$4 * z - z0 * y2) * w2 + (w2 = z0 * x2 - x0$4 * z) * w2 + (w2 = x0$4 * y2 - y0$4 * x2) * w2), x0$4 * x2 + y0$4 * y2 + z0 * z);
25237
25410
  W1 += w2;
25238
25411
  X1$1 += w2 * (x0$4 + (x0$4 = x2));
@@ -25252,7 +25425,7 @@ function centroidRingEnd$1() {
25252
25425
  }
25253
25426
  function centroidRingPointFirst(lambda, phi2) {
25254
25427
  lambda00 = lambda, phi00 = phi2;
25255
- lambda *= radians, phi2 *= radians;
25428
+ lambda *= radians$1, phi2 *= radians$1;
25256
25429
  centroidStream$1.point = centroidRingPoint;
25257
25430
  var cosPhi = cos$1(phi2);
25258
25431
  x0$4 = cosPhi * cos$1(lambda);
@@ -25261,7 +25434,7 @@ function centroidRingPointFirst(lambda, phi2) {
25261
25434
  centroidPointCartesian(x0$4, y0$4, z0);
25262
25435
  }
25263
25436
  function centroidRingPoint(lambda, phi2) {
25264
- lambda *= radians, phi2 *= radians;
25437
+ lambda *= radians$1, phi2 *= radians$1;
25265
25438
  var cosPhi = cos$1(phi2), x2 = cosPhi * cos$1(lambda), y2 = cosPhi * sin$1(lambda), z = sin$1(phi2), cx = y0$4 * z - z0 * y2, cy = z0 * x2 - x0$4 * z, cz = x0$4 * y2 - y0$4 * x2, m2 = hypot(cx, cy, cz), w2 = asin$1(m2), v = m2 && -w2 / m2;
25266
25439
  X2$2.add(v * cx);
25267
25440
  Y2$2.add(v * cy);
@@ -25287,7 +25460,7 @@ function geoCentroid$1(object2) {
25287
25460
  if (m2 < epsilon2)
25288
25461
  return [NaN, NaN];
25289
25462
  }
25290
- return [atan2(y2, x2) * degrees, asin$1(z / m2) * degrees];
25463
+ return [atan2(y2, x2) * degrees$1, asin$1(z / m2) * degrees$1];
25291
25464
  }
25292
25465
  function compose(a2, b2) {
25293
25466
  function compose2(x2, y2) {
@@ -25335,14 +25508,14 @@ function rotationPhiGamma(deltaPhi, deltaGamma) {
25335
25508
  return rotation2;
25336
25509
  }
25337
25510
  function rotation(rotate2) {
25338
- rotate2 = rotateRadians(rotate2[0] * radians, rotate2[1] * radians, rotate2.length > 2 ? rotate2[2] * radians : 0);
25511
+ rotate2 = rotateRadians(rotate2[0] * radians$1, rotate2[1] * radians$1, rotate2.length > 2 ? rotate2[2] * radians$1 : 0);
25339
25512
  function forward(coordinates) {
25340
- coordinates = rotate2(coordinates[0] * radians, coordinates[1] * radians);
25341
- return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;
25513
+ coordinates = rotate2(coordinates[0] * radians$1, coordinates[1] * radians$1);
25514
+ return coordinates[0] *= degrees$1, coordinates[1] *= degrees$1, coordinates;
25342
25515
  }
25343
25516
  forward.invert = function(coordinates) {
25344
- coordinates = rotate2.invert(coordinates[0] * radians, coordinates[1] * radians);
25345
- return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;
25517
+ coordinates = rotate2.invert(coordinates[0] * radians$1, coordinates[1] * radians$1);
25518
+ return coordinates[0] *= degrees$1, coordinates[1] *= degrees$1, coordinates;
25346
25519
  };
25347
25520
  return forward;
25348
25521
  }
@@ -25688,7 +25861,7 @@ function clipAntimeridianInterpolate(from, to, direction, stream2) {
25688
25861
  }
25689
25862
  }
25690
25863
  function clipCircle(radius2) {
25691
- var cr2 = cos$1(radius2), delta = 6 * radians, smallRadius = cr2 > 0, notHemisphere = abs$1(cr2) > epsilon$3;
25864
+ var cr2 = cos$1(radius2), delta = 6 * radians$1, smallRadius = cr2 > 0, notHemisphere = abs$1(cr2) > epsilon$3;
25692
25865
  function interpolate2(from, to, direction, stream2) {
25693
25866
  circleStream(stream2, radius2, delta, direction, from, to);
25694
25867
  }
@@ -26461,7 +26634,7 @@ function fitHeight(projection2, height2, object2) {
26461
26634
  projection2.scale(150 * k).translate([x2, y2]);
26462
26635
  }, object2);
26463
26636
  }
26464
- var maxDepth = 16, cosMinDistance = cos$1(30 * radians);
26637
+ var maxDepth = 16, cosMinDistance = cos$1(30 * radians$1);
26465
26638
  function resample(project2, delta2) {
26466
26639
  return +delta2 ? resample$1(project2, delta2) : resampleNone(project2);
26467
26640
  }
@@ -26537,7 +26710,7 @@ function resample$1(project2, delta2) {
26537
26710
  }
26538
26711
  var transformRadians = transformer({
26539
26712
  point: function(x2, y2) {
26540
- this.stream.point(x2 * radians, y2 * radians);
26713
+ this.stream.point(x2 * radians$1, y2 * radians$1);
26541
26714
  }
26542
26715
  });
26543
26716
  function transformRotate(rotate2) {
@@ -26581,11 +26754,11 @@ function projection$1(project2) {
26581
26754
  function projectionMutator(projectAt) {
26582
26755
  var project2, k = 150, x2 = 480, y2 = 250, lambda = 0, phi2 = 0, deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate2, alpha = 0, sx = 1, sy = 1, theta = null, preclip = clipAntimeridian, x02 = null, y02, x12, y12, postclip = identity, delta2 = 0.5, projectResample, projectTransform, projectRotateTransform, cache2, cacheStream;
26583
26756
  function projection2(point2) {
26584
- return projectRotateTransform(point2[0] * radians, point2[1] * radians);
26757
+ return projectRotateTransform(point2[0] * radians$1, point2[1] * radians$1);
26585
26758
  }
26586
26759
  function invert2(point2) {
26587
26760
  point2 = projectRotateTransform.invert(point2[0], point2[1]);
26588
- return point2 && [point2[0] * degrees, point2[1] * degrees];
26761
+ return point2 && [point2[0] * degrees$1, point2[1] * degrees$1];
26589
26762
  }
26590
26763
  projection2.stream = function(stream2) {
26591
26764
  return cache2 && cacheStream === stream2 ? cache2 : cache2 = transformRadians(transformRotate(rotate2)(preclip(projectResample(postclip(cacheStream = stream2)))));
@@ -26597,7 +26770,7 @@ function projectionMutator(projectAt) {
26597
26770
  return arguments.length ? (postclip = _, x02 = y02 = x12 = y12 = null, reset3()) : postclip;
26598
26771
  };
26599
26772
  projection2.clipAngle = function(_) {
26600
- return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset3()) : theta * degrees;
26773
+ return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians$1) : (theta = null, clipAntimeridian), reset3()) : theta * degrees$1;
26601
26774
  };
26602
26775
  projection2.clipExtent = function(_) {
26603
26776
  return arguments.length ? (postclip = _ == null ? (x02 = y02 = x12 = y12 = null, identity) : clipRectangle(x02 = +_[0][0], y02 = +_[0][1], x12 = +_[1][0], y12 = +_[1][1]), reset3()) : x02 == null ? null : [[x02, y02], [x12, y12]];
@@ -26609,13 +26782,13 @@ function projectionMutator(projectAt) {
26609
26782
  return arguments.length ? (x2 = +_[0], y2 = +_[1], recenter()) : [x2, y2];
26610
26783
  };
26611
26784
  projection2.center = function(_) {
26612
- return arguments.length ? (lambda = _[0] % 360 * radians, phi2 = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi2 * degrees];
26785
+ return arguments.length ? (lambda = _[0] % 360 * radians$1, phi2 = _[1] % 360 * radians$1, recenter()) : [lambda * degrees$1, phi2 * degrees$1];
26613
26786
  };
26614
26787
  projection2.rotate = function(_) {
26615
- return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];
26788
+ return arguments.length ? (deltaLambda = _[0] % 360 * radians$1, deltaPhi = _[1] % 360 * radians$1, deltaGamma = _.length > 2 ? _[2] % 360 * radians$1 : 0, recenter()) : [deltaLambda * degrees$1, deltaPhi * degrees$1, deltaGamma * degrees$1];
26616
26789
  };
26617
26790
  projection2.angle = function(_) {
26618
- return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;
26791
+ return arguments.length ? (alpha = _ % 360 * radians$1, recenter()) : alpha * degrees$1;
26619
26792
  };
26620
26793
  projection2.reflectX = function(_) {
26621
26794
  return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;
@@ -26659,7 +26832,7 @@ function projectionMutator(projectAt) {
26659
26832
  function conicProjection(projectAt) {
26660
26833
  var phi02 = 0, phi12 = pi$1 / 3, m2 = projectionMutator(projectAt), p = m2(phi02, phi12);
26661
26834
  p.parallels = function(_) {
26662
- return arguments.length ? m2(phi02 = _[0] * radians, phi12 = _[1] * radians) : [phi02 * degrees, phi12 * degrees];
26835
+ return arguments.length ? m2(phi02 = _[0] * radians$1, phi12 = _[1] * radians$1) : [phi02 * degrees$1, phi12 * degrees$1];
26663
26836
  };
26664
26837
  return p;
26665
26838
  }
@@ -26987,7 +27160,7 @@ function geoIdentity() {
26987
27160
  return arguments.length ? (tx2 = +_[0], ty = +_[1], reset3()) : [tx2, ty];
26988
27161
  };
26989
27162
  projection2.angle = function(_) {
26990
- return arguments.length ? (alpha = _ % 360 * radians, sa2 = sin$1(alpha), ca = cos$1(alpha), reset3()) : alpha * degrees;
27163
+ return arguments.length ? (alpha = _ % 360 * radians$1, sa2 = sin$1(alpha), ca = cos$1(alpha), reset3()) : alpha * degrees$1;
26991
27164
  };
26992
27165
  projection2.reflectX = function(_) {
26993
27166
  return arguments.length ? (sx = _ ? -1 : 1, reset3()) : sx < 0;
@@ -27175,6 +27348,451 @@ const projections = {
27175
27348
  for (const key in projections) {
27176
27349
  projection(key, projections[key]);
27177
27350
  }
27351
+ function define(constructor, factory, prototype2) {
27352
+ constructor.prototype = factory.prototype = prototype2;
27353
+ prototype2.constructor = constructor;
27354
+ }
27355
+ function extend(parent, definition2) {
27356
+ var prototype2 = Object.create(parent.prototype);
27357
+ for (var key in definition2)
27358
+ prototype2[key] = definition2[key];
27359
+ return prototype2;
27360
+ }
27361
+ function Color() {
27362
+ }
27363
+ var darker = 0.7;
27364
+ var brighter = 1 / darker;
27365
+ var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`), reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`), reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`), reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`), reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`), reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`);
27366
+ var named = {
27367
+ aliceblue: 15792383,
27368
+ antiquewhite: 16444375,
27369
+ aqua: 65535,
27370
+ aquamarine: 8388564,
27371
+ azure: 15794175,
27372
+ beige: 16119260,
27373
+ bisque: 16770244,
27374
+ black: 0,
27375
+ blanchedalmond: 16772045,
27376
+ blue: 255,
27377
+ blueviolet: 9055202,
27378
+ brown: 10824234,
27379
+ burlywood: 14596231,
27380
+ cadetblue: 6266528,
27381
+ chartreuse: 8388352,
27382
+ chocolate: 13789470,
27383
+ coral: 16744272,
27384
+ cornflowerblue: 6591981,
27385
+ cornsilk: 16775388,
27386
+ crimson: 14423100,
27387
+ cyan: 65535,
27388
+ darkblue: 139,
27389
+ darkcyan: 35723,
27390
+ darkgoldenrod: 12092939,
27391
+ darkgray: 11119017,
27392
+ darkgreen: 25600,
27393
+ darkgrey: 11119017,
27394
+ darkkhaki: 12433259,
27395
+ darkmagenta: 9109643,
27396
+ darkolivegreen: 5597999,
27397
+ darkorange: 16747520,
27398
+ darkorchid: 10040012,
27399
+ darkred: 9109504,
27400
+ darksalmon: 15308410,
27401
+ darkseagreen: 9419919,
27402
+ darkslateblue: 4734347,
27403
+ darkslategray: 3100495,
27404
+ darkslategrey: 3100495,
27405
+ darkturquoise: 52945,
27406
+ darkviolet: 9699539,
27407
+ deeppink: 16716947,
27408
+ deepskyblue: 49151,
27409
+ dimgray: 6908265,
27410
+ dimgrey: 6908265,
27411
+ dodgerblue: 2003199,
27412
+ firebrick: 11674146,
27413
+ floralwhite: 16775920,
27414
+ forestgreen: 2263842,
27415
+ fuchsia: 16711935,
27416
+ gainsboro: 14474460,
27417
+ ghostwhite: 16316671,
27418
+ gold: 16766720,
27419
+ goldenrod: 14329120,
27420
+ gray: 8421504,
27421
+ green: 32768,
27422
+ greenyellow: 11403055,
27423
+ grey: 8421504,
27424
+ honeydew: 15794160,
27425
+ hotpink: 16738740,
27426
+ indianred: 13458524,
27427
+ indigo: 4915330,
27428
+ ivory: 16777200,
27429
+ khaki: 15787660,
27430
+ lavender: 15132410,
27431
+ lavenderblush: 16773365,
27432
+ lawngreen: 8190976,
27433
+ lemonchiffon: 16775885,
27434
+ lightblue: 11393254,
27435
+ lightcoral: 15761536,
27436
+ lightcyan: 14745599,
27437
+ lightgoldenrodyellow: 16448210,
27438
+ lightgray: 13882323,
27439
+ lightgreen: 9498256,
27440
+ lightgrey: 13882323,
27441
+ lightpink: 16758465,
27442
+ lightsalmon: 16752762,
27443
+ lightseagreen: 2142890,
27444
+ lightskyblue: 8900346,
27445
+ lightslategray: 7833753,
27446
+ lightslategrey: 7833753,
27447
+ lightsteelblue: 11584734,
27448
+ lightyellow: 16777184,
27449
+ lime: 65280,
27450
+ limegreen: 3329330,
27451
+ linen: 16445670,
27452
+ magenta: 16711935,
27453
+ maroon: 8388608,
27454
+ mediumaquamarine: 6737322,
27455
+ mediumblue: 205,
27456
+ mediumorchid: 12211667,
27457
+ mediumpurple: 9662683,
27458
+ mediumseagreen: 3978097,
27459
+ mediumslateblue: 8087790,
27460
+ mediumspringgreen: 64154,
27461
+ mediumturquoise: 4772300,
27462
+ mediumvioletred: 13047173,
27463
+ midnightblue: 1644912,
27464
+ mintcream: 16121850,
27465
+ mistyrose: 16770273,
27466
+ moccasin: 16770229,
27467
+ navajowhite: 16768685,
27468
+ navy: 128,
27469
+ oldlace: 16643558,
27470
+ olive: 8421376,
27471
+ olivedrab: 7048739,
27472
+ orange: 16753920,
27473
+ orangered: 16729344,
27474
+ orchid: 14315734,
27475
+ palegoldenrod: 15657130,
27476
+ palegreen: 10025880,
27477
+ paleturquoise: 11529966,
27478
+ palevioletred: 14381203,
27479
+ papayawhip: 16773077,
27480
+ peachpuff: 16767673,
27481
+ peru: 13468991,
27482
+ pink: 16761035,
27483
+ plum: 14524637,
27484
+ powderblue: 11591910,
27485
+ purple: 8388736,
27486
+ rebeccapurple: 6697881,
27487
+ red: 16711680,
27488
+ rosybrown: 12357519,
27489
+ royalblue: 4286945,
27490
+ saddlebrown: 9127187,
27491
+ salmon: 16416882,
27492
+ sandybrown: 16032864,
27493
+ seagreen: 3050327,
27494
+ seashell: 16774638,
27495
+ sienna: 10506797,
27496
+ silver: 12632256,
27497
+ skyblue: 8900331,
27498
+ slateblue: 6970061,
27499
+ slategray: 7372944,
27500
+ slategrey: 7372944,
27501
+ snow: 16775930,
27502
+ springgreen: 65407,
27503
+ steelblue: 4620980,
27504
+ tan: 13808780,
27505
+ teal: 32896,
27506
+ thistle: 14204888,
27507
+ tomato: 16737095,
27508
+ turquoise: 4251856,
27509
+ violet: 15631086,
27510
+ wheat: 16113331,
27511
+ white: 16777215,
27512
+ whitesmoke: 16119285,
27513
+ yellow: 16776960,
27514
+ yellowgreen: 10145074
27515
+ };
27516
+ define(Color, color$2, {
27517
+ copy(channels) {
27518
+ return Object.assign(new this.constructor(), this, channels);
27519
+ },
27520
+ displayable() {
27521
+ return this.rgb().displayable();
27522
+ },
27523
+ hex: color_formatHex,
27524
+ // Deprecated! Use color.formatHex.
27525
+ formatHex: color_formatHex,
27526
+ formatHex8: color_formatHex8,
27527
+ formatHsl: color_formatHsl,
27528
+ formatRgb: color_formatRgb,
27529
+ toString: color_formatRgb
27530
+ });
27531
+ function color_formatHex() {
27532
+ return this.rgb().formatHex();
27533
+ }
27534
+ function color_formatHex8() {
27535
+ return this.rgb().formatHex8();
27536
+ }
27537
+ function color_formatHsl() {
27538
+ return hslConvert(this).formatHsl();
27539
+ }
27540
+ function color_formatRgb() {
27541
+ return this.rgb().formatRgb();
27542
+ }
27543
+ function color$2(format2) {
27544
+ var m2, l;
27545
+ format2 = (format2 + "").trim().toLowerCase();
27546
+ return (m2 = reHex.exec(format2)) ? (l = m2[1].length, m2 = parseInt(m2[1], 16), l === 6 ? rgbn(m2) : l === 3 ? new Rgb(m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, (m2 & 15) << 4 | m2 & 15, 1) : l === 8 ? rgba(m2 >> 24 & 255, m2 >> 16 & 255, m2 >> 8 & 255, (m2 & 255) / 255) : l === 4 ? rgba(m2 >> 12 & 15 | m2 >> 8 & 240, m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, ((m2 & 15) << 4 | m2 & 15) / 255) : null) : (m2 = reRgbInteger.exec(format2)) ? new Rgb(m2[1], m2[2], m2[3], 1) : (m2 = reRgbPercent.exec(format2)) ? new Rgb(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, 1) : (m2 = reRgbaInteger.exec(format2)) ? rgba(m2[1], m2[2], m2[3], m2[4]) : (m2 = reRgbaPercent.exec(format2)) ? rgba(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, m2[4]) : (m2 = reHslPercent.exec(format2)) ? hsla(m2[1], m2[2] / 100, m2[3] / 100, 1) : (m2 = reHslaPercent.exec(format2)) ? hsla(m2[1], m2[2] / 100, m2[3] / 100, m2[4]) : named.hasOwnProperty(format2) ? rgbn(named[format2]) : format2 === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null;
27547
+ }
27548
+ function rgbn(n) {
27549
+ return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1);
27550
+ }
27551
+ function rgba(r3, g, b2, a2) {
27552
+ if (a2 <= 0)
27553
+ r3 = g = b2 = NaN;
27554
+ return new Rgb(r3, g, b2, a2);
27555
+ }
27556
+ function rgbConvert(o) {
27557
+ if (!(o instanceof Color))
27558
+ o = color$2(o);
27559
+ if (!o)
27560
+ return new Rgb();
27561
+ o = o.rgb();
27562
+ return new Rgb(o.r, o.g, o.b, o.opacity);
27563
+ }
27564
+ function rgb(r3, g, b2, opacity2) {
27565
+ return arguments.length === 1 ? rgbConvert(r3) : new Rgb(r3, g, b2, opacity2 == null ? 1 : opacity2);
27566
+ }
27567
+ function Rgb(r3, g, b2, opacity2) {
27568
+ this.r = +r3;
27569
+ this.g = +g;
27570
+ this.b = +b2;
27571
+ this.opacity = +opacity2;
27572
+ }
27573
+ define(Rgb, rgb, extend(Color, {
27574
+ brighter(k) {
27575
+ k = k == null ? brighter : Math.pow(brighter, k);
27576
+ return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
27577
+ },
27578
+ darker(k) {
27579
+ k = k == null ? darker : Math.pow(darker, k);
27580
+ return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
27581
+ },
27582
+ rgb() {
27583
+ return this;
27584
+ },
27585
+ clamp() {
27586
+ return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));
27587
+ },
27588
+ displayable() {
27589
+ return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1);
27590
+ },
27591
+ hex: rgb_formatHex,
27592
+ // Deprecated! Use color.formatHex.
27593
+ formatHex: rgb_formatHex,
27594
+ formatHex8: rgb_formatHex8,
27595
+ formatRgb: rgb_formatRgb,
27596
+ toString: rgb_formatRgb
27597
+ }));
27598
+ function rgb_formatHex() {
27599
+ return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;
27600
+ }
27601
+ function rgb_formatHex8() {
27602
+ return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
27603
+ }
27604
+ function rgb_formatRgb() {
27605
+ const a2 = clampa(this.opacity);
27606
+ return `${a2 === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a2 === 1 ? ")" : `, ${a2})`}`;
27607
+ }
27608
+ function clampa(opacity2) {
27609
+ return isNaN(opacity2) ? 1 : Math.max(0, Math.min(1, opacity2));
27610
+ }
27611
+ function clampi(value2) {
27612
+ return Math.max(0, Math.min(255, Math.round(value2) || 0));
27613
+ }
27614
+ function hex(value2) {
27615
+ value2 = clampi(value2);
27616
+ return (value2 < 16 ? "0" : "") + value2.toString(16);
27617
+ }
27618
+ function hsla(h2, s, l, a2) {
27619
+ if (a2 <= 0)
27620
+ h2 = s = l = NaN;
27621
+ else if (l <= 0 || l >= 1)
27622
+ h2 = s = NaN;
27623
+ else if (s <= 0)
27624
+ h2 = NaN;
27625
+ return new Hsl(h2, s, l, a2);
27626
+ }
27627
+ function hslConvert(o) {
27628
+ if (o instanceof Hsl)
27629
+ return new Hsl(o.h, o.s, o.l, o.opacity);
27630
+ if (!(o instanceof Color))
27631
+ o = color$2(o);
27632
+ if (!o)
27633
+ return new Hsl();
27634
+ if (o instanceof Hsl)
27635
+ return o;
27636
+ o = o.rgb();
27637
+ var r3 = o.r / 255, g = o.g / 255, b2 = o.b / 255, min2 = Math.min(r3, g, b2), max2 = Math.max(r3, g, b2), h2 = NaN, s = max2 - min2, l = (max2 + min2) / 2;
27638
+ if (s) {
27639
+ if (r3 === max2)
27640
+ h2 = (g - b2) / s + (g < b2) * 6;
27641
+ else if (g === max2)
27642
+ h2 = (b2 - r3) / s + 2;
27643
+ else
27644
+ h2 = (r3 - g) / s + 4;
27645
+ s /= l < 0.5 ? max2 + min2 : 2 - max2 - min2;
27646
+ h2 *= 60;
27647
+ } else {
27648
+ s = l > 0 && l < 1 ? 0 : h2;
27649
+ }
27650
+ return new Hsl(h2, s, l, o.opacity);
27651
+ }
27652
+ function hsl(h2, s, l, opacity2) {
27653
+ return arguments.length === 1 ? hslConvert(h2) : new Hsl(h2, s, l, opacity2 == null ? 1 : opacity2);
27654
+ }
27655
+ function Hsl(h2, s, l, opacity2) {
27656
+ this.h = +h2;
27657
+ this.s = +s;
27658
+ this.l = +l;
27659
+ this.opacity = +opacity2;
27660
+ }
27661
+ define(Hsl, hsl, extend(Color, {
27662
+ brighter(k) {
27663
+ k = k == null ? brighter : Math.pow(brighter, k);
27664
+ return new Hsl(this.h, this.s, this.l * k, this.opacity);
27665
+ },
27666
+ darker(k) {
27667
+ k = k == null ? darker : Math.pow(darker, k);
27668
+ return new Hsl(this.h, this.s, this.l * k, this.opacity);
27669
+ },
27670
+ rgb() {
27671
+ var h2 = this.h % 360 + (this.h < 0) * 360, s = isNaN(h2) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s, m1 = 2 * l - m2;
27672
+ return new Rgb(
27673
+ hsl2rgb(h2 >= 240 ? h2 - 240 : h2 + 120, m1, m2),
27674
+ hsl2rgb(h2, m1, m2),
27675
+ hsl2rgb(h2 < 120 ? h2 + 240 : h2 - 120, m1, m2),
27676
+ this.opacity
27677
+ );
27678
+ },
27679
+ clamp() {
27680
+ return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));
27681
+ },
27682
+ displayable() {
27683
+ return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1);
27684
+ },
27685
+ formatHsl() {
27686
+ const a2 = clampa(this.opacity);
27687
+ return `${a2 === 1 ? "hsl(" : "hsla("}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a2 === 1 ? ")" : `, ${a2})`}`;
27688
+ }
27689
+ }));
27690
+ function clamph(value2) {
27691
+ value2 = (value2 || 0) % 360;
27692
+ return value2 < 0 ? value2 + 360 : value2;
27693
+ }
27694
+ function clampt(value2) {
27695
+ return Math.max(0, Math.min(1, value2 || 0));
27696
+ }
27697
+ function hsl2rgb(h2, m1, m2) {
27698
+ return (h2 < 60 ? m1 + (m2 - m1) * h2 / 60 : h2 < 180 ? m2 : h2 < 240 ? m1 + (m2 - m1) * (240 - h2) / 60 : m1) * 255;
27699
+ }
27700
+ const radians = Math.PI / 180;
27701
+ const degrees = 180 / Math.PI;
27702
+ const K = 18, Xn = 0.96422, Yn = 1, Zn = 0.82521, t0 = 4 / 29, t1 = 6 / 29, t2 = 3 * t1 * t1, t3 = t1 * t1 * t1;
27703
+ function labConvert(o) {
27704
+ if (o instanceof Lab)
27705
+ return new Lab(o.l, o.a, o.b, o.opacity);
27706
+ if (o instanceof Hcl)
27707
+ return hcl2lab(o);
27708
+ if (!(o instanceof Rgb))
27709
+ o = rgbConvert(o);
27710
+ var r3 = rgb2lrgb(o.r), g = rgb2lrgb(o.g), b2 = rgb2lrgb(o.b), y2 = xyz2lab((0.2225045 * r3 + 0.7168786 * g + 0.0606169 * b2) / Yn), x2, z;
27711
+ if (r3 === g && g === b2)
27712
+ x2 = z = y2;
27713
+ else {
27714
+ x2 = xyz2lab((0.4360747 * r3 + 0.3850649 * g + 0.1430804 * b2) / Xn);
27715
+ z = xyz2lab((0.0139322 * r3 + 0.0971045 * g + 0.7141733 * b2) / Zn);
27716
+ }
27717
+ return new Lab(116 * y2 - 16, 500 * (x2 - y2), 200 * (y2 - z), o.opacity);
27718
+ }
27719
+ function lab(l, a2, b2, opacity2) {
27720
+ return arguments.length === 1 ? labConvert(l) : new Lab(l, a2, b2, opacity2 == null ? 1 : opacity2);
27721
+ }
27722
+ function Lab(l, a2, b2, opacity2) {
27723
+ this.l = +l;
27724
+ this.a = +a2;
27725
+ this.b = +b2;
27726
+ this.opacity = +opacity2;
27727
+ }
27728
+ define(Lab, lab, extend(Color, {
27729
+ brighter(k) {
27730
+ return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);
27731
+ },
27732
+ darker(k) {
27733
+ return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);
27734
+ },
27735
+ rgb() {
27736
+ var y2 = (this.l + 16) / 116, x2 = isNaN(this.a) ? y2 : y2 + this.a / 500, z = isNaN(this.b) ? y2 : y2 - this.b / 200;
27737
+ x2 = Xn * lab2xyz(x2);
27738
+ y2 = Yn * lab2xyz(y2);
27739
+ z = Zn * lab2xyz(z);
27740
+ return new Rgb(
27741
+ lrgb2rgb(3.1338561 * x2 - 1.6168667 * y2 - 0.4906146 * z),
27742
+ lrgb2rgb(-0.9787684 * x2 + 1.9161415 * y2 + 0.033454 * z),
27743
+ lrgb2rgb(0.0719453 * x2 - 0.2289914 * y2 + 1.4052427 * z),
27744
+ this.opacity
27745
+ );
27746
+ }
27747
+ }));
27748
+ function xyz2lab(t4) {
27749
+ return t4 > t3 ? Math.pow(t4, 1 / 3) : t4 / t2 + t0;
27750
+ }
27751
+ function lab2xyz(t4) {
27752
+ return t4 > t1 ? t4 * t4 * t4 : t2 * (t4 - t0);
27753
+ }
27754
+ function lrgb2rgb(x2) {
27755
+ return 255 * (x2 <= 31308e-7 ? 12.92 * x2 : 1.055 * Math.pow(x2, 1 / 2.4) - 0.055);
27756
+ }
27757
+ function rgb2lrgb(x2) {
27758
+ return (x2 /= 255) <= 0.04045 ? x2 / 12.92 : Math.pow((x2 + 0.055) / 1.055, 2.4);
27759
+ }
27760
+ function hclConvert(o) {
27761
+ if (o instanceof Hcl)
27762
+ return new Hcl(o.h, o.c, o.l, o.opacity);
27763
+ if (!(o instanceof Lab))
27764
+ o = labConvert(o);
27765
+ if (o.a === 0 && o.b === 0)
27766
+ return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);
27767
+ var h2 = Math.atan2(o.b, o.a) * degrees;
27768
+ return new Hcl(h2 < 0 ? h2 + 360 : h2, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);
27769
+ }
27770
+ function hcl(h2, c2, l, opacity2) {
27771
+ return arguments.length === 1 ? hclConvert(h2) : new Hcl(h2, c2, l, opacity2 == null ? 1 : opacity2);
27772
+ }
27773
+ function Hcl(h2, c2, l, opacity2) {
27774
+ this.h = +h2;
27775
+ this.c = +c2;
27776
+ this.l = +l;
27777
+ this.opacity = +opacity2;
27778
+ }
27779
+ function hcl2lab(o) {
27780
+ if (isNaN(o.h))
27781
+ return new Lab(o.l, 0, 0, o.opacity);
27782
+ var h2 = o.h * radians;
27783
+ return new Lab(o.l, Math.cos(h2) * o.c, Math.sin(h2) * o.c, o.opacity);
27784
+ }
27785
+ define(Hcl, hcl, extend(Color, {
27786
+ brighter(k) {
27787
+ return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);
27788
+ },
27789
+ darker(k) {
27790
+ return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);
27791
+ },
27792
+ rgb() {
27793
+ return hcl2lab(this).rgb();
27794
+ }
27795
+ }));
27178
27796
  function noop$1() {
27179
27797
  }
27180
27798
  const cases = [[], [[[1, 1.5], [0.5, 1]]], [[[1.5, 1], [1, 1.5]]], [[[1.5, 1], [0.5, 1]]], [[[1, 0.5], [1.5, 1]]], [[[1, 1.5], [0.5, 1]], [[1, 0.5], [1.5, 1]]], [[[1, 0.5], [1, 1.5]]], [[[1, 0.5], [0.5, 1]]], [[[0.5, 1], [1, 0.5]]], [[[1, 1.5], [1, 0.5]]], [[[0.5, 1], [1, 0.5]], [[1.5, 1], [1, 1.5]]], [[[1.5, 1], [1, 0.5]]], [[[0.5, 1], [1.5, 1]]], [[[1, 1.5], [1.5, 1]]], [[[0.5, 1], [1, 1.5]]], []];
@@ -27467,10 +28085,10 @@ function radius(bw, data2, f) {
27467
28085
  return Math.round((Math.sqrt(4 * v * v + 1) - 1) / 2);
27468
28086
  }
27469
28087
  function number$2(_) {
27470
- return isFunction$1(_) ? _ : constant$4(+_);
28088
+ return isFunction$1(_) ? _ : constant$5(+_);
27471
28089
  }
27472
28090
  function density2D() {
27473
- var x2 = (d) => d[0], y2 = (d) => d[1], weight = one$2, bandwidth2 = [-1, -1], dx = 960, dy = 500, k = 2;
28091
+ var x2 = (d) => d[0], y2 = (d) => d[1], weight = one$3, bandwidth2 = [-1, -1], dx = 960, dy = 500, k = 2;
27474
28092
  function density(data2, counts) {
27475
28093
  const rx = radius(bandwidth2[0], data2, x2) >> k, ry = radius(bandwidth2[1], data2, y2) >> k, ox = rx ? rx + 2 : 0, oy = ry ? ry + 2 : 0, n = 2 * ox + (dx >> k), m2 = 2 * oy + (dy >> k), values0 = new Float32Array(n * m2), values1 = new Float32Array(n * m2);
27476
28094
  let values2 = values0;
@@ -28067,10 +28685,10 @@ inherits(Heatmap, Transform, {
28067
28685
  };
28068
28686
  source2.forEach((t4) => {
28069
28687
  const v = field2(t4);
28070
- const o = extend$1({}, t4, obj);
28688
+ const o = extend$2({}, t4, obj);
28071
28689
  if (!shared)
28072
28690
  o.$max = max$2(v.values || []);
28073
- t4[as] = toCanvas(v, o, color2.dep ? color2 : constant$4(color2(o)), opacity2.dep ? opacity2 : constant$4(opacity2(o)));
28691
+ t4[as] = toCanvas(v, o, color2.dep ? color2 : constant$5(color2(o)), opacity2.dep ? opacity2 : constant$5(opacity2(o)));
28074
28692
  });
28075
28693
  return pulse2.reflow(true).modifies(as);
28076
28694
  }
@@ -28078,10 +28696,10 @@ inherits(Heatmap, Transform, {
28078
28696
  function color_(color2, _) {
28079
28697
  let f;
28080
28698
  if (isFunction$1(color2)) {
28081
- f = (obj) => rgb$1(color2(obj, _));
28699
+ f = (obj) => rgb(color2(obj, _));
28082
28700
  f.dep = dependency(color2);
28083
28701
  } else {
28084
- f = constant$4(rgb$1(color2 || "#888"));
28702
+ f = constant$5(rgb(color2 || "#888"));
28085
28703
  }
28086
28704
  return f;
28087
28705
  }
@@ -28091,7 +28709,7 @@ function opacity_(opacity2, _) {
28091
28709
  f = (obj) => opacity2(obj, _);
28092
28710
  f.dep = dependency(opacity2);
28093
28711
  } else if (opacity2) {
28094
- f = constant$4(opacity2);
28712
+ f = constant$5(opacity2);
28095
28713
  } else {
28096
28714
  f = (obj) => obj.$value / obj.$max || 0;
28097
28715
  f.dep = true;
@@ -28105,7 +28723,7 @@ function dependency(f) {
28105
28723
  return set3.$x || set3.$y || set3.$value || set3.$max;
28106
28724
  }
28107
28725
  function toCanvas(grid, obj, color2, opacity2) {
28108
- const n = grid.width, m2 = grid.height, x12 = grid.x1 || 0, y12 = grid.y1 || 0, x2 = grid.x2 || n, y2 = grid.y2 || m2, val = grid.values, value2 = val ? (i) => val[i] : zero$4, can = domCanvas(x2 - x12, y2 - y12), ctx = can.getContext("2d"), img = ctx.getImageData(0, 0, x2 - x12, y2 - y12), pix = img.data;
28726
+ const n = grid.width, m2 = grid.height, x12 = grid.x1 || 0, y12 = grid.y1 || 0, x2 = grid.x2 || n, y2 = grid.y2 || m2, val = grid.values, value2 = val ? (i) => val[i] : zero$5, can = domCanvas(x2 - x12, y2 - y12), ctx = can.getContext("2d"), img = ctx.getImageData(0, 0, x2 - x12, y2 - y12), pix = img.data;
28109
28727
  for (let j = y12, k = 0; j < y2; ++j) {
28110
28728
  obj.$y = j - y12;
28111
28729
  for (let i = x12, r3 = j * n; i < x2; ++i, k += 4) {
@@ -30589,7 +31207,7 @@ inherits(HierarchyLayout, Transform, {
30589
31207
  root.sort(stableCompare(_.sort, (d) => d.data));
30590
31208
  setParams(layout, this.params, _);
30591
31209
  if (layout.separation) {
30592
- layout.separation(_.separation !== false ? defaultSeparation : one$2);
31210
+ layout.separation(_.separation !== false ? defaultSeparation : one$3);
30593
31211
  }
30594
31212
  try {
30595
31213
  this.value = layout(root);
@@ -31617,7 +32235,7 @@ inherits(Loess, Transform, {
31617
32235
  }
31618
32236
  });
31619
32237
  const Methods = {
31620
- linear: linear$2,
32238
+ linear: linear$3,
31621
32239
  log: log$3,
31622
32240
  exp: exp$1,
31623
32241
  pow: pow$3,
@@ -32360,7 +32978,7 @@ function defaultGetY(p) {
32360
32978
  return p[1];
32361
32979
  }
32362
32980
  const epsilon = 1e-6;
32363
- class Path {
32981
+ class Path2 {
32364
32982
  constructor() {
32365
32983
  this._x0 = this._y0 = // start of current subpath
32366
32984
  this._x1 = this._y1 = null;
@@ -32480,7 +33098,7 @@ let Voronoi$1 = class Voronoi {
32480
33098
  }
32481
33099
  }
32482
33100
  render(context2) {
32483
- const buffer = context2 == null ? context2 = new Path() : void 0;
33101
+ const buffer = context2 == null ? context2 = new Path2() : void 0;
32484
33102
  const { delaunay: { halfedges, inedges, hull }, circumcenters, vectors } = this;
32485
33103
  if (hull.length <= 1)
32486
33104
  return null;
@@ -32510,12 +33128,12 @@ let Voronoi$1 = class Voronoi {
32510
33128
  return buffer && buffer.value();
32511
33129
  }
32512
33130
  renderBounds(context2) {
32513
- const buffer = context2 == null ? context2 = new Path() : void 0;
33131
+ const buffer = context2 == null ? context2 = new Path2() : void 0;
32514
33132
  context2.rect(this.xmin, this.ymin, this.xmax - this.xmin, this.ymax - this.ymin);
32515
33133
  return buffer && buffer.value();
32516
33134
  }
32517
33135
  renderCell(i, context2) {
32518
- const buffer = context2 == null ? context2 = new Path() : void 0;
33136
+ const buffer = context2 == null ? context2 = new Path2() : void 0;
32519
33137
  const points2 = this._clip(i);
32520
33138
  if (points2 === null || !points2.length)
32521
33139
  return;
@@ -32912,7 +33530,7 @@ class Delaunay {
32912
33530
  return c2;
32913
33531
  }
32914
33532
  render(context2) {
32915
- const buffer = context2 == null ? context2 = new Path() : void 0;
33533
+ const buffer = context2 == null ? context2 = new Path2() : void 0;
32916
33534
  const { points: points2, halfedges, triangles } = this;
32917
33535
  for (let i = 0, n = halfedges.length; i < n; ++i) {
32918
33536
  const j = halfedges[i];
@@ -32930,7 +33548,7 @@ class Delaunay {
32930
33548
  if (r3 === void 0 && (!context2 || typeof context2.moveTo !== "function"))
32931
33549
  r3 = context2, context2 = null;
32932
33550
  r3 = r3 == void 0 ? 2 : +r3;
32933
- const buffer = context2 == null ? context2 = new Path() : void 0;
33551
+ const buffer = context2 == null ? context2 = new Path2() : void 0;
32934
33552
  const { points: points2 } = this;
32935
33553
  for (let i = 0, n = points2.length; i < n; i += 2) {
32936
33554
  const x2 = points2[i], y2 = points2[i + 1];
@@ -32940,7 +33558,7 @@ class Delaunay {
32940
33558
  return buffer && buffer.value();
32941
33559
  }
32942
33560
  renderHull(context2) {
32943
- const buffer = context2 == null ? context2 = new Path() : void 0;
33561
+ const buffer = context2 == null ? context2 = new Path2() : void 0;
32944
33562
  const { hull, points: points2 } = this;
32945
33563
  const h2 = hull[0] * 2, n = hull.length;
32946
33564
  context2.moveTo(points2[h2], points2[h2 + 1]);
@@ -32957,7 +33575,7 @@ class Delaunay {
32957
33575
  return polygon.value();
32958
33576
  }
32959
33577
  renderTriangle(i, context2) {
32960
- const buffer = context2 == null ? context2 = new Path() : void 0;
33578
+ const buffer = context2 == null ? context2 = new Path2() : void 0;
32961
33579
  const { points: points2, triangles } = this;
32962
33580
  const t02 = triangles[i *= 3] * 2;
32963
33581
  const t12 = triangles[i + 1] * 2;
@@ -33469,7 +34087,7 @@ inherits(Wordcloud, Transform, {
33469
34087
  return;
33470
34088
  const data2 = pulse2.materialize(pulse2.SOURCE).source, layout = this.value, as = _.as || Output;
33471
34089
  let fontSize2 = _.fontSize || 14, range2;
33472
- isFunction$1(fontSize2) ? range2 = _.fontSizeRange : fontSize2 = constant$4(fontSize2);
34090
+ isFunction$1(fontSize2) ? range2 = _.fontSizeRange : fontSize2 = constant$5(fontSize2);
33473
34091
  if (range2) {
33474
34092
  const fsize = fontSize2, sizeScale = scale$4("sqrt")().domain(extent(data2, fsize)).range(range2);
33475
34093
  fontSize2 = (x2) => sizeScale(fsize(x2));
@@ -35453,7 +36071,7 @@ function selectionIdTest(name2, datum2, op) {
35453
36071
  return true;
35454
36072
  }
35455
36073
  function selectionTuples(array2, base2) {
35456
- return array2.map((x2) => extend$1(base2.fields ? {
36074
+ return array2.map((x2) => extend$2(base2.fields ? {
35457
36075
  values: base2.fields.map((f) => (f.getter || (f.getter = field$1(f.field)))(x2.datum))
35458
36076
  } : {
35459
36077
  [SelectionId]: $selectionId(x2.datum)
@@ -35735,7 +36353,7 @@ function channel_luminance_value(channelValue) {
35735
36353
  return Math.pow((val + 0.055) / 1.055, 2.4);
35736
36354
  }
35737
36355
  function luminance(color2) {
35738
- const c2 = rgb$1(color2), r3 = channel_luminance_value(c2.r), g = channel_luminance_value(c2.g), b2 = channel_luminance_value(c2.b);
36356
+ const c2 = rgb(color2), r3 = channel_luminance_value(c2.r), g = channel_luminance_value(c2.g), b2 = channel_luminance_value(c2.b);
35739
36357
  return 0.2126 * r3 + 0.7152 * g + 0.0722 * b2;
35740
36358
  }
35741
36359
  function contrast(color1, color2) {
@@ -35745,7 +36363,7 @@ function contrast(color1, color2) {
35745
36363
  function merge() {
35746
36364
  const args = [].slice.call(arguments);
35747
36365
  args.unshift({});
35748
- return extend$1(...args);
36366
+ return extend$2(...args);
35749
36367
  }
35750
36368
  function equal$1(a2, b2) {
35751
36369
  return a2 === b2 || a2 !== a2 && b2 !== b2 ? true : isArray(a2) ? isArray(b2) && a2.length === b2.length ? equalArray(a2, b2) : false : isObject(a2) && isObject(b2) ? equalObject(a2, b2) : false;
@@ -36052,10 +36670,10 @@ const functionContext = {
36052
36670
  span,
36053
36671
  inrange,
36054
36672
  truncate: truncate$1,
36055
- rgb: rgb$1,
36056
- lab: lab$1,
36057
- hcl: hcl$2,
36058
- hsl: hsl$2,
36673
+ rgb,
36674
+ lab,
36675
+ hcl,
36676
+ hsl,
36059
36677
  luminance,
36060
36678
  contrast,
36061
36679
  sequence: range$5,
@@ -36128,7 +36746,7 @@ function buildFunctions(codegen2) {
36128
36746
  for (const name2 in functionContext) {
36129
36747
  fn[name2] = thisPrefix + name2;
36130
36748
  }
36131
- extend$1(fn, internalScaleFunctions(codegen2, functionContext, astVisitors));
36749
+ extend$2(fn, internalScaleFunctions(codegen2, functionContext, astVisitors));
36132
36750
  return fn;
36133
36751
  }
36134
36752
  function expressionFunction(name2, fn, visitor) {
@@ -36185,7 +36803,7 @@ function parser(expr2, scope) {
36185
36803
  }
36186
36804
  });
36187
36805
  return {
36188
- $expr: extend$1({
36806
+ $expr: extend$2({
36189
36807
  code: gen.code
36190
36808
  }, scope.options.ast ? {
36191
36809
  ast
@@ -36807,8 +37425,8 @@ function extension(view, item, point2) {
36807
37425
  return p;
36808
37426
  }
36809
37427
  return {
36810
- view: constant$4(view),
36811
- item: constant$4(item || {}),
37428
+ view: constant$5(view),
37429
+ item: constant$5(item || {}),
36812
37430
  group: group2,
36813
37431
  xy,
36814
37432
  x: (item2) => xy(item2)[0],
@@ -36819,7 +37437,7 @@ const VIEW$1 = "view", TIMER = "timer", WINDOW = "window", NO_TRAP = {
36819
37437
  trap: false
36820
37438
  };
36821
37439
  function initializeEventConfig(config) {
36822
- const events2 = extend$1({
37440
+ const events2 = extend$2({
36823
37441
  defaults: {}
36824
37442
  }, config);
36825
37443
  const unpack = (obj, keys2) => {
@@ -37375,7 +37993,7 @@ function View$1(spec, options) {
37375
37993
  if (options.logLevel != null)
37376
37994
  view.logLevel(options.logLevel);
37377
37995
  if (options.locale || spec.locale) {
37378
- const loc = extend$1({}, spec.locale, options.locale);
37996
+ const loc = extend$2({}, spec.locale, options.locale);
37379
37997
  view.locale(locale(loc.number, loc.time));
37380
37998
  }
37381
37999
  view._el = null;
@@ -37398,7 +38016,7 @@ function View$1(spec, options) {
37398
38016
  view._signals = ctx.signals;
37399
38017
  view._bind = (spec.bindings || []).map((_) => ({
37400
38018
  state: null,
37401
- param: extend$1({}, _)
38019
+ param: extend$2({}, _)
37402
38020
  }));
37403
38021
  if (ctx.root)
37404
38022
  ctx.root.set(root);
@@ -37823,7 +38441,7 @@ function parsePadding(spec) {
37823
38441
  right: number(spec.right)
37824
38442
  };
37825
38443
  }
37826
- const encoder = (_) => isObject(_) && !isArray(_) ? extend$1({}, _) : {
38444
+ const encoder = (_) => isObject(_) && !isArray(_) ? extend$2({}, _) : {
37827
38445
  value: _
37828
38446
  };
37829
38447
  function addEncode(object2, name2, value2, set3) {
@@ -37853,7 +38471,7 @@ function extendEncode(encode2, extra, skip) {
37853
38471
  for (const name2 in extra) {
37854
38472
  if (skip && has$4(skip, name2))
37855
38473
  continue;
37856
- encode2[name2] = extend$1(encode2[name2] || {}, extra[name2]);
38474
+ encode2[name2] = extend$2(encode2[name2] || {}, extra[name2]);
37857
38475
  }
37858
38476
  return encode2;
37859
38477
  }
@@ -37889,7 +38507,7 @@ function applyDefaults(encode2, type2, role, style2, config) {
37889
38507
  if (role == "legend" || String(role).startsWith("axis")) {
37890
38508
  role = null;
37891
38509
  }
37892
- props = role === FrameRole ? config.group : role === MarkRole ? extend$1({}, config.mark, config[type2]) : null;
38510
+ props = role === FrameRole ? config.group : role === MarkRole ? extend$2({}, config.mark, config[type2]) : null;
37893
38511
  for (key in props) {
37894
38512
  skip = has(key, encode2) || (key === "fill" || key === "stroke") && (has("fill", encode2) || has("stroke", encode2));
37895
38513
  if (!skip)
@@ -37903,7 +38521,7 @@ function applyDefaults(encode2, type2, role, style2, config) {
37903
38521
  }
37904
38522
  }
37905
38523
  });
37906
- encode2 = extend$1({}, encode2);
38524
+ encode2 = extend$2({}, encode2);
37907
38525
  for (key in defaults2) {
37908
38526
  props = defaults2[key];
37909
38527
  if (props.signal) {
@@ -37912,9 +38530,9 @@ function applyDefaults(encode2, type2, role, style2, config) {
37912
38530
  enter[key] = props;
37913
38531
  }
37914
38532
  }
37915
- encode2.enter = extend$1(enter, encode2.enter);
38533
+ encode2.enter = extend$2(enter, encode2.enter);
37916
38534
  if (update2)
37917
- encode2.update = extend$1(update2, encode2.update);
38535
+ encode2.update = extend$2(update2, encode2.update);
37918
38536
  return encode2;
37919
38537
  }
37920
38538
  function applyDefault(defaults2, key, value2) {
@@ -38060,7 +38678,7 @@ function expr(enc) {
38060
38678
  function parse$1(code, scope, params2, fields) {
38061
38679
  const expr2 = parser(code, scope);
38062
38680
  expr2.$fields.forEach((name2) => fields[name2] = 1);
38063
- extend$1(params2, expr2.$params);
38681
+ extend$2(params2, expr2.$params);
38064
38682
  return expr2.$expr;
38065
38683
  }
38066
38684
  const OUTER = "outer", OUTER_INVALID = ["value", "update", "init", "react", "bind"];
@@ -38273,7 +38891,7 @@ function parseUpdate(spec, scope, target2) {
38273
38891
  force: true
38274
38892
  };
38275
38893
  }
38276
- sources.forEach((source2) => scope.addUpdate(extend$1(streamSource(source2, scope), entry2)));
38894
+ sources.forEach((source2) => scope.addUpdate(extend$2(streamSource(source2, scope), entry2)));
38277
38895
  }
38278
38896
  function streamSource(stream2, scope) {
38279
38897
  return {
@@ -38520,7 +39138,7 @@ function parseScaleRange$1(spec, scope, params2) {
38520
39138
  return scope.signalRef(range2.signal);
38521
39139
  } else if (isString(range2)) {
38522
39140
  if (config && has$4(config, range2)) {
38523
- spec = extend$1({}, spec, {
39141
+ spec = extend$2({}, spec, {
38524
39142
  range: config[range2]
38525
39143
  });
38526
39144
  return parseScaleRange$1(spec, scope, params2);
@@ -38715,7 +39333,7 @@ function legendGradient(spec, scale2, config, userEncode) {
38715
39333
  width: encoder(width2),
38716
39334
  height: encoder(height2)
38717
39335
  },
38718
- update: extend$1({}, enter, {
39336
+ update: extend$2({}, enter, {
38719
39337
  opacity: one,
38720
39338
  fill: {
38721
39339
  gradient: scale2,
@@ -38763,7 +39381,7 @@ function legendGradientDiscrete(spec, scale2, config, userEncode, dataRef) {
38763
39381
  enter[vv] = encoder(thickness);
38764
39382
  const encode2 = {
38765
39383
  enter,
38766
- update: extend$1({}, enter, {
39384
+ update: extend$2({}, enter, {
38767
39385
  opacity: one
38768
39386
  }),
38769
39387
  exit: {
@@ -39195,7 +39813,7 @@ function parseSubParameter(def2, value2, scope) {
39195
39813
  }
39196
39814
  if (!pdef)
39197
39815
  error("Unsupported parameter: " + $(value2));
39198
- const params2 = extend$1(parseParameters(pdef, value2, scope), pdef.key);
39816
+ const params2 = extend$2(parseParameters(pdef, value2, scope), pdef.key);
39199
39817
  return ref(scope.add(Params(params2)));
39200
39818
  }
39201
39819
  const outerExpr = (_) => _ && _.expr;
@@ -39215,7 +39833,7 @@ function parseData$1(from, group2, scope) {
39215
39833
  dataRef = parent = getDataRef(facet, scope);
39216
39834
  } else {
39217
39835
  if (!from.data) {
39218
- op = parseTransform(extend$1({
39836
+ op = parseTransform(extend$2({
39219
39837
  type: "aggregate",
39220
39838
  groupby: array$5(facet.groupby)
39221
39839
  }, facet.aggregate), scope);
@@ -39668,7 +40286,7 @@ function parseTitle(spec, scope) {
39668
40286
  }
39669
40287
  function titleEncode(spec) {
39670
40288
  const encode2 = spec.encode;
39671
- return encode2 && encode2.title || extend$1({
40289
+ return encode2 && encode2.title || extend$2({
39672
40290
  name: spec.name,
39673
40291
  interactive: spec.interactive,
39674
40292
  style: spec.style
@@ -39911,7 +40529,7 @@ const ifEnc = (test2, a2, b2) => {
39911
40529
  signal: `${test2} ? (${a2}) : (${b2})`
39912
40530
  };
39913
40531
  } else {
39914
- return [extend$1({
40532
+ return [extend$2({
39915
40533
  test: test2
39916
40534
  }, a2)].concat(b2 || []);
39917
40535
  }
@@ -39991,7 +40609,7 @@ function axisConfig(spec, scope) {
39991
40609
  xy = orient2 === Top || orient2 === Bottom ? config.axisX : config.axisY;
39992
40610
  or2 = config["axis" + orient2[0].toUpperCase() + orient2.slice(1)];
39993
40611
  }
39994
- const result = xy || or2 || band2 ? extend$1({}, axis, xy, or2, band2) : axis;
40612
+ const result = xy || or2 || band2 ? extend$2({}, axis, xy, or2, band2) : axis;
39995
40613
  return result;
39996
40614
  }
39997
40615
  function axisDomain(spec, config, userEncode, dataRef) {
@@ -40084,7 +40702,7 @@ function axisGrid(spec, config, userEncode, dataRef, band2) {
40084
40702
  range: 1,
40085
40703
  mult: sign2,
40086
40704
  offset: offset2
40087
- } : extend$1(sz2, {
40705
+ } : extend$2(sz2, {
40088
40706
  mult: sign2,
40089
40707
  offset: offset2
40090
40708
  });
@@ -40110,7 +40728,7 @@ function offsetValue(offset2, sign2) {
40110
40728
  signal: `(${sign2.signal}) * (${offset2 || 0})`
40111
40729
  } : sign2 * (offset2 || 0);
40112
40730
  } else {
40113
- let entry2 = offset2 = extend$1({}, offset2);
40731
+ let entry2 = offset2 = extend$2({}, offset2);
40114
40732
  while (entry2.mult != null) {
40115
40733
  if (!isObject(entry2.mult)) {
40116
40734
  entry2.mult = isSignal(sign2) ? {
@@ -40118,7 +40736,7 @@ function offsetValue(offset2, sign2) {
40118
40736
  } : entry2.mult * sign2;
40119
40737
  return offset2;
40120
40738
  } else {
40121
- entry2 = entry2.mult = extend$1({}, entry2.mult);
40739
+ entry2 = entry2.mult = extend$2({}, entry2.mult);
40122
40740
  }
40123
40741
  }
40124
40742
  entry2.mult = sign2;
@@ -40277,7 +40895,7 @@ function axisTitle(spec, config, userEncode, dataRef) {
40277
40895
  signal: alignExpr$1
40278
40896
  }
40279
40897
  },
40280
- update: update2 = extend$1({}, enter, {
40898
+ update: update2 = extend$2({}, enter, {
40281
40899
  opacity: one,
40282
40900
  text: encoder(spec.title)
40283
40901
  }),
@@ -40487,7 +41105,7 @@ function collectSignals(spec, config) {
40487
41105
  const _ = (name2) => value(spec[name2], config[name2]), signals = [signalObject("background", _("background")), signalObject("autosize", parseAutosize(_("autosize"))), signalObject("padding", parsePadding(_("padding"))), signalObject("width", _("width") || 0), signalObject("height", _("height") || 0)], pre = signals.reduce((p, s) => (p[s.name] = s, p), {}), map2 = {};
40488
41106
  array$5(spec.signals).forEach((s) => {
40489
41107
  if (has$4(pre, s.name)) {
40490
- s = extend$1(pre[s.name], s);
41108
+ s = extend$2(pre[s.name], s);
40491
41109
  } else {
40492
41110
  signals.push(s);
40493
41111
  }
@@ -40765,7 +41383,7 @@ Scope.prototype = Subscope.prototype = {
40765
41383
  if (!this.bindings) {
40766
41384
  error("Nested signals do not support binding: " + $(name2));
40767
41385
  }
40768
- this.bindings.push(extend$1({
41386
+ this.bindings.push(extend$2({
40769
41387
  signal: name2
40770
41388
  }, bind2));
40771
41389
  },
@@ -41061,7 +41679,7 @@ function parse(spec, config, options) {
41061
41679
  return parseView(spec, new Scope(config, options)).toRuntime();
41062
41680
  }
41063
41681
  var version$4 = "5.22.1";
41064
- extend$1(transforms, tx, vtx, encode$1, geo, force, label, tree, reg, voronoi, wordcloud, xf);
41682
+ extend$2(transforms, tx, vtx, encode$1, geo, force, label, tree, reg, voronoi, wordcloud, xf);
41065
41683
  const vegaImport = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
41066
41684
  __proto__: null,
41067
41685
  Bounds,
@@ -41121,7 +41739,7 @@ const vegaImport = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
41121
41739
  clampRange,
41122
41740
  codegenExpression: codegen,
41123
41741
  compare: compare$9,
41124
- constant: constant$4,
41742
+ constant: constant$5,
41125
41743
  cumulativeLogNormal,
41126
41744
  cumulativeNormal,
41127
41745
  cumulativeUniform,
@@ -41139,7 +41757,7 @@ const vegaImport = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
41139
41757
  dotbin,
41140
41758
  error,
41141
41759
  expressionFunction,
41142
- extend: extend$1,
41760
+ extend: extend$2,
41143
41761
  extent,
41144
41762
  extentIndex,
41145
41763
  falsy,
@@ -41189,7 +41807,7 @@ const vegaImport = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
41189
41807
  merge: merge$3,
41190
41808
  mergeConfig,
41191
41809
  multiLineOffset,
41192
- one: one$2,
41810
+ one: one$3,
41193
41811
  pad: pad$2,
41194
41812
  panLinear,
41195
41813
  panLog,
@@ -41228,7 +41846,7 @@ const vegaImport = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
41228
41846
  randomUniform: uniform,
41229
41847
  read,
41230
41848
  regressionExp: exp$1,
41231
- regressionLinear: linear$2,
41849
+ regressionLinear: linear$3,
41232
41850
  regressionLoess: loess,
41233
41851
  regressionLog: log$3,
41234
41852
  regressionPoly: poly,
@@ -41289,7 +41907,7 @@ const vegaImport = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
41289
41907
  visitArray,
41290
41908
  week,
41291
41909
  writeConfig,
41292
- zero: zero$4,
41910
+ zero: zero$5,
41293
41911
  zoomLinear,
41294
41912
  zoomLog,
41295
41913
  zoomPow,
@@ -62398,6 +63016,10 @@ const VEGA_THEMES = {
62398
63016
  light: {
62399
63017
  // The default vega theme.
62400
63018
  background: null
63019
+ },
63020
+ light2: {
63021
+ // The default vega theme.
63022
+ background: null
62401
63023
  }
62402
63024
  };
62403
63025
  const DATASET_NAME = "table";