{"version":3,"file":"static/chunks/5367-4bbd134dddb8ae65.js","mappings":"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","sources":["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-color/src/math.js","webpack://_N_E/./node_modules/d3-color/src/lab.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/hcl.js","webpack://_N_E/./node_modules/d3-interpolate/src/hsl.js","webpack://_N_E/./node_modules/d3-color/src/cubehelix.js","webpack://_N_E/./node_modules/d3-interpolate/src/cubehelix.js","webpack://_N_E/./node_modules/d3-interpolate/src/basis.js","webpack://_N_E/./node_modules/d3-interpolate/src/rgb.js","webpack://_N_E/./node_modules/d3-interpolate/src/basisClosed.js","webpack://_N_E/./node_modules/@visx/scale/esm/utils/createColorInterpolator.js","webpack://_N_E/./node_modules/d3-interpolate/src/lab.js","webpack://_N_E/./node_modules/@visx/scale/esm/utils/isUtcScale.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/nice.js","webpack://_N_E/./node_modules/d3-interpolate/src/round.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/scaleOperator.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/domain.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/zero.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/interpolate.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/round.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/align.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/base.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/clamp.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/constant.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/exponent.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/padding.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/range.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/reverse.js","webpack://_N_E/./node_modules/@visx/scale/esm/operators/unknown.js","webpack://_N_E/./node_modules/d3-format/src/formatPrefixAuto.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/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/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-scale/src/tickFormat.js","webpack://_N_E/./node_modules/d3-format/src/precisionPrefix.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/linear.js","webpack://_N_E/./node_modules/@visx/scale/esm/scales/linear.js","webpack://_N_E/./node_modules/d3-path/src/path.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/@visx/shape/esm/util/setNumberOrNumberAccessor.js","webpack://_N_E/./node_modules/@visx/shape/esm/util/D3ShapeFactories.js","webpack://_N_E/./node_modules/d3-shape/src/line.js","webpack://_N_E/./node_modules/@visx/shape/esm/shapes/LinePath.js","webpack://_N_E/./node_modules/classnames/index.js","webpack://_N_E/./node_modules/d3-array/src/ascending.js","webpack://_N_E/./node_modules/d3-array/src/bisector.js","webpack://_N_E/./node_modules/d3-array/src/ticks.js","webpack://_N_E/./node_modules/d3-array/src/bisect.js","webpack://_N_E/./node_modules/d3-array/src/number.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-color/src/define.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-color/src/color.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/basis.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/constant.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/color.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/rgb.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/basisClosed.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/array.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/date.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/number.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/object.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/string.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/numberArray.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/value.js","webpack://_N_E/./node_modules/d3-scale/node_modules/d3-interpolate/src/round.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/constant.js","webpack://_N_E/./node_modules/d3-scale/src/init.js","webpack://_N_E/./node_modules/d3-time/src/day.js","webpack://_N_E/./node_modules/d3-time/src/duration.js","webpack://_N_E/./node_modules/d3-time/src/hour.js","webpack://_N_E/./node_modules/d3-time/src/interval.js","webpack://_N_E/./node_modules/d3-time/src/minute.js","webpack://_N_E/./node_modules/d3-time/src/month.js","webpack://_N_E/./node_modules/d3-time/src/second.js","webpack://_N_E/./node_modules/d3-time/src/utcDay.js","webpack://_N_E/./node_modules/d3-time/src/utcHour.js","webpack://_N_E/./node_modules/d3-time/src/utcMinute.js","webpack://_N_E/./node_modules/d3-time/src/utcMonth.js","webpack://_N_E/./node_modules/d3-time/src/utcWeek.js","webpack://_N_E/./node_modules/d3-time/src/utcYear.js","webpack://_N_E/./node_modules/d3-time/src/week.js","webpack://_N_E/./node_modules/d3-time/src/year.js","webpack://_N_E/./node_modules/react-virtualized-auto-sizer/dist/index.esm.js"],"sourcesContent":["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: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\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_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: function(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: function(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: function() {\n return this;\n },\n displayable: function() {\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 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_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\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: function(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: function(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: function() {\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 displayable: function() {\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: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\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 var deg2rad = Math.PI / 180;\nexport var rad2deg = 180 / Math.PI;\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb} from \"./color.js\";\nimport {deg2rad, rad2deg} from \"./math.js\";\n\n// https://observablehq.com/@mbostock/lab-and-rgb\nvar K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) return hcl2lab(o);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter: function(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker: function(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb: function() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * rad2deg;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nfunction hcl2lab(o) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * deg2rad;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter: function(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker: function(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb: function() {\n return hcl2lab(this).rgb();\n }\n}));\n","export default function(x) {\n return function() {\n return x;\n };\n}\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 {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n","import {hsl as colorHsl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = colorHsl(start)).h, (end = colorHsl(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hsl(hue);\nexport var hslLong = hsl(color);\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color.js\";\nimport {deg2rad, rad2deg} from \"./math.js\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\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 {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 {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","import { interpolateRgb, interpolateLab, interpolateHcl, interpolateHclLong, interpolateHsl, interpolateHslLong, interpolateCubehelix, interpolateCubehelixLong } from 'd3-interpolate';\nvar interpolatorMap = {\n lab: interpolateLab,\n hcl: interpolateHcl,\n 'hcl-long': interpolateHclLong,\n hsl: interpolateHsl,\n 'hsl-long': interpolateHslLong,\n cubehelix: interpolateCubehelix,\n 'cubehelix-long': interpolateCubehelixLong,\n rgb: interpolateRgb\n};\nexport default function createColorInterpolator(interpolate) {\n switch (interpolate) {\n case 'lab':\n case 'hcl':\n case 'hcl-long':\n case 'hsl':\n case 'hsl-long':\n case 'cubehelix':\n case 'cubehelix-long':\n case 'rgb':\n return interpolatorMap[interpolate];\n\n default:\n }\n\n var type = interpolate.type,\n gamma = interpolate.gamma;\n var interpolator = interpolatorMap[type];\n return typeof gamma === 'undefined' ? interpolator : interpolator.gamma(gamma);\n}","import {lab as colorLab} from \"d3-color\";\nimport color from \"./color.js\";\n\nexport default function lab(start, end) {\n var l = color((start = colorLab(start)).l, (end = colorLab(end)).l),\n a = color(start.a, end.a),\n b = color(start.b, end.b),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}\n","var TEST_TIME = new Date(Date.UTC(2020, 1, 2, 3, 4, 5));\nvar TEST_FORMAT = '%Y-%m-%d %H:%M';\n/**\n * Check if the scale is UTC or Time scale\n * When local time is equal to UTC, always return true\n * @param scale time or utc scale\n */\n\nexport default function isUtcScale(scale) {\n // The only difference between time and utc scale is\n // whether the tick format function is utcFormat or timeFormat\n var output = scale.tickFormat(1, TEST_FORMAT)(TEST_TIME);\n return output === '2020-02-02 03:04';\n}","import { timeSecond, timeMinute, timeHour, timeDay, timeYear, timeMonth, timeWeek, utcSecond, utcMinute, utcHour, utcDay, utcWeek, utcMonth, utcYear } from 'd3-time';\nimport isUtcScale from '../utils/isUtcScale';\nvar localTimeIntervals = {\n day: timeDay,\n hour: timeHour,\n minute: timeMinute,\n month: timeMonth,\n second: timeSecond,\n week: timeWeek,\n year: timeYear\n};\nvar utcIntervals = {\n day: utcDay,\n hour: utcHour,\n minute: utcMinute,\n month: utcMonth,\n second: utcSecond,\n week: utcWeek,\n year: utcYear\n};\nexport default function applyNice(scale, config) {\n if ('nice' in config && typeof config.nice !== 'undefined' && 'nice' in scale) {\n var nice = config.nice;\n\n if (typeof nice === 'boolean') {\n if (nice) {\n scale.nice();\n }\n } else if (typeof nice === 'number') {\n scale.nice(nice);\n } else {\n var timeScale = scale;\n var isUtc = isUtcScale(timeScale);\n\n if (typeof nice === 'string') {\n timeScale.nice(isUtc ? utcIntervals[nice] : localTimeIntervals[nice]);\n } else {\n var interval = nice.interval,\n step = nice.step;\n var parsedInterval = (isUtc ? utcIntervals[interval] : localTimeIntervals[interval]).every(step);\n\n if (parsedInterval != null) {\n timeScale.nice(parsedInterval);\n }\n }\n }\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","import domain from './domain';\nimport range from './range';\nimport align from './align';\nimport base from './base';\nimport clamp from './clamp';\nimport constant from './constant';\nimport exponent from './exponent';\nimport interpolate from './interpolate';\nimport nice from './nice';\nimport padding from './padding';\nimport reverse from './reverse';\nimport round from './round';\nimport unknown from './unknown';\nimport zero from './zero';\n/**\n * List of all operators, in order of execution\n */\n\nexport var ALL_OPERATORS = [// domain => nice => zero\n'domain', 'nice', 'zero', // interpolate before round\n'interpolate', 'round', // set range then reverse\n'range', 'reverse', // Order does not matter for these operators\n'align', 'base', 'clamp', 'constant', 'exponent', 'padding', 'unknown'];\n// Use Record to enforce that all keys in OperatorType must exist.\nvar operators = {\n domain: domain,\n nice: nice,\n zero: zero,\n interpolate: interpolate,\n round: round,\n align: align,\n base: base,\n clamp: clamp,\n constant: constant,\n exponent: exponent,\n padding: padding,\n range: range,\n reverse: reverse,\n unknown: unknown\n};\nexport default function scaleOperator() {\n for (var _len = arguments.length, ops = new Array(_len), _key = 0; _key < _len; _key++) {\n ops[_key] = arguments[_key];\n }\n\n var selection = new Set(ops);\n var selectedOps = ALL_OPERATORS.filter(function (o) {\n return selection.has(o);\n });\n return function applyOperators(scale, config) {\n if (typeof config !== 'undefined') {\n selectedOps.forEach(function (op) {\n operators[op](scale, config);\n });\n }\n\n return scale;\n };\n}","export default function applyDomain(scale, config) {\n if (config.domain) {\n if ('nice' in scale || 'quantiles' in scale) {\n // continuous input scales\n scale.domain(config.domain);\n } else if ('padding' in scale) {\n // point and band scales\n scale.domain(config.domain);\n } else {\n // ordinal and threshold scale\n scale.domain(config.domain);\n }\n }\n}","export default function applyZero(scale, config) {\n if ('zero' in config && config.zero === true) {\n var domain = scale.domain();\n var a = domain[0],\n b = domain[1];\n var isDescending = b < a;\n\n var _ref = isDescending ? [b, a] : [a, b],\n min = _ref[0],\n max = _ref[1];\n\n var domainWithZero = [Math.min(0, min), Math.max(0, max)];\n scale.domain(isDescending ? domainWithZero.reverse() : domainWithZero);\n }\n}","import createColorInterpolator from '../utils/createColorInterpolator';\nexport default function applyInterpolate(scale, config) {\n if ('interpolate' in config && 'interpolate' in scale && typeof config.interpolate !== 'undefined') {\n var interpolator = createColorInterpolator(config.interpolate);\n scale.interpolate(interpolator);\n }\n}","import { interpolateRound } from 'd3-interpolate';\nexport default function applyRound(scale, config) {\n if ('round' in config && typeof config.round !== 'undefined') {\n if (config.round && 'interpolate' in config && typeof config.interpolate !== 'undefined') {\n console.warn(\"[visx/scale/applyRound] ignoring round: scale config contains round and interpolate. only applying interpolate. config:\", config);\n } else if ('round' in scale) {\n // for point and band scales\n scale.round(config.round);\n } else if ('interpolate' in scale && config.round) {\n // for continuous output scales\n // setting config.round = true\n // is actually setting interpolator to interpolateRound\n // as these scales do not have scale.round() function\n scale.interpolate(interpolateRound);\n }\n }\n}","export default function applyAlign(scale, config) {\n if ('align' in scale && 'align' in config && typeof config.align !== 'undefined') {\n scale.align(config.align);\n }\n}","export default function applyBase(scale, config) {\n if ('base' in scale && 'base' in config && typeof config.base !== 'undefined') {\n scale.base(config.base);\n }\n}","export default function applyClamp(scale, config) {\n if ('clamp' in scale && 'clamp' in config && typeof config.clamp !== 'undefined') {\n scale.clamp(config.clamp);\n }\n}","export default function applyConstant(scale, config) {\n if ('constant' in scale && 'constant' in config && typeof config.constant !== 'undefined') {\n scale.constant(config.constant);\n }\n}","export default function applyExponent(scale, config) {\n if ('exponent' in scale && 'exponent' in config && typeof config.exponent !== 'undefined') {\n scale.exponent(config.exponent);\n }\n}","export default function applyPadding(scale, config) {\n if ('padding' in scale && 'padding' in config && typeof config.padding !== 'undefined') {\n scale.padding(config.padding);\n }\n\n if ('paddingInner' in scale && 'paddingInner' in config && typeof config.paddingInner !== 'undefined') {\n scale.paddingInner(config.paddingInner);\n }\n\n if ('paddingOuter' in scale && 'paddingOuter' in config && typeof config.paddingOuter !== 'undefined') {\n scale.paddingOuter(config.paddingOuter);\n }\n}","export default function applyRange(scale, config) {\n if (config.range) {\n if ('padding' in scale) {\n // point and band scales\n scale.range(config.range);\n } else {\n // the rest\n scale.range(config.range);\n }\n }\n}","export default function applyReverse(scale, config) {\n if (config.reverse) {\n var reversedRange = scale.range().slice().reverse();\n\n if ('padding' in scale) {\n // point and band scales\n scale.range(reversedRange);\n } else {\n // the rest\n scale.range(reversedRange);\n }\n }\n}","export default function applyUnknown(scale, config) {\n if ('unknown' in scale && 'unknown' in config && typeof config.unknown !== 'undefined') {\n scale.unknown(config.unknown);\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","// [[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 {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","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 {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 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","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 {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","import { scaleLinear } from 'd3-scale';\nimport scaleOperator from '../operators/scaleOperator';\nexport var updateLinearScale = scaleOperator('domain', 'range', 'reverse', 'clamp', 'interpolate', 'nice', 'round', 'zero');\nexport default function createLinearScale(config) {\n return updateLinearScale(scaleLinear(), config);\n}","var 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 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; // proceed\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","/**\n * This is a workaround for TypeScript not inferring the correct\n * method overload/signature for some d3 shape methods.\n */\nexport default function setNumberOrNumberAccessor(func, value) {\n if (typeof value === 'number') func(value);else func(value);\n}","import { arc as d3Arc, area as d3Area, line as d3Line, pie as d3Pie, radialLine as d3RadialLine, stack as d3Stack } from 'd3-shape';\nimport setNumberOrNumberAccessor from './setNumberOrNumberAccessor';\nimport stackOrder from './stackOrder';\nimport stackOffset from './stackOffset';\nexport function arc(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n cornerRadius = _ref.cornerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n padAngle = _ref.padAngle,\n padRadius = _ref.padRadius;\n\n var path = d3Arc();\n if (innerRadius != null) setNumberOrNumberAccessor(path.innerRadius, innerRadius);\n if (outerRadius != null) setNumberOrNumberAccessor(path.outerRadius, outerRadius);\n if (cornerRadius != null) setNumberOrNumberAccessor(path.cornerRadius, cornerRadius);\n if (startAngle != null) setNumberOrNumberAccessor(path.startAngle, startAngle);\n if (endAngle != null) setNumberOrNumberAccessor(path.endAngle, endAngle);\n if (padAngle != null) setNumberOrNumberAccessor(path.padAngle, padAngle);\n if (padRadius != null) setNumberOrNumberAccessor(path.padRadius, padRadius);\n return path;\n}\nexport function area(_temp2) {\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n x = _ref2.x,\n x0 = _ref2.x0,\n x1 = _ref2.x1,\n y = _ref2.y,\n y0 = _ref2.y0,\n y1 = _ref2.y1,\n defined = _ref2.defined,\n curve = _ref2.curve;\n\n var path = d3Area();\n if (x) setNumberOrNumberAccessor(path.x, x);\n if (x0) setNumberOrNumberAccessor(path.x0, x0);\n if (x1) setNumberOrNumberAccessor(path.x1, x1);\n if (y) setNumberOrNumberAccessor(path.y, y);\n if (y0) setNumberOrNumberAccessor(path.y0, y0);\n if (y1) setNumberOrNumberAccessor(path.y1, y1);\n if (defined) path.defined(defined);\n if (curve) path.curve(curve);\n return path;\n}\nexport function line(_temp3) {\n var _ref3 = _temp3 === void 0 ? {} : _temp3,\n x = _ref3.x,\n y = _ref3.y,\n defined = _ref3.defined,\n curve = _ref3.curve;\n\n var path = d3Line();\n if (x) setNumberOrNumberAccessor(path.x, x);\n if (y) setNumberOrNumberAccessor(path.y, y);\n if (defined) path.defined(defined);\n if (curve) path.curve(curve);\n return path;\n}\nexport function pie(_temp4) {\n var _ref4 = _temp4 === void 0 ? {} : _temp4,\n startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle,\n padAngle = _ref4.padAngle,\n value = _ref4.value,\n sort = _ref4.sort,\n sortValues = _ref4.sortValues;\n\n var path = d3Pie(); // ts can't distinguish between these method overloads\n\n if (sort === null) path.sort(sort);else if (sort != null) path.sort(sort);\n if (sortValues === null) path.sortValues(sortValues);else if (sortValues != null) path.sortValues(sortValues);\n if (value != null) path.value(value);\n if (padAngle != null) setNumberOrNumberAccessor(path.padAngle, padAngle);\n if (startAngle != null) setNumberOrNumberAccessor(path.startAngle, startAngle);\n if (endAngle != null) setNumberOrNumberAccessor(path.endAngle, endAngle);\n return path;\n}\nexport function radialLine(_temp5) {\n var _ref5 = _temp5 === void 0 ? {} : _temp5,\n angle = _ref5.angle,\n radius = _ref5.radius,\n defined = _ref5.defined,\n curve = _ref5.curve;\n\n var path = d3RadialLine();\n if (angle) setNumberOrNumberAccessor(path.angle, angle);\n if (radius) setNumberOrNumberAccessor(path.radius, radius);\n if (defined) path.defined(defined);\n if (curve) path.curve(curve);\n return path;\n}\nexport function stack(_ref6) {\n var keys = _ref6.keys,\n value = _ref6.value,\n order = _ref6.order,\n offset = _ref6.offset;\n var path = d3Stack();\n if (keys) path.keys(keys);\n if (value) setNumberOrNumberAccessor(path.value, value);\n if (order) path.order(stackOrder(order));\n if (offset) path.offset(stackOffset(offset));\n return path;\n}","import {path} from \"d3-path\";\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() {\n var x = pointX,\n y = pointY,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n function line(data) {\n var i,\n n = 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","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from 'react';\nimport cx from 'classnames';\nimport { line } from '../util/D3ShapeFactories';\nexport default function LinePath(_ref) {\n var children = _ref.children,\n _ref$data = _ref.data,\n data = _ref$data === void 0 ? [] : _ref$data,\n x = _ref.x,\n y = _ref.y,\n _ref$fill = _ref.fill,\n fill = _ref$fill === void 0 ? 'transparent' : _ref$fill,\n className = _ref.className,\n curve = _ref.curve,\n innerRef = _ref.innerRef,\n _ref$defined = _ref.defined,\n defined = _ref$defined === void 0 ? function () {\n return true;\n } : _ref$defined,\n restProps = _objectWithoutPropertiesLoose(_ref, [\"children\", \"data\", \"x\", \"y\", \"fill\", \"className\", \"curve\", \"innerRef\", \"defined\"]);\n\n var path = line({\n x: x,\n y: y,\n defined: defined,\n curve: curve\n }); // eslint-disable-next-line react/jsx-no-useless-fragment\n\n if (children) return /*#__PURE__*/React.createElement(React.Fragment, null, children({\n path: path\n }));\n return /*#__PURE__*/React.createElement(\"path\", _extends({\n ref: innerRef,\n className: cx('visx-linepath', className),\n d: path(data) || '',\n fill: fill // without this a datum surrounded by nulls will not be visible\n // https://github.com/d3/d3-shape#line_defined\n ,\n strokeLinecap: \"round\"\n }, restProps));\n}","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) 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 ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(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","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","export default function(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","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: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\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_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: function(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: function(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: function() {\n return this;\n },\n displayable: function() {\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 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_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\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: function(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: function(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: function() {\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 displayable: function() {\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: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\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","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 {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","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","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\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","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","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 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 default function constants(x) {\n return function() {\n return x;\n };\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","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","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","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","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\";\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\";\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\";\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 {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 {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 {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\";\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\";\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 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 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 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 { createElement, PureComponent } from 'react';\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n **/\n\n// Check `document` and `window` in case of server-side rendering\nvar windowObject = void 0;\nif (typeof window !== 'undefined') {\n windowObject = window;\n\n // eslint-disable-next-line no-restricted-globals\n} else if (typeof self !== 'undefined') {\n // eslint-disable-next-line no-restricted-globals\n windowObject = self;\n} else {\n windowObject = global;\n}\n\nvar cancelFrame = null;\nvar requestFrame = null;\n\nvar TIMEOUT_DURATION = 20;\n\nvar clearTimeoutFn = windowObject.clearTimeout;\nvar setTimeoutFn = windowObject.setTimeout;\n\nvar cancelAnimationFrameFn = windowObject.cancelAnimationFrame || windowObject.mozCancelAnimationFrame || windowObject.webkitCancelAnimationFrame;\n\nvar requestAnimationFrameFn = windowObject.requestAnimationFrame || windowObject.mozRequestAnimationFrame || windowObject.webkitRequestAnimationFrame;\n\nif (cancelAnimationFrameFn == null || requestAnimationFrameFn == null) {\n // For environments that don't support animation frame,\n // fallback to a setTimeout based approach.\n cancelFrame = clearTimeoutFn;\n requestFrame = function requestAnimationFrameViaSetTimeout(callback) {\n return setTimeoutFn(callback, TIMEOUT_DURATION);\n };\n} else {\n // Counter intuitively, environments that support animation frames can be trickier.\n // Chrome's \"Throttle non-visible cross-origin iframes\" flag can prevent rAFs from being called.\n // In this case, we should fallback to a setTimeout() implementation.\n cancelFrame = function cancelFrame(_ref) {\n var _ref2 = slicedToArray(_ref, 2),\n animationFrameID = _ref2[0],\n timeoutID = _ref2[1];\n\n cancelAnimationFrameFn(animationFrameID);\n clearTimeoutFn(timeoutID);\n };\n requestFrame = function requestAnimationFrameWithSetTimeoutFallback(callback) {\n var animationFrameID = requestAnimationFrameFn(function animationFrameCallback() {\n clearTimeoutFn(timeoutID);\n callback();\n });\n\n var timeoutID = setTimeoutFn(function timeoutCallback() {\n cancelAnimationFrameFn(animationFrameID);\n callback();\n }, TIMEOUT_DURATION);\n\n return [animationFrameID, timeoutID];\n };\n}\n\nfunction createDetectElementResize(nonce) {\n var animationKeyframes = void 0;\n var animationName = void 0;\n var animationStartEvent = void 0;\n var animationStyle = void 0;\n var checkTriggers = void 0;\n var resetTriggers = void 0;\n var scrollListener = void 0;\n\n var attachEvent = typeof document !== 'undefined' && document.attachEvent;\n if (!attachEvent) {\n resetTriggers = function resetTriggers(element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n checkTriggers = function checkTriggers(element) {\n return element.offsetWidth !== element.__resizeLast__.width || element.offsetHeight !== element.__resizeLast__.height;\n };\n\n scrollListener = function scrollListener(e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (e.target.className && typeof e.target.className.indexOf === 'function' && e.target.className.indexOf('contract-trigger') < 0 && e.target.className.indexOf('expand-trigger') < 0) {\n return;\n }\n\n var element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n this.__resizeRAF__ = requestFrame(function animationFrame() {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function forEachResizeListener(fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false;\n var keyframeprefix = '';\n animationStartEvent = 'animationstart';\n var domPrefixes = 'Webkit Moz O ms'.split(' ');\n var startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' ');\n var pfx = '';\n {\n var elm = document.createElement('fakeelement');\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationStartEvent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n\n animationName = 'resizeanim';\n animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';\n animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';\n }\n\n var createStyles = function createStyles(doc) {\n if (!doc.getElementById('detectElementResize')) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName('head')[0],\n style = doc.createElement('style');\n\n style.id = 'detectElementResize';\n style.type = 'text/css';\n\n if (nonce != null) {\n style.setAttribute('nonce', nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n var addResizeListener = function addResizeListener(element, fn) {\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTriggers__) {\n var doc = element.ownerDocument;\n var elementStyle = windowObject.getComputedStyle(element);\n if (elementStyle && elementStyle.position === 'static') {\n element.style.position = 'relative';\n }\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement('div')).className = 'resize-triggers';\n var expandTrigger = doc.createElement('div');\n expandTrigger.className = 'expand-trigger';\n expandTrigger.appendChild(doc.createElement('div'));\n var contractTrigger = doc.createElement('div');\n contractTrigger.className = 'contract-trigger';\n element.__resizeTriggers__.appendChild(expandTrigger);\n element.__resizeTriggers__.appendChild(contractTrigger);\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener('scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationStartEvent) {\n element.__resizeTriggers__.__animationListener__ = function animationListener(e) {\n if (e.animationName === animationName) {\n resetTriggers(element);\n }\n };\n element.__resizeTriggers__.addEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n }\n }\n element.__resizeListeners__.push(fn);\n }\n };\n\n var removeResizeListener = function removeResizeListener(element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener, true);\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(animationStartEvent, element.__resizeTriggers__.__animationListener__);\n element.__resizeTriggers__.__animationListener__ = null;\n }\n try {\n element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);\n } catch (e) {\n // Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener: addResizeListener,\n removeResizeListener: removeResizeListener\n };\n}\n\nvar AutoSizer = function (_React$PureComponent) {\n inherits(AutoSizer, _React$PureComponent);\n\n function AutoSizer() {\n var _ref;\n\n var _temp, _this, _ret;\n\n classCallCheck(this, AutoSizer);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, (_ref = AutoSizer.__proto__ || Object.getPrototypeOf(AutoSizer)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n height: _this.props.defaultHeight || 0,\n width: _this.props.defaultWidth || 0\n }, _this._onResize = function () {\n var _this$props = _this.props,\n disableHeight = _this$props.disableHeight,\n disableWidth = _this$props.disableWidth,\n onResize = _this$props.onResize;\n\n\n if (_this._parentNode) {\n // Guard against AutoSizer component being removed from the DOM immediately after being added.\n // This can result in invalid style values which can result in NaN values if we don't handle them.\n // See issue #150 for more context.\n\n var _height = _this._parentNode.offsetHeight || 0;\n var _width = _this._parentNode.offsetWidth || 0;\n\n var _style = window.getComputedStyle(_this._parentNode) || {};\n var paddingLeft = parseInt(_style.paddingLeft, 10) || 0;\n var paddingRight = parseInt(_style.paddingRight, 10) || 0;\n var paddingTop = parseInt(_style.paddingTop, 10) || 0;\n var paddingBottom = parseInt(_style.paddingBottom, 10) || 0;\n\n var newHeight = _height - paddingTop - paddingBottom;\n var newWidth = _width - paddingLeft - paddingRight;\n\n if (!disableHeight && _this.state.height !== newHeight || !disableWidth && _this.state.width !== newWidth) {\n _this.setState({\n height: _height - paddingTop - paddingBottom,\n width: _width - paddingLeft - paddingRight\n });\n\n onResize({ height: _height, width: _width });\n }\n }\n }, _this._setRef = function (autoSizer) {\n _this._autoSizer = autoSizer;\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n createClass(AutoSizer, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var nonce = this.props.nonce;\n\n if (this._autoSizer && this._autoSizer.parentNode && this._autoSizer.parentNode.ownerDocument && this._autoSizer.parentNode.ownerDocument.defaultView && this._autoSizer.parentNode instanceof this._autoSizer.parentNode.ownerDocument.defaultView.HTMLElement) {\n // Delay access of parentNode until mount.\n // This handles edge-cases where the component has already been unmounted before its ref has been set,\n // As well as libraries like react-lite which have a slightly different lifecycle.\n this._parentNode = this._autoSizer.parentNode;\n\n // Defer requiring resize handler in order to support server-side rendering.\n // See issue #41\n this._detectElementResize = createDetectElementResize(nonce);\n this._detectElementResize.addResizeListener(this._parentNode, this._onResize);\n\n this._onResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this._detectElementResize && this._parentNode) {\n this._detectElementResize.removeResizeListener(this._parentNode, this._onResize);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n className = _props.className,\n disableHeight = _props.disableHeight,\n disableWidth = _props.disableWidth,\n style = _props.style;\n var _state = this.state,\n height = _state.height,\n width = _state.width;\n\n // Outer div should not force width/height since that may prevent containers from shrinking.\n // Inner component should overflow and use calculated width/height.\n // See issue #68 for more information.\n\n var outerStyle = { overflow: 'visible' };\n var childParams = {};\n\n // Avoid rendering children before the initial measurements have been collected.\n // At best this would just be wasting cycles.\n var bailoutOnChildren = false;\n\n if (!disableHeight) {\n if (height === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.height = 0;\n childParams.height = height;\n }\n\n if (!disableWidth) {\n if (width === 0) {\n bailoutOnChildren = true;\n }\n outerStyle.width = 0;\n childParams.width = width;\n }\n\n return createElement(\n 'div',\n {\n className: className,\n ref: this._setRef,\n style: _extends({}, outerStyle, style)\n },\n !bailoutOnChildren && children(childParams)\n );\n }\n }]);\n return AutoSizer;\n}(PureComponent);\n\nAutoSizer.defaultProps = {\n onResize: function onResize() {},\n disableHeight: false,\n disableWidth: false,\n style: {}\n};\n\nexport default AutoSizer;\n"],"names":["constructor","factory","prototype","extend","parent","definition","Object","create","key","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","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","this","rgb","formatHex","color_formatRgb","formatRgb","color","format","m","l","trim","toLowerCase","exec","length","parseInt","rgbn","Rgb","rgba","hsla","hasOwnProperty","NaN","n","r","g","b","a","rgbConvert","o","opacity","arguments","rgb_formatHex","hex","rgb_formatRgb","isNaN","Math","max","min","round","value","toString","h","s","Hsl","hslConvert","hsl","hsl2rgb","m1","m2","copy","channels","assign","displayable","formatHsl","k","pow","deg2rad","PI","rad2deg","Xn","Zn","t0","t1","t2","labConvert","Lab","Hcl","hcl2lab","x","z","rgb2lrgb","y","xyz2lab","lab","t","lab2xyz","lrgb2rgb","hclConvert","c","atan2","sqrt","hcl","cos","sin","linear","d","hue","constant","gamma","nogamma","exponential","start","end","hclLong","hslLong","A","B","C","D","E","ED","EB","BC_DA","cubehelixConvert","Cubehelix","bl","cubehelix","cubehelixGamma","cosh","sinh","cubehelixLong","basis","v0","v1","v2","v3","t3","rgbGamma","rgbSpline","spline","colors","i","Array","values","floor","interpolatorMap","TEST_TIME","Date","UTC","localTimeIntervals","day","hour","minute","month","second","week","year","utcIntervals","utcDay","utcHour","utcMinute","utcMonth","utcWeek","utcYear","ALL_OPERATORS","operators","domain","scale","config","nice","timeScale","isUtc","tickFormat","isUtcScale","interval","step","parsedInterval","every","zero","isDescending","_ref","domainWithZero","reverse","interpolate","interpolator","type","createColorInterpolator","console","warn","align","base","clamp","exponent","padding","paddingInner","paddingOuter","range","reversedRange","slice","unknown","scaleOperator","_len","ops","_key","selection","Set","selectedOps","filter","has","forEach","op","prefixExponent","re","formatSpecifier","specifier","match","Error","FormatSpecifier","fill","sign","symbol","width","comma","precision","undefined","formatDecimalParts","p","toExponential","indexOf","coefficient","abs","join","toFixed","toLocaleString","replace","toPrecision","formatRounded","toUpperCase","formatPrefix","map","prefixes","locale","grouping","thousands","group","identity","call","Number","j","push","substring","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","String","percent","minus","nan","newFormat","formatTypes","prefix","test","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","i1","i0","formatTrim","charCodeAt","Infinity","f","e","stop","count","precisionPrefix","precisionRound","precisionFixed","linearish","ticks","prestep","maxIter","ceil","continuous","init","updateLinearScale","createLinearScale","pi","tau","epsilon","tauEpsilon","Path","_x0","_y0","_x1","_y1","_","path","moveTo","closePath","lineTo","quadraticCurveTo","x1","y1","bezierCurveTo","x2","y2","arcTo","x0","y0","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","acos","t01","t21","arc","a0","a1","ccw","dx","dy","cw","da","rect","w","Linear","context","_context","func","_temp3","_ref3","defined","curve","output","line","data","buffer","defined0","lineStart","lineEnd","point","_extends","target","source","apply","LinePath","children","_ref$data","_ref$fill","className","innerRef","_ref$defined","restProps","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","ref","strokeLinecap","areaStart","_line","areaEnd","_point","hasOwn","classNames","classes","arg","argType","isArray","inner","module","exports","default","delta","compare","left","lo","hi","mid","ascendingComparator","center","right","e10","e5","e2","tickIncrement","isFinite","r0","r1","power","log","LN10","error","tickStep","step0","step1","ascendingBisect","bisector","ascending","bisectRight","genericArray","nb","na","setTime","reA","reB","am","bm","bs","bi","lastIndex","q","index","one","string","date","ArrayBuffer","isView","DataView","valueOf","object","unit","normalize","bimap","d0","d1","polymap","bisect","transformer","transform","untransform","piecewise","input","rescale","clamper","invert","from","rangeRound","u","initRange","setHours","setDate","getDate","getTimezoneOffset","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","getMilliseconds","getSeconds","getMinutes","getHours","newInterval","floori","offseti","field","offset","previous","setMonth","getMonth","getFullYear","getUTCSeconds","setUTCHours","setUTCDate","getUTCDate","setUTCMinutes","getUTCHours","setUTCSeconds","getUTCMinutes","setUTCMonth","getUTCMonth","getUTCFullYear","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","setUTCFullYear","weekday","getDay","sunday","monday","tuesday","wednesday","thursday","friday","saturday","setFullYear","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","possibleConstructorReturn","self","ReferenceError","slicedToArray","arr","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","err","sliceIterator","windowObject","window","cancelFrame","requestFrame","clearTimeoutFn","clearTimeout","setTimeoutFn","setTimeout","cancelAnimationFrameFn","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","requestAnimationFrameFn","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","createDetectElementResize","nonce","animationKeyframes","animationName","animationStartEvent","animationStyle","checkTriggers","resetTriggers","scrollListener","attachEvent","document","element","triggers","__resizeTriggers__","expand","firstElementChild","contract","lastElementChild","expandChild","scrollLeft","scrollWidth","scrollTop","scrollHeight","style","offsetWidth","height","offsetHeight","__resizeLast__","__resizeRAF__","__resizeListeners__","fn","animation","keyframeprefix","domPrefixes","split","startEvents","elm","createElement","addResizeListener","doc","ownerDocument","elementStyle","getComputedStyle","position","getElementById","css","head","getElementsByTagName","id","setAttribute","styleSheet","cssText","appendChild","createTextNode","createStyles","expandTrigger","contractTrigger","addEventListener","__animationListener__","removeResizeListener","detachEvent","splice","removeEventListener","removeChild","callback","_ref2","animationFrameID","timeoutID","AutoSizer","_React$PureComponent","_temp","_this","args","__proto__","getPrototypeOf","concat","state","defaultHeight","defaultWidth","_onResize","_this$props","disableHeight","disableWidth","onResize","_parentNode","_height","_width","_style","paddingLeft","paddingRight","paddingTop","paddingBottom","newHeight","newWidth","setState","_setRef","autoSizer","_autoSizer","subClass","superClass","setPrototypeOf","inherits","parentNode","defaultView","HTMLElement","_detectElementResize","_props","_state","outerStyle","overflow","childParams","bailoutOnChildren","PureComponent","defaultProps"],"sourceRoot":""}