{"version":3,"file":"static/chunks/3818-90274452c7c7b3c4.js","mappings":"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","sources":["webpack://_N_E/./node_modules/d3-array/src/ascending.js","webpack://_N_E/./node_modules/d3-array/src/descending.js","webpack://_N_E/./node_modules/d3-array/src/bisector.js","webpack://_N_E/./node_modules/internmap/src/index.js","webpack://_N_E/./node_modules/d3-array/src/group.js","webpack://_N_E/./node_modules/d3-array/src/max.js","webpack://_N_E/./node_modules/d3-array/src/min.js","webpack://_N_E/./node_modules/d3-array/src/sum.js","webpack://_N_E/./node_modules/d3-array/src/index.js","webpack://_N_E/./node_modules/d3-axis/src/identity.js","webpack://_N_E/./node_modules/d3-axis/src/axis.js","webpack://_N_E/./node_modules/d3-axis/src/index.js","webpack://_N_E/./node_modules/d3-selection/src/selector.js","webpack://_N_E/./node_modules/d3-selection/src/selection/select.js","webpack://_N_E/./node_modules/d3-selection/src/array.js","webpack://_N_E/./node_modules/d3-selection/src/selectorAll.js","webpack://_N_E/./node_modules/d3-selection/src/selection/selectAll.js","webpack://_N_E/./node_modules/d3-selection/src/matcher.js","webpack://_N_E/./node_modules/d3-selection/src/selection/selectChild.js","webpack://_N_E/./node_modules/d3-selection/src/selection/selectChildren.js","webpack://_N_E/./node_modules/d3-selection/src/selection/filter.js","webpack://_N_E/./node_modules/d3-selection/src/selection/sparse.js","webpack://_N_E/./node_modules/d3-selection/src/selection/enter.js","webpack://_N_E/./node_modules/d3-selection/src/constant.js","webpack://_N_E/./node_modules/d3-selection/src/selection/data.js","webpack://_N_E/./node_modules/d3-selection/src/selection/exit.js","webpack://_N_E/./node_modules/d3-selection/src/selection/join.js","webpack://_N_E/./node_modules/d3-selection/src/selection/merge.js","webpack://_N_E/./node_modules/d3-selection/src/selection/order.js","webpack://_N_E/./node_modules/d3-selection/src/selection/sort.js","webpack://_N_E/./node_modules/d3-selection/src/selection/call.js","webpack://_N_E/./node_modules/d3-selection/src/selection/nodes.js","webpack://_N_E/./node_modules/d3-selection/src/selection/node.js","webpack://_N_E/./node_modules/d3-selection/src/selection/size.js","webpack://_N_E/./node_modules/d3-selection/src/selection/empty.js","webpack://_N_E/./node_modules/d3-selection/src/selection/each.js","webpack://_N_E/./node_modules/d3-selection/src/namespaces.js","webpack://_N_E/./node_modules/d3-selection/src/namespace.js","webpack://_N_E/./node_modules/d3-selection/src/selection/attr.js","webpack://_N_E/./node_modules/d3-selection/src/window.js","webpack://_N_E/./node_modules/d3-selection/src/selection/style.js","webpack://_N_E/./node_modules/d3-selection/src/selection/property.js","webpack://_N_E/./node_modules/d3-selection/src/selection/classed.js","webpack://_N_E/./node_modules/d3-selection/src/selection/text.js","webpack://_N_E/./node_modules/d3-selection/src/selection/html.js","webpack://_N_E/./node_modules/d3-selection/src/selection/raise.js","webpack://_N_E/./node_modules/d3-selection/src/selection/lower.js","webpack://_N_E/./node_modules/d3-selection/src/creator.js","webpack://_N_E/./node_modules/d3-selection/src/selection/append.js","webpack://_N_E/./node_modules/d3-selection/src/selection/insert.js","webpack://_N_E/./node_modules/d3-selection/src/selection/remove.js","webpack://_N_E/./node_modules/d3-selection/src/selection/clone.js","webpack://_N_E/./node_modules/d3-selection/src/selection/datum.js","webpack://_N_E/./node_modules/d3-selection/src/selection/on.js","webpack://_N_E/./node_modules/d3-selection/src/selection/dispatch.js","webpack://_N_E/./node_modules/d3-selection/src/selection/iterator.js","webpack://_N_E/./node_modules/d3-selection/src/selection/index.js","webpack://_N_E/./node_modules/d3-dispatch/src/dispatch.js","webpack://_N_E/./node_modules/d3-timer/src/timer.js","webpack://_N_E/./node_modules/d3-timer/src/timeout.js","webpack://_N_E/./node_modules/d3-transition/src/transition/schedule.js","webpack://_N_E/./node_modules/d3-transition/src/interrupt.js","webpack://_N_E/./node_modules/d3-transition/src/selection/interrupt.js","webpack://_N_E/./node_modules/d3-interpolate/src/number.js","webpack://_N_E/./node_modules/d3-interpolate/src/transform/decompose.js","webpack://_N_E/./node_modules/d3-interpolate/src/transform/parse.js","webpack://_N_E/./node_modules/d3-interpolate/src/transform/index.js","webpack://_N_E/./node_modules/d3-transition/src/transition/tween.js","webpack://_N_E/./node_modules/d3-color/src/define.js","webpack://_N_E/./node_modules/d3-color/src/color.js","webpack://_N_E/./node_modules/d3-interpolate/src/basis.js","webpack://_N_E/./node_modules/d3-interpolate/src/basisClosed.js","webpack://_N_E/./node_modules/d3-interpolate/src/constant.js","webpack://_N_E/./node_modules/d3-interpolate/src/color.js","webpack://_N_E/./node_modules/d3-interpolate/src/rgb.js","webpack://_N_E/./node_modules/d3-interpolate/src/string.js","webpack://_N_E/./node_modules/d3-transition/src/transition/interpolate.js","webpack://_N_E/./node_modules/d3-transition/src/transition/attr.js","webpack://_N_E/./node_modules/d3-transition/src/transition/attrTween.js","webpack://_N_E/./node_modules/d3-transition/src/transition/delay.js","webpack://_N_E/./node_modules/d3-transition/src/transition/duration.js","webpack://_N_E/./node_modules/d3-transition/src/transition/ease.js","webpack://_N_E/./node_modules/d3-transition/src/transition/easeVarying.js","webpack://_N_E/./node_modules/d3-transition/src/transition/filter.js","webpack://_N_E/./node_modules/d3-transition/src/transition/merge.js","webpack://_N_E/./node_modules/d3-transition/src/transition/on.js","webpack://_N_E/./node_modules/d3-transition/src/transition/remove.js","webpack://_N_E/./node_modules/d3-transition/src/transition/select.js","webpack://_N_E/./node_modules/d3-transition/src/transition/selectAll.js","webpack://_N_E/./node_modules/d3-transition/src/transition/selection.js","webpack://_N_E/./node_modules/d3-transition/src/transition/style.js","webpack://_N_E/./node_modules/d3-transition/src/transition/styleTween.js","webpack://_N_E/./node_modules/d3-transition/src/transition/text.js","webpack://_N_E/./node_modules/d3-transition/src/transition/textTween.js","webpack://_N_E/./node_modules/d3-transition/src/transition/transition.js","webpack://_N_E/./node_modules/d3-transition/src/transition/end.js","webpack://_N_E/./node_modules/d3-transition/src/transition/index.js","webpack://_N_E/./node_modules/d3-ease/src/cubic.js","webpack://_N_E/./node_modules/d3-transition/src/selection/transition.js","webpack://_N_E/./node_modules/d3-transition/src/selection/index.js","webpack://_N_E/./node_modules/d3-transition/src/index.js","webpack://_N_E/./node_modules/d3-brush/src/brush.js","webpack://_N_E/./node_modules/d3-brush/src/index.js","webpack://_N_E/./node_modules/d3-ease/src/linear.js","webpack://_N_E/./node_modules/d3-ease/src/back.js","webpack://_N_E/./node_modules/d3-ease/src/index.js","webpack://_N_E/./node_modules/d3-array/src/ticks.js","webpack://_N_E/./node_modules/d3-array/src/number.js","webpack://_N_E/./node_modules/d3-array/src/bisect.js","webpack://_N_E/./node_modules/d3-interpolate/src/array.js","webpack://_N_E/./node_modules/d3-interpolate/src/date.js","webpack://_N_E/./node_modules/d3-interpolate/src/object.js","webpack://_N_E/./node_modules/d3-interpolate/src/numberArray.js","webpack://_N_E/./node_modules/d3-interpolate/src/value.js","webpack://_N_E/./node_modules/d3-interpolate/src/round.js","webpack://_N_E/./node_modules/d3-scale/src/constant.js","webpack://_N_E/./node_modules/d3-scale/src/number.js","webpack://_N_E/./node_modules/d3-scale/src/continuous.js","webpack://_N_E/./node_modules/d3-scale/src/init.js","webpack://_N_E/./node_modules/d3-format/src/formatSpecifier.js","webpack://_N_E/./node_modules/d3-format/src/formatDecimal.js","webpack://_N_E/./node_modules/d3-format/src/exponent.js","webpack://_N_E/./node_modules/d3-format/src/precisionPrefix.js","webpack://_N_E/./node_modules/d3-format/src/formatGroup.js","webpack://_N_E/./node_modules/d3-format/src/formatNumerals.js","webpack://_N_E/./node_modules/d3-format/src/formatTrim.js","webpack://_N_E/./node_modules/d3-format/src/formatPrefixAuto.js","webpack://_N_E/./node_modules/d3-format/src/formatRounded.js","webpack://_N_E/./node_modules/d3-format/src/formatTypes.js","webpack://_N_E/./node_modules/d3-format/src/identity.js","webpack://_N_E/./node_modules/d3-format/src/locale.js","webpack://_N_E/./node_modules/d3-format/src/defaultLocale.js","webpack://_N_E/./node_modules/d3-format/src/precisionRound.js","webpack://_N_E/./node_modules/d3-format/src/precisionFixed.js","webpack://_N_E/./node_modules/d3-scale/src/tickFormat.js","webpack://_N_E/./node_modules/d3-scale/src/linear.js","webpack://_N_E/./node_modules/d3-time/src/duration.js","webpack://_N_E/./node_modules/d3-time/src/interval.js","webpack://_N_E/./node_modules/d3-time/src/millisecond.js","webpack://_N_E/./node_modules/d3-time/src/second.js","webpack://_N_E/./node_modules/d3-time/src/minute.js","webpack://_N_E/./node_modules/d3-time/src/hour.js","webpack://_N_E/./node_modules/d3-time/src/day.js","webpack://_N_E/./node_modules/d3-time/src/week.js","webpack://_N_E/./node_modules/d3-time/src/month.js","webpack://_N_E/./node_modules/d3-time/src/year.js","webpack://_N_E/./node_modules/d3-time/src/utcMinute.js","webpack://_N_E/./node_modules/d3-time/src/utcHour.js","webpack://_N_E/./node_modules/d3-time/src/utcDay.js","webpack://_N_E/./node_modules/d3-time/src/utcWeek.js","webpack://_N_E/./node_modules/d3-time/src/utcMonth.js","webpack://_N_E/./node_modules/d3-time/src/utcYear.js","webpack://_N_E/./node_modules/d3-time/src/ticks.js","webpack://_N_E/./node_modules/d3-time-format/src/locale.js","webpack://_N_E/./node_modules/d3-time-format/src/defaultLocale.js","webpack://_N_E/./node_modules/d3-scale/src/nice.js","webpack://_N_E/./node_modules/d3-scale/src/time.js","webpack://_N_E/./node_modules/d3-scale/src/index.js","webpack://_N_E/./node_modules/d3-selection/src/sourceEvent.js","webpack://_N_E/./node_modules/d3-selection/src/pointer.js","webpack://_N_E/./node_modules/d3-selection/src/pointers.js","webpack://_N_E/./node_modules/d3-selection/src/select.js","webpack://_N_E/./node_modules/d3-selection/src/index.js","webpack://_N_E/./node_modules/d3-path/src/path.js","webpack://_N_E/./node_modules/d3-shape/src/array.js","webpack://_N_E/./node_modules/d3-shape/src/constant.js","webpack://_N_E/./node_modules/d3-shape/src/curve/linear.js","webpack://_N_E/./node_modules/d3-shape/src/point.js","webpack://_N_E/./node_modules/d3-shape/src/line.js","webpack://_N_E/./node_modules/d3-shape/src/area.js","webpack://_N_E/./node_modules/d3-shape/src/curve/monotone.js","webpack://_N_E/./node_modules/d3-shape/src/index.js","webpack://_N_E/./node_modules/d3-time-format/src/index.js","webpack://_N_E/./node_modules/d3-zoom/src/transform.js","webpack://_N_E/./node_modules/d3-zoom/src/zoom.js","webpack://_N_E/./node_modules/d3-zoom/src/index.js","webpack://_N_E/./node_modules/d3/src/index.js","webpack://_N_E/"],"sourcesContent":["export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","import {InternMap} from \"internmap\";\nimport identity from \"./identity.js\";\n\nexport default function group(values, ...keys) {\n return nest(values, identity, identity, keys);\n}\n\nexport function groups(values, ...keys) {\n return nest(values, Array.from, identity, keys);\n}\n\nfunction flatten(groups, keys) {\n for (let i = 1, n = keys.length; i < n; ++i) {\n groups = groups.flatMap(g => g.pop().map(([key, value]) => [...g, key, value]));\n }\n return groups;\n}\n\nexport function flatGroup(values, ...keys) {\n return flatten(groups(values, ...keys), keys);\n}\n\nexport function flatRollup(values, reduce, ...keys) {\n return flatten(rollups(values, reduce, ...keys), keys);\n}\n\nexport function rollup(values, reduce, ...keys) {\n return nest(values, identity, reduce, keys);\n}\n\nexport function rollups(values, reduce, ...keys) {\n return nest(values, Array.from, reduce, keys);\n}\n\nexport function index(values, ...keys) {\n return nest(values, identity, unique, keys);\n}\n\nexport function indexes(values, ...keys) {\n return nest(values, Array.from, unique, keys);\n}\n\nfunction unique(values) {\n if (values.length !== 1) throw new Error(\"duplicate key\");\n return values[0];\n}\n\nfunction nest(values, map, reduce, keys) {\n return (function regroup(values, i) {\n if (i >= keys.length) return reduce(values);\n const groups = new InternMap();\n const keyof = keys[i++];\n let index = -1;\n for (const value of values) {\n const key = keyof(value, ++index, values);\n const group = groups.get(key);\n if (group) group.push(value);\n else groups.set(key, [value]);\n }\n for (const [key, values] of groups) {\n groups.set(key, regroup(values, i));\n }\n return map(groups);\n })(values, 0);\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n","export {default as bisect, bisectRight, bisectLeft, bisectCenter} from \"./bisect.js\";\nexport {default as ascending} from \"./ascending.js\";\nexport {default as bisector} from \"./bisector.js\";\nexport {blur, blur2, blurImage} from \"./blur.js\";\nexport {default as count} from \"./count.js\";\nexport {default as cross} from \"./cross.js\";\nexport {default as cumsum} from \"./cumsum.js\";\nexport {default as descending} from \"./descending.js\";\nexport {default as deviation} from \"./deviation.js\";\nexport {default as extent} from \"./extent.js\";\nexport {Adder, fsum, fcumsum} from \"./fsum.js\";\nexport {default as group, flatGroup, flatRollup, groups, index, indexes, rollup, rollups} from \"./group.js\";\nexport {default as groupSort} from \"./groupSort.js\";\nexport {default as bin, default as histogram} from \"./bin.js\"; // Deprecated; use bin.\nexport {default as thresholdFreedmanDiaconis} from \"./threshold/freedmanDiaconis.js\";\nexport {default as thresholdScott} from \"./threshold/scott.js\";\nexport {default as thresholdSturges} from \"./threshold/sturges.js\";\nexport {default as max} from \"./max.js\";\nexport {default as maxIndex} from \"./maxIndex.js\";\nexport {default as mean} from \"./mean.js\";\nexport {default as median, medianIndex} from \"./median.js\";\nexport {default as merge} from \"./merge.js\";\nexport {default as min} from \"./min.js\";\nexport {default as minIndex} from \"./minIndex.js\";\nexport {default as mode} from \"./mode.js\";\nexport {default as nice} from \"./nice.js\";\nexport {default as pairs} from \"./pairs.js\";\nexport {default as permute} from \"./permute.js\";\nexport {default as quantile, quantileIndex, quantileSorted} from \"./quantile.js\";\nexport {default as quickselect} from \"./quickselect.js\";\nexport {default as range} from \"./range.js\";\nexport {default as rank} from \"./rank.js\";\nexport {default as least} from \"./least.js\";\nexport {default as leastIndex} from \"./leastIndex.js\";\nexport {default as greatest} from \"./greatest.js\";\nexport {default as greatestIndex} from \"./greatestIndex.js\";\nexport {default as scan} from \"./scan.js\"; // Deprecated; use leastIndex.\nexport {default as shuffle, shuffler} from \"./shuffle.js\";\nexport {default as sum} from \"./sum.js\";\nexport {default as ticks, tickIncrement, tickStep} from \"./ticks.js\";\nexport {default as transpose} from \"./transpose.js\";\nexport {default as variance} from \"./variance.js\";\nexport {default as zip} from \"./zip.js\";\nexport {default as every} from \"./every.js\";\nexport {default as some} from \"./some.js\";\nexport {default as filter} from \"./filter.js\";\nexport {default as map} from \"./map.js\";\nexport {default as reduce} from \"./reduce.js\";\nexport {default as reverse} from \"./reverse.js\";\nexport {default as sort} from \"./sort.js\";\nexport {default as difference} from \"./difference.js\";\nexport {default as disjoint} from \"./disjoint.js\";\nexport {default as intersection} from \"./intersection.js\";\nexport {default as subset} from \"./subset.js\";\nexport {default as superset} from \"./superset.js\";\nexport {default as union} from \"./union.js\";\nexport {InternMap, InternSet} from \"internmap\";\n","export default function(x) {\n return x;\n}\n","import identity from \"./identity.js\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + x + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + y + \")\";\n}\n\nfunction number(scale) {\n return d => +scale(d);\n}\n\nfunction center(scale, offset) {\n offset = Math.max(0, scale.bandwidth() - offset * 2) / 2;\n if (scale.round()) offset = Math.round(offset);\n return d => +scale(d) + offset;\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n offset = typeof window !== \"undefined\" && window.devicePixelRatio > 1 ? 0 : 0.5,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + offset,\n range1 = +range[range.length - 1] + offset,\n position = (scale.bandwidth ? center : number)(scale.copy(), offset),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"currentColor\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"currentColor\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"currentColor\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient === right\n ? (tickSizeOuter ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H\" + offset + \"V\" + range1 + \"H\" + k * tickSizeOuter : \"M\" + offset + \",\" + range0 + \"V\" + range1)\n : (tickSizeOuter ? \"M\" + range0 + \",\" + k * tickSizeOuter + \"V\" + offset + \"H\" + range1 + \"V\" + k * tickSizeOuter : \"M\" + range0 + \",\" + offset + \"H\" + range1));\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d) + offset); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = Array.from(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : Array.from(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : Array.from(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n axis.offset = function(_) {\n return arguments.length ? (offset = +_, axis) : offset;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n","export {\n axisTop,\n axisRight,\n axisBottom,\n axisLeft\n} from \"./axis.js\";\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import \"./selection/index.js\";\nexport {default as transition} from \"./transition/index.js\";\nexport {default as active} from \"./active.js\";\nexport {default as interrupt} from \"./interrupt.js\";\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolate} from \"d3-interpolate\";\nimport {pointer, select} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\nvar MODE_DRAG = {name: \"drag\"},\n MODE_SPACE = {name: \"space\"},\n MODE_HANDLE = {name: \"handle\"},\n MODE_CENTER = {name: \"center\"};\n\nconst {abs, max, min} = Math;\n\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\n\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function(x, e) { return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; },\n output: function(xy) { return xy && [xy[0][0], xy[1][0]]; }\n};\n\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function(y, e) { return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; },\n output: function(xy) { return xy && [xy[0][1], xy[1][1]]; }\n};\n\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function(xy) { return xy == null ? null : number2(xy); },\n output: function(xy) { return xy; }\n};\n\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\n\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\n\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\n\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\n\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {type: t};\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0]\n || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\n\nexport function brushX() {\n return brush(X);\n}\n\nexport function brushY() {\n return brush(Y);\n}\n\nexport default function() {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group\n .property(\"__brush\", initialize)\n .selectAll(\".overlay\")\n .data([type(\"overlay\")]);\n\n overlay.enter().append(\"rect\")\n .attr(\"class\", \"overlay\")\n .attr(\"pointer-events\", \"all\")\n .attr(\"cursor\", cursors.overlay)\n .merge(overlay)\n .each(function() {\n var extent = local(this).extent;\n select(this)\n .attr(\"x\", extent[0][0])\n .attr(\"y\", extent[0][1])\n .attr(\"width\", extent[1][0] - extent[0][0])\n .attr(\"height\", extent[1][1] - extent[0][1]);\n });\n\n group.selectAll(\".selection\")\n .data([type(\"selection\")])\n .enter().append(\"rect\")\n .attr(\"class\", \"selection\")\n .attr(\"cursor\", cursors.selection)\n .attr(\"fill\", \"#777\")\n .attr(\"fill-opacity\", 0.3)\n .attr(\"stroke\", \"#fff\")\n .attr(\"shape-rendering\", \"crispEdges\");\n\n var handle = group.selectAll(\".handle\")\n .data(dim.handles, function(d) { return d.type; });\n\n handle.exit().remove();\n\n handle.enter().append(\"rect\")\n .attr(\"class\", function(d) { return \"handle handle--\" + d.type; })\n .attr(\"cursor\", function(d) { return cursors[d.type]; });\n\n group\n .each(redraw)\n .attr(\"fill\", \"none\")\n .attr(\"pointer-events\", \"all\")\n .on(\"mousedown.brush\", started)\n .filter(touchable)\n .on(\"touchstart.brush\", started)\n .on(\"touchmove.brush\", touchmoved)\n .on(\"touchend.brush touchcancel.brush\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n brush.move = function(group, selection, event) {\n if (group.tween) {\n group\n .on(\"start.brush\", function(event) { emitter(this, arguments).beforestart().start(event); })\n .on(\"interrupt.brush end.brush\", function(event) { emitter(this, arguments).end(event); })\n .tween(\"brush\", function() {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group\n .each(function() {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start(event).brush(event).end(event);\n });\n }\n };\n\n brush.clear = function(group, event) {\n brush.move(group, null, event);\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\")\n .style(\"display\", null)\n .attr(\"x\", selection[0][0])\n .attr(\"y\", selection[0][1])\n .attr(\"width\", selection[1][0] - selection[0][0])\n .attr(\"height\", selection[1][1] - selection[0][1]);\n\n group.selectAll(\".handle\")\n .style(\"display\", null)\n .attr(\"x\", function(d) { return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; })\n .attr(\"y\", function(d) { return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; })\n .attr(\"width\", function(d) { return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize; })\n .attr(\"height\", function(d) { return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize; });\n }\n\n else {\n group.selectAll(\".selection,.handle\")\n .style(\"display\", \"none\")\n .attr(\"x\", null)\n .attr(\"y\", null)\n .attr(\"width\", null)\n .attr(\"height\", null);\n }\n }\n\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n\n Emitter.prototype = {\n beforestart: function() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function(event, mode) {\n if (this.starting) this.starting = false, this.emit(\"start\", event, mode);\n else this.emit(\"brush\", event);\n return this;\n },\n brush: function(event, mode) {\n this.emit(\"brush\", event, mode);\n return this;\n },\n end: function(event, mode) {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n return this;\n },\n emit: function(type, event, mode) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new BrushEvent(type, {\n sourceEvent: event,\n target: brush,\n selection: dim.output(this.state.selection),\n mode,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function started(event) {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : (keys && event.altKey ? MODE_CENTER : MODE_HANDLE),\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0], w0, w1,\n N = extent[0][1], n0, n1,\n E = extent[1][0], e0, e1,\n S = extent[1][1], s0, s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n points = Array.from(event.touches || [event], t => {\n const i = t.identifier;\n t = pointer(t, that);\n t.point0 = t.slice();\n t.identifier = i;\n return t;\n });\n\n interrupt(that);\n var emit = emitter(that, arguments, true).beforestart();\n\n if (type === \"overlay\") {\n if (selection) moving = true;\n const pts = [points[0], points[1] || points[0]];\n state.selection = selection = [[\n w0 = dim === Y ? W : min(pts[0][0], pts[1][0]),\n n0 = dim === X ? N : min(pts[0][1], pts[1][1])\n ], [\n e0 = dim === Y ? E : max(pts[0][0], pts[1][0]),\n s0 = dim === X ? S : max(pts[0][1], pts[1][1])\n ]];\n if (points.length > 1) move(event);\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n\n var group = select(that)\n .attr(\"pointer-events\", \"none\");\n\n var overlay = group.selectAll(\".overlay\")\n .attr(\"cursor\", cursors[type]);\n\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view)\n .on(\"mousemove.brush\", moved, true)\n .on(\"mouseup.brush\", ended, true);\n if (keys) view\n .on(\"keydown.brush\", keydowned, true)\n .on(\"keyup.brush\", keyupped, true)\n\n dragDisable(event.view);\n }\n\n redraw.call(that);\n emit.start(event, mode.name);\n\n function moved(event) {\n for (const p of event.changedTouches || [event]) {\n for (const d of points)\n if (d.identifier === p.identifier) d.cur = pointer(p, that);\n }\n if (shifting && !lockX && !lockY && points.length === 1) {\n const point = points[0];\n if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1]))\n lockY = true;\n else\n lockX = true;\n }\n for (const point of points)\n if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1];\n moving = true;\n noevent(event);\n move(event);\n }\n\n function move(event) {\n const point = points[0], point0 = point.point0;\n var t;\n\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG: {\n if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE: {\n if (points[1]) {\n if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n } else {\n if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;\n else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;\n else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n }\n break;\n }\n case MODE_CENTER: {\n if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1\n || selection[0][1] !== n1\n || selection[1][0] !== e1\n || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush(event, mode.name);\n }\n }\n\n function ended(event) {\n nopropagation(event);\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end(event, mode.name);\n }\n\n function keydowned(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18: { // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move(event);\n }\n break;\n }\n case 32: { // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx; else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy; else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n\n function keyupped(event) {\n switch (event.keyCode) {\n case 16: { // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move(event);\n }\n break;\n }\n case 18: { // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move(event);\n }\n break;\n }\n case 32: { // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1; else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1; else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move(event);\n }\n break;\n }\n default: return;\n }\n noevent(event);\n }\n }\n\n function touchmoved(event) {\n emitter(this, arguments).moved(event);\n }\n\n function touchended(event) {\n emitter(this, arguments).ended(event);\n }\n\n function initialize() {\n var state = this.__brush || {selection: null};\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n\n brush.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n\n brush.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n\n brush.handleSize = function(_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.keyModifiers = function(_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n\n brush.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}\n","export {\n default as brush,\n brushX,\n brushY,\n brushSelection\n} from \"./brush.js\";\n","export const linear = t => +t;\n","var overshoot = 1.70158;\n\nexport var backIn = (function custom(s) {\n s = +s;\n\n function backIn(t) {\n return (t = +t) * t * (s * (t - 1) + t);\n }\n\n backIn.overshoot = custom;\n\n return backIn;\n})(overshoot);\n\nexport var backOut = (function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((t + 1) * s + t) + 1;\n }\n\n backOut.overshoot = custom;\n\n return backOut;\n})(overshoot);\n\nexport var backInOut = (function custom(s) {\n s = +s;\n\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n\n backInOut.overshoot = custom;\n\n return backInOut;\n})(overshoot);\n","export {\n linear as easeLinear\n} from \"./linear.js\";\n\nexport {\n quadInOut as easeQuad,\n quadIn as easeQuadIn,\n quadOut as easeQuadOut,\n quadInOut as easeQuadInOut\n} from \"./quad.js\";\n\nexport {\n cubicInOut as easeCubic,\n cubicIn as easeCubicIn,\n cubicOut as easeCubicOut,\n cubicInOut as easeCubicInOut\n} from \"./cubic.js\";\n\nexport {\n polyInOut as easePoly,\n polyIn as easePolyIn,\n polyOut as easePolyOut,\n polyInOut as easePolyInOut\n} from \"./poly.js\";\n\nexport {\n sinInOut as easeSin,\n sinIn as easeSinIn,\n sinOut as easeSinOut,\n sinInOut as easeSinInOut\n} from \"./sin.js\";\n\nexport {\n expInOut as easeExp,\n expIn as easeExpIn,\n expOut as easeExpOut,\n expInOut as easeExpInOut\n} from \"./exp.js\";\n\nexport {\n circleInOut as easeCircle,\n circleIn as easeCircleIn,\n circleOut as easeCircleOut,\n circleInOut as easeCircleInOut\n} from \"./circle.js\";\n\nexport {\n bounceOut as easeBounce,\n bounceIn as easeBounceIn,\n bounceOut as easeBounceOut,\n bounceInOut as easeBounceInOut\n} from \"./bounce.js\";\n\nexport {\n backInOut as easeBack,\n backIn as easeBackIn,\n backOut as easeBackOut,\n backInOut as easeBackInOut\n} from \"./back.js\";\n\nexport {\n elasticOut as easeElastic,\n elasticIn as easeElasticIn,\n elasticOut as easeElasticOut,\n elasticInOut as easeElasticInOut\n} from \"./elastic.js\";\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function ticks(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","export {\n default as scaleBand,\n point as scalePoint\n} from \"./band.js\";\n\nexport {\n default as scaleIdentity\n} from \"./identity.js\";\n\nexport {\n default as scaleLinear\n} from \"./linear.js\";\n\nexport {\n default as scaleLog\n} from \"./log.js\";\n\nexport {\n default as scaleSymlog\n} from \"./symlog.js\";\n\nexport {\n default as scaleOrdinal,\n implicit as scaleImplicit\n} from \"./ordinal.js\";\n\nexport {\n default as scalePow,\n sqrt as scaleSqrt\n} from \"./pow.js\";\n\nexport {\n default as scaleRadial\n} from \"./radial.js\";\n\nexport {\n default as scaleQuantile\n} from \"./quantile.js\";\n\nexport {\n default as scaleQuantize\n} from \"./quantize.js\";\n\nexport {\n default as scaleThreshold\n} from \"./threshold.js\";\n\nexport {\n default as scaleTime\n} from \"./time.js\";\n\nexport {\n default as scaleUtc\n} from \"./utcTime.js\";\n\nexport {\n default as scaleSequential,\n sequentialLog as scaleSequentialLog,\n sequentialPow as scaleSequentialPow,\n sequentialSqrt as scaleSequentialSqrt,\n sequentialSymlog as scaleSequentialSymlog\n} from \"./sequential.js\";\n\nexport {\n default as scaleSequentialQuantile\n} from \"./sequentialQuantile.js\";\n\nexport {\n default as scaleDiverging,\n divergingLog as scaleDivergingLog,\n divergingPow as scaleDivergingPow,\n divergingSqrt as scaleDivergingSqrt,\n divergingSymlog as scaleDivergingSymlog\n} from \"./diverging.js\";\n\nexport {\n default as tickFormat\n} from \"./tickFormat.js\";\n","export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","import pointer from \"./pointer.js\";\nimport sourceEvent from \"./sourceEvent.js\";\n\nexport default function(events, node) {\n if (events.target) { // i.e., instanceof Event, not TouchList or iterable\n events = sourceEvent(events);\n if (node === undefined) node = events.currentTarget;\n events = events.touches || [events];\n }\n return Array.from(events, event => pointer(event, node));\n}\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export {default as create} from \"./create.js\";\nexport {default as creator} from \"./creator.js\";\nexport {default as local} from \"./local.js\";\nexport {default as matcher} from \"./matcher.js\";\nexport {default as namespace} from \"./namespace.js\";\nexport {default as namespaces} from \"./namespaces.js\";\nexport {default as pointer} from \"./pointer.js\";\nexport {default as pointers} from \"./pointers.js\";\nexport {default as select} from \"./select.js\";\nexport {default as selectAll} from \"./selectAll.js\";\nexport {default as selection} from \"./selection/index.js\";\nexport {default as selector} from \"./selector.js\";\nexport {default as selectorAll} from \"./selectorAll.js\";\nexport {styleValue as style} from \"./selection/style.js\";\nexport {default as window} from \"./window.js\";\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","export {default as arc} from \"./arc.js\";\nexport {default as area} from \"./area.js\";\nexport {default as line} from \"./line.js\";\nexport {default as pie} from \"./pie.js\";\nexport {default as areaRadial, default as radialArea} from \"./areaRadial.js\"; // Note: radialArea is deprecated!\nexport {default as lineRadial, default as radialLine} from \"./lineRadial.js\"; // Note: radialLine is deprecated!\nexport {default as pointRadial} from \"./pointRadial.js\";\nexport {link, linkHorizontal, linkVertical, linkRadial} from \"./link.js\";\n\nexport {default as symbol, symbolsStroke, symbolsFill, symbolsFill as symbols} from \"./symbol.js\";\nexport {default as symbolAsterisk} from \"./symbol/asterisk.js\";\nexport {default as symbolCircle} from \"./symbol/circle.js\";\nexport {default as symbolCross} from \"./symbol/cross.js\";\nexport {default as symbolDiamond} from \"./symbol/diamond.js\";\nexport {default as symbolDiamond2} from \"./symbol/diamond2.js\";\nexport {default as symbolPlus} from \"./symbol/plus.js\";\nexport {default as symbolSquare} from \"./symbol/square.js\";\nexport {default as symbolSquare2} from \"./symbol/square2.js\";\nexport {default as symbolStar} from \"./symbol/star.js\";\nexport {default as symbolTriangle} from \"./symbol/triangle.js\";\nexport {default as symbolTriangle2} from \"./symbol/triangle2.js\";\nexport {default as symbolWye} from \"./symbol/wye.js\";\nexport {default as symbolX} from \"./symbol/x.js\";\n\nexport {default as curveBasisClosed} from \"./curve/basisClosed.js\";\nexport {default as curveBasisOpen} from \"./curve/basisOpen.js\";\nexport {default as curveBasis} from \"./curve/basis.js\";\nexport {bumpX as curveBumpX, bumpY as curveBumpY} from \"./curve/bump.js\";\nexport {default as curveBundle} from \"./curve/bundle.js\";\nexport {default as curveCardinalClosed} from \"./curve/cardinalClosed.js\";\nexport {default as curveCardinalOpen} from \"./curve/cardinalOpen.js\";\nexport {default as curveCardinal} from \"./curve/cardinal.js\";\nexport {default as curveCatmullRomClosed} from \"./curve/catmullRomClosed.js\";\nexport {default as curveCatmullRomOpen} from \"./curve/catmullRomOpen.js\";\nexport {default as curveCatmullRom} from \"./curve/catmullRom.js\";\nexport {default as curveLinearClosed} from \"./curve/linearClosed.js\";\nexport {default as curveLinear} from \"./curve/linear.js\";\nexport {monotoneX as curveMonotoneX, monotoneY as curveMonotoneY} from \"./curve/monotone.js\";\nexport {default as curveNatural} from \"./curve/natural.js\";\nexport {default as curveStep, stepAfter as curveStepAfter, stepBefore as curveStepBefore} from \"./curve/step.js\";\n\nexport {default as stack} from \"./stack.js\";\nexport {default as stackOffsetExpand} from \"./offset/expand.js\";\nexport {default as stackOffsetDiverging} from \"./offset/diverging.js\";\nexport {default as stackOffsetNone} from \"./offset/none.js\";\nexport {default as stackOffsetSilhouette} from \"./offset/silhouette.js\";\nexport {default as stackOffsetWiggle} from \"./offset/wiggle.js\";\nexport {default as stackOrderAppearance} from \"./order/appearance.js\";\nexport {default as stackOrderAscending} from \"./order/ascending.js\";\nexport {default as stackOrderDescending} from \"./order/descending.js\";\nexport {default as stackOrderInsideOut} from \"./order/insideOut.js\";\nexport {default as stackOrderNone} from \"./order/none.js\";\nexport {default as stackOrderReverse} from \"./order/reverse.js\";\n","export {default as timeFormatDefaultLocale, timeFormat, timeParse, utcFormat, utcParse} from \"./defaultLocale.js\";\nexport {default as timeFormatLocale} from \"./locale.js\";\nexport {default as isoFormat} from \"./isoFormat.js\";\nexport {default as isoParse} from \"./isoParse.js\";\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled, {passive: false})\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var currentTarget = event.currentTarget,\n g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n","export {default as zoom} from \"./zoom.js\";\nexport {default as zoomTransform, identity as zoomIdentity, Transform as ZoomTransform} from \"./transform.js\";\n","export * from \"d3-array\";\nexport * from \"d3-axis\";\nexport * from \"d3-brush\";\nexport * from \"d3-chord\";\nexport * from \"d3-color\";\nexport * from \"d3-contour\";\nexport * from \"d3-delaunay\";\nexport * from \"d3-dispatch\";\nexport * from \"d3-drag\";\nexport * from \"d3-dsv\";\nexport * from \"d3-ease\";\nexport * from \"d3-fetch\";\nexport * from \"d3-force\";\nexport * from \"d3-format\";\nexport * from \"d3-geo\";\nexport * from \"d3-hierarchy\";\nexport * from \"d3-interpolate\";\nexport * from \"d3-path\";\nexport * from \"d3-polygon\";\nexport * from \"d3-quadtree\";\nexport * from \"d3-random\";\nexport * from \"d3-scale\";\nexport * from \"d3-scale-chromatic\";\nexport * from \"d3-selection\";\nexport * from \"d3-shape\";\nexport * from \"d3-time\";\nexport * from \"d3-time-format\";\nexport * from \"d3-timer\";\nexport * from \"d3-transition\";\nexport * from \"d3-zoom\";\n"],"names":["ascending","a","b","NaN","descending","bisector","f","compare1","compare2","delta","left","x","lo","hi","length","mid","d","zero","center","i","right","src_linear_linear","domain","scale","continuous","copy","initRange","apply","arguments","ticks","count","start","stop","reverse","n","step","tickIncrement","isFinite","r0","Math","round","r1","tickFormat","specifier","precision","tickStep","formatSpecifier","type","value","max","abs","isNaN","min","floor","exponent","formatPrefix","format","nice","prestep","i0","i1","maxIter","ceil","InternMap","Map","constructor","entries","key","keyof","Object","defineProperties","_intern","_key","set","get","intern_get","has","intern_set","delete","intern_delete","valueOf","rollups","values","reduce","keys","map","Array","from","regroup","groups","index","group","push","valueof","undefined","sum","src_identity","translateX","translateY","y","entering","__axis","axis","orient","tickArguments","tickValues","tickSizeInner","tickSizeOuter","tickPadding","offset","window","devicePixelRatio","k","transform","context","spacing","range","range0","range1","position","bandwidth","selection","path","selectAll","data","tick","order","tickExit","exit","tickEnter","enter","append","attr","line","select","text","merge","insert","transition","getAttribute","p","parentNode","remove","filter","each","_","slice","tickSize","axisBottom","axisLeft","none","selector","querySelector","empty","selectorAll","querySelectorAll","matcher","matches","childMatcher","node","find","prototype","childFirst","firstElementChild","children","sparse","update","EnterNode","parent","datum","ownerDocument","namespaceURI","_next","_parent","__data__","bindIndex","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","call","sort_ascending","appendChild","child","insertBefore","next","xhtml","namespaces","svg","xlink","xml","xmlns","namespace","name","prefix","indexOf","hasOwnProperty","space","local","src_window","defaultView","document","styleValue","style","getPropertyValue","getComputedStyle","classArray","string","trim","split","classList","ClassList","_node","_names","classedAdd","names","list","add","classedRemove","textRemove","textContent","htmlRemove","innerHTML","raise","nextSibling","lower","previousSibling","firstChild","creator","fullname","createElementNS","uri","documentElement","createElement","constantNull","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","onRemove","typename","on","__on","o","j","m","removeEventListener","listener","options","onAdd","event","addEventListener","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","setAttribute","join","splice","contains","root","Selection","parents","_groups","_parents","subgroups","subnode","subgroup","isArray","selectChild","match","selectChildren","bind","enterGroup","updateGroup","previous","_enter","_exit","onenter","onupdate","onexit","groups0","groups1","m0","m1","merges","group0","group1","compareDocumentPosition","sort","compare","compareNode","sortgroups","sortgroup","callback","nodes","size","getAttributeNS","removeAttributeNS","removeAttribute","v","setAttributeNS","priority","removeProperty","setProperty","property","classed","html","create","before","deep","t","typenames","dispatch","Symbol","iterator","noop","dispatch_dispatch","test","Dispatch","concat","T","types","c","that","args","svgNode","prefixExponent","defaultLocale_locale","src_defaultLocale_locale","timeFormat","taskHead","taskTail","timer_frame","timeout","interval","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","setTimeout","clearNow","Timer","_call","_time","timer","delay","time","restart","wake","timerFlush","e","nap","t0","t2","t1","Infinity","sleep","poke","clearTimeout","clearInterval","setInterval","src_timeout","elapsed","emptyOn","src_dispatch","emptyTween","schedule","id","timing","schedules","__transition","self","tween","state","duration","ease","init","schedule_get","schedule_set","src_number","degrees","PI","decompose_identity","rotate","skewX","scaleX","scaleY","decompose","sqrt","atan2","atan","interpolateTransform","parse","pxComma","pxParen","degParen","pop","s","q","translate","xa","ya","xb","yb","interpolateTransformCss","DOMMatrix","WebKitCSSMatrix","isIdentity","interpolateTransformSvg","baseVal","consolidate","matrix","tweenValue","_id","src_define","factory","extend","definition","Color","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","color","l","toLowerCase","exec","parseInt","rgbn","Rgb","rgba","hsla","r","g","color_rgb","opacity","rgb_formatHex","hex","rgb_formatRgb","clampa","clampi","toString","h","Hsl","hslConvert","clamph","clampt","hsl2rgb","m2","basis","v0","v1","v2","v3","t3","channels","assign","displayable","formatHex8","formatHsl","brighter","pow","darker","clamp","d3_interpolate_src_constant","nogamma","rgbGamma","end","gamma","rgbSpline","spline","colors","reA","reB","source","am","bm","bs","bi","lastIndex","transition_interpolate","selection_Selection","src_selection","style_styleRemove","Transition","_name","selection_prototype","transition_transition","inherit","id0","id1","on0","on1","sit","every","attrTween","interpolate","string00","string10","interpolate0","string0","string1","value1","_value","listener0","styleTween","textTween","tween0","tween1","easeConstant","easeVarying","Promise","resolve","reject","cancel","interrupt","defaultTiming","src_interrupt","active","brush_max","brush_min","linear_linear","backIn","custom","overshoot","backOut","backInOut","e10","e5","e2","power","log","LN10","error","step0","step1","ascendingBisect","bisectRight","src_number_number","unit","continuous_identity","normalize","bimap","d0","d1","polymap","bisect","target","unknown","transformer","untransform","piecewise","output","input","setTime","numberArray_isNumberArray","ArrayBuffer","isView","DataView","nb","na","rescale","invert","rangeRound","u","re","FormatSpecifier","fill","align","sign","symbol","width","comma","formatDecimalParts","toExponential","coefficient","formatRounded","formatTypes","toFixed","toLocaleString","replace","toPrecision","toUpperCase","d3_format_src_identity","prefixes","locale","grouping","thousands","numerals","Number","substring","currencyPrefix","currency","currencySuffix","decimal","String","percent","minus","nan","newFormat","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","formatTrim","out","charCodeAt","padding","durationDay","durationHour","durationWeek","durationMonth","durationYear","newInterval","floori","offseti","field","date","millisecond","second","getMilliseconds","getUTCSeconds","minute","getSeconds","durationSecond","getMinutes","hour","durationMinute","getHours","day","setHours","setDate","getDate","getTimezoneOffset","weekday","getDay","sunday","monday","tuesday","wednesday","thursday","friday","saturday","month","setMonth","getMonth","getFullYear","year","setFullYear","utcMinute","setUTCSeconds","getUTCMinutes","utcHour","setUTCMinutes","getUTCHours","utcDay","setUTCHours","setUTCDate","getUTCDate","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","utcYear","setUTCFullYear","ticker","week","tickIntervals","tickInterval","src_millisecond","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","H","M","S","L","utcDate","UTC","newDate","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","formatLookup","parseWeekdayNumberSunday","w","parseWeekdayNumberMonday","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","src_day","src_year","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","dISO","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","z","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","src_utcDay","src_utcYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","time_date","time_number","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","x0","x1","sourceEvent","src_pointer","currentTarget","ownerSVGElement","createSVGPoint","point","clientX","clientY","matrixTransform","getScreenCTM","inverse","getBoundingClientRect","rect","clientLeft","top","clientTop","pageX","pageY","pointers","events","touches","src_select","formatLocale","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","utcFormats","parses","parseSpecifier","charAt","newParse","X","utcFormat","utcParse","pi","tau","tauEpsilon","Path","_x0","_y0","_x1","_y1","d3_shape_src_array","d3_shape_src_constant","Linear","_context","curve_linear","point_x","point_y","defined","curve","buffer","defined0","src_path","lineStart","lineEnd","src_area","y0","y1","area","x0z","y0z","areaStart","areaEnd","arealine","lineX0","lineY0","lineY1","lineX1","slope3","x2","y2","h0","h1","s0","s1","slope2","dx","bezierCurveTo","MonotoneX","ReflectContext","monotoneX","transform_Transform","moveTo","closePath","lineTo","quadraticCurveTo","arcTo","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l21","l01","acos","t01","t21","arc","a0","a1","ccw","cos","dy","sin","cw","da","_line","_point","_t0","MonotoneY","applyX","applyY","location","invertX","invertY","rescaleX","rescaleY"],"sourceRoot":""}