-
Notifications
You must be signed in to change notification settings - Fork 38
/
10.ba87d9c7.iframe.bundle.js.map
1 lines (1 loc) · 85.3 KB
/
10.ba87d9c7.iframe.bundle.js.map
1
{"version":3,"file":"10.ba87d9c7.iframe.bundle.js","sources":["webpack:////home/runner/work/fozzie-components/fozzie-components/node_modules/@storybook/components/dist/esm/Color-f953d088.js"],"sourcesContent":["var _ColorPicker, _fallbackColor;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport \"core-js/modules/es.object.assign.js\";\nimport \"core-js/modules/es.object.keys.js\";\nimport \"core-js/modules/es.array.join.js\";\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.object.to-string.js\";\nimport \"core-js/modules/es.number.constructor.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.regexp.to-string.js\";\nimport \"core-js/modules/es.string.replace.js\";\nimport \"core-js/modules/es.array.iterator.js\";\nimport \"core-js/modules/es.map.js\";\nimport \"core-js/modules/es.string.iterator.js\";\nimport \"core-js/modules/web.dom-collections.iterator.js\";\nimport \"core-js/modules/es.string.match.js\";\nimport \"core-js/modules/es.array.map.js\";\nimport \"core-js/modules/es.string.split.js\";\nimport \"core-js/modules/web.dom-collections.for-each.js\";\nimport \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.array.concat.js\";\nimport \"core-js/modules/es.object.values.js\";\nimport \"core-js/modules/es.string.starts-with.js\";\nimport \"core-js/modules/es.function.name.js\";\nimport \"core-js/modules/es.symbol.js\";\nimport \"core-js/modules/es.symbol.description.js\";\nimport \"core-js/modules/es.symbol.iterator.js\";\nimport \"core-js/modules/es.array.from.js\";\nimport { u as _root, x as isObject_1, y as isSymbol_1, W as WithTooltip, T as TooltipNote, F as Form, I as Icons, z as getControlId, d as __rest } from './index-681e4b07.js';\nimport React__default, { useRef, useMemo, useEffect, useState, useCallback, useLayoutEffect } from 'react';\nimport { styled } from '@storybook/theming';\nimport 'memoizerific';\nimport '@storybook/csf';\nimport 'qs';\nimport '@storybook/client-logger';\n\nfunction u() {\n return (u = Object.assign || function (e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = arguments[r];\n\n for (var n in t) {\n Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nfunction c(e, r) {\n if (null == e) return {};\n var t,\n n,\n o = {},\n a = Object.keys(e);\n\n for (n = 0; n < a.length; n++) {\n r.indexOf(t = a[n]) >= 0 || (o[t] = e[t]);\n }\n\n return o;\n}\n\nfunction i(e) {\n var t = useRef(e),\n n = useRef(function (e) {\n t.current && t.current(e);\n });\n return t.current = e, n.current;\n}\n\nvar s = function s(e, r, t) {\n return void 0 === r && (r = 0), void 0 === t && (t = 1), e > t ? t : e < r ? r : e;\n},\n f = function f(e) {\n return \"touches\" in e;\n},\n v = function v(e) {\n return e && e.ownerDocument.defaultView || self;\n},\n d = function d(e, r, t) {\n var n = e.getBoundingClientRect(),\n o = f(r) ? function (e, r) {\n for (var t = 0; t < e.length; t++) {\n if (e[t].identifier === r) return e[t];\n }\n\n return e[0];\n }(r.touches, t) : r;\n return {\n left: s((o.pageX - (n.left + v(e).pageXOffset)) / n.width),\n top: s((o.pageY - (n.top + v(e).pageYOffset)) / n.height)\n };\n},\n h = function h(e) {\n !f(e) && e.preventDefault();\n},\n m = React__default.memo(function (o) {\n var a = o.onMove,\n l = o.onKey,\n s = c(o, [\"onMove\", \"onKey\"]),\n m = useRef(null),\n g = i(a),\n p = i(l),\n b = useRef(null),\n _ = useRef(!1),\n x = useMemo(function () {\n var e = function e(_e) {\n h(_e), (f(_e) ? _e.touches.length > 0 : _e.buttons > 0) && m.current ? g(d(m.current, _e, b.current)) : t(!1);\n },\n r = function r() {\n return t(!1);\n };\n\n function t(t) {\n var n = _.current,\n o = v(m.current),\n a = t ? o.addEventListener : o.removeEventListener;\n a(n ? \"touchmove\" : \"mousemove\", e), a(n ? \"touchend\" : \"mouseup\", r);\n }\n\n return [function (e) {\n var r = e.nativeEvent,\n n = m.current;\n\n if (n && (h(r), !function (e, r) {\n return r && !f(e);\n }(r, _.current) && n)) {\n if (f(r)) {\n _.current = !0;\n var o = r.changedTouches || [];\n o.length && (b.current = o[0].identifier);\n }\n\n n.focus(), g(d(n, r, b.current)), t(!0);\n }\n }, function (e) {\n var r = e.which || e.keyCode;\n r < 37 || r > 40 || (e.preventDefault(), p({\n left: 39 === r ? .05 : 37 === r ? -.05 : 0,\n top: 40 === r ? .05 : 38 === r ? -.05 : 0\n }));\n }, t];\n }, [p, g]),\n C = x[0],\n E = x[1],\n H = x[2];\n\n return useEffect(function () {\n return H;\n }, [H]), React__default.createElement(\"div\", u({}, s, {\n onTouchStart: C,\n onMouseDown: C,\n className: \"react-colorful__interactive\",\n ref: m,\n onKeyDown: E,\n tabIndex: 0,\n role: \"slider\"\n }));\n}),\n g = function g(e) {\n return e.filter(Boolean).join(\" \");\n},\n p = function p(r) {\n var t = r.color,\n n = r.left,\n o = r.top,\n a = void 0 === o ? .5 : o,\n l = g([\"react-colorful__pointer\", r.className]);\n return React__default.createElement(\"div\", {\n className: l,\n style: {\n top: 100 * a + \"%\",\n left: 100 * n + \"%\"\n }\n }, React__default.createElement(\"div\", {\n className: \"react-colorful__pointer-fill\",\n style: {\n backgroundColor: t\n }\n }));\n},\n b = function b(e, r, t) {\n return void 0 === r && (r = 0), void 0 === t && (t = Math.pow(10, r)), Math.round(t * e) / t;\n},\n _ = {\n grad: .9,\n turn: 360,\n rad: 360 / (2 * Math.PI)\n},\n x = function x(e) {\n return \"#\" === e[0] && (e = e.substr(1)), e.length < 6 ? {\n r: parseInt(e[0] + e[0], 16),\n g: parseInt(e[1] + e[1], 16),\n b: parseInt(e[2] + e[2], 16),\n a: 1\n } : {\n r: parseInt(e.substr(0, 2), 16),\n g: parseInt(e.substr(2, 2), 16),\n b: parseInt(e.substr(4, 2), 16),\n a: 1\n };\n},\n C = function C(e, r) {\n return void 0 === r && (r = \"deg\"), Number(e) * (_[r] || 1);\n},\n E = function E(e) {\n var r = /hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i.exec(e);\n return r ? M({\n h: C(r[1], r[2]),\n s: Number(r[3]),\n l: Number(r[4]),\n a: void 0 === r[5] ? 1 : Number(r[5]) / (r[6] ? 100 : 1)\n }) : {\n h: 0,\n s: 0,\n v: 0,\n a: 1\n };\n},\n M = function M(e) {\n var r = e.s,\n t = e.l;\n return {\n h: e.h,\n s: (r *= (t < 50 ? t : 100 - t) / 100) > 0 ? 2 * r / (t + r) * 100 : 0,\n v: t + r,\n a: e.a\n };\n},\n N = function N(e) {\n var r = e.s,\n t = e.v,\n n = e.a,\n o = (200 - r) * t / 100;\n return {\n h: b(e.h),\n s: b(o > 0 && o < 200 ? r * t / 100 / (o <= 100 ? o : 200 - o) * 100 : 0),\n l: b(o / 2),\n a: b(n, 2)\n };\n},\n w = function w(e) {\n var r = N(e);\n return \"hsl(\" + r.h + \", \" + r.s + \"%, \" + r.l + \"%)\";\n},\n y = function y(e) {\n var r = N(e);\n return \"hsla(\" + r.h + \", \" + r.s + \"%, \" + r.l + \"%, \" + r.a + \")\";\n},\n q = function q(e) {\n var r = e.h,\n t = e.s,\n n = e.v,\n o = e.a;\n r = r / 360 * 6, t /= 100, n /= 100;\n var a = Math.floor(r),\n l = n * (1 - t),\n u = n * (1 - (r - a) * t),\n c = n * (1 - (1 - r + a) * t),\n i = a % 6;\n return {\n r: b(255 * [n, u, l, l, c, n][i]),\n g: b(255 * [c, n, n, u, l, l][i]),\n b: b(255 * [l, l, c, n, n, u][i]),\n a: b(o, 2)\n };\n},\n I = function I(e) {\n var r = /rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i.exec(e);\n return r ? B({\n r: Number(r[1]) / (r[2] ? 100 / 255 : 1),\n g: Number(r[3]) / (r[4] ? 100 / 255 : 1),\n b: Number(r[5]) / (r[6] ? 100 / 255 : 1),\n a: void 0 === r[7] ? 1 : Number(r[7]) / (r[8] ? 100 : 1)\n }) : {\n h: 0,\n s: 0,\n v: 0,\n a: 1\n };\n},\n z = function z(e) {\n var r = e.toString(16);\n return r.length < 2 ? \"0\" + r : r;\n},\n B = function B(e) {\n var r = e.r,\n t = e.g,\n n = e.b,\n o = e.a,\n a = Math.max(r, t, n),\n l = a - Math.min(r, t, n),\n u = l ? a === r ? (t - n) / l : a === t ? 2 + (n - r) / l : 4 + (r - t) / l : 0;\n return {\n h: b(60 * (u < 0 ? u + 6 : u)),\n s: b(a ? l / a * 100 : 0),\n v: b(a / 255 * 100),\n a: o\n };\n},\n K = React__default.memo(function (r) {\n var t = r.hue,\n n = r.onChange,\n o = g([\"react-colorful__hue\", r.className]);\n return React__default.createElement(\"div\", {\n className: o\n }, React__default.createElement(m, {\n onMove: function onMove(e) {\n n({\n h: 360 * e.left\n });\n },\n onKey: function onKey(e) {\n n({\n h: s(t + 360 * e.left, 0, 360)\n });\n },\n \"aria-label\": \"Hue\",\n \"aria-valuetext\": b(t)\n }, React__default.createElement(p, {\n className: \"react-colorful__hue-pointer\",\n left: t / 360,\n color: w({\n h: t,\n s: 100,\n v: 100,\n a: 1\n })\n })));\n}),\n L = React__default.memo(function (r) {\n var t = r.hsva,\n n = r.onChange,\n o = {\n backgroundColor: w({\n h: t.h,\n s: 100,\n v: 100,\n a: 1\n })\n };\n return React__default.createElement(\"div\", {\n className: \"react-colorful__saturation\",\n style: o\n }, React__default.createElement(m, {\n onMove: function onMove(e) {\n n({\n s: 100 * e.left,\n v: 100 - 100 * e.top\n });\n },\n onKey: function onKey(e) {\n n({\n s: s(t.s + 100 * e.left, 0, 100),\n v: s(t.v - 100 * e.top, 0, 100)\n });\n },\n \"aria-label\": \"Color\",\n \"aria-valuetext\": \"Saturation \" + b(t.s) + \"%, Brightness \" + b(t.v) + \"%\"\n }, React__default.createElement(p, {\n className: \"react-colorful__saturation-pointer\",\n top: 1 - t.v / 100,\n left: t.s / 100,\n color: w(t)\n })));\n}),\n A = function A(e, r) {\n if (e === r) return !0;\n\n for (var t in e) {\n if (e[t] !== r[t]) return !1;\n }\n\n return !0;\n},\n S = function S(e, r) {\n return e.replace(/\\s/g, \"\") === r.replace(/\\s/g, \"\");\n};\n\nfunction T(e, t, l) {\n var u = i(l),\n c = useState(function () {\n return e.toHsva(t);\n }),\n s = c[0],\n f = c[1],\n v = useRef({\n color: t,\n hsva: s\n });\n useEffect(function () {\n if (!e.equal(t, v.current.color)) {\n var r = e.toHsva(t);\n v.current = {\n hsva: r,\n color: t\n }, f(r);\n }\n }, [t, e]), useEffect(function () {\n var r;\n A(s, v.current.hsva) || e.equal(r = e.fromHsva(s), v.current.color) || (v.current = {\n hsva: s,\n color: r\n }, u(r));\n }, [s, e, u]);\n var d = useCallback(function (e) {\n f(function (r) {\n return Object.assign({}, r, e);\n });\n }, []);\n return [s, d];\n}\n\nvar P = \"undefined\" != typeof window ? useLayoutEffect : useEffect,\n X = function X() {\n return \"undefined\" != typeof __webpack_nonce__ ? __webpack_nonce__ : void 0;\n},\n R = new Map(),\n V = function V(e) {\n P(function () {\n var r = e.current ? e.current.ownerDocument : document;\n\n if (void 0 !== r && !R.has(r)) {\n var t = r.createElement(\"style\");\n t.innerHTML = '.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:\"\";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\\'data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill-opacity=\".05\"><path d=\"M8 0h8v8H8zM0 8h8v8H0z\"/></svg>\\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}', R.set(r, t);\n var n = X();\n n && t.setAttribute(\"nonce\", n), r.head.appendChild(t);\n }\n }, []);\n},\n $ = function $(t) {\n var n = t.className,\n o = t.colorModel,\n a = t.color,\n l = void 0 === a ? o.defaultColor : a,\n i = t.onChange,\n s = c(t, [\"className\", \"colorModel\", \"color\", \"onChange\"]),\n f = useRef(null);\n V(f);\n var v = T(o, l, i),\n d = v[0],\n h = v[1],\n m = g([\"react-colorful\", n]);\n return React__default.createElement(\"div\", u({}, s, {\n ref: f,\n className: m\n }), React__default.createElement(L, {\n hsva: d,\n onChange: h\n }), React__default.createElement(K, {\n hue: d.h,\n onChange: h,\n className: \"react-colorful__last-control\"\n }));\n},\n G = {\n defaultColor: \"000\",\n toHsva: function toHsva(e) {\n return B(x(e));\n },\n fromHsva: function fromHsva(e) {\n return t = (r = q(e)).g, n = r.b, \"#\" + z(r.r) + z(t) + z(n);\n var r, t, n;\n },\n equal: function equal(e, r) {\n return e.toLowerCase() === r.toLowerCase() || A(x(e), x(r));\n }\n},\n J = function J(r) {\n return React__default.createElement($, u({}, r, {\n colorModel: G\n }));\n},\n Q = function Q(r) {\n var t = r.className,\n n = r.hsva,\n o = r.onChange,\n a = {\n backgroundImage: \"linear-gradient(90deg, \" + y(Object.assign({}, n, {\n a: 0\n })) + \", \" + y(Object.assign({}, n, {\n a: 1\n })) + \")\"\n },\n l = g([\"react-colorful__alpha\", t]);\n return React__default.createElement(\"div\", {\n className: l\n }, React__default.createElement(\"div\", {\n className: \"react-colorful__alpha-gradient\",\n style: a\n }), React__default.createElement(m, {\n onMove: function onMove(e) {\n o({\n a: e.left\n });\n },\n onKey: function onKey(e) {\n o({\n a: s(n.a + e.left)\n });\n },\n \"aria-label\": \"Alpha\",\n \"aria-valuetext\": b(100 * n.a) + \"%\"\n }, React__default.createElement(p, {\n className: \"react-colorful__alpha-pointer\",\n left: n.a,\n color: y(n)\n })));\n},\n U = function U(t) {\n var n = t.className,\n o = t.colorModel,\n a = t.color,\n l = void 0 === a ? o.defaultColor : a,\n i = t.onChange,\n s = c(t, [\"className\", \"colorModel\", \"color\", \"onChange\"]),\n f = useRef(null);\n V(f);\n var v = T(o, l, i),\n d = v[0],\n h = v[1],\n m = g([\"react-colorful\", n]);\n return React__default.createElement(\"div\", u({}, s, {\n ref: f,\n className: m\n }), React__default.createElement(L, {\n hsva: d,\n onChange: h\n }), React__default.createElement(K, {\n hue: d.h,\n onChange: h\n }), React__default.createElement(Q, {\n hsva: d,\n onChange: h,\n className: \"react-colorful__last-control\"\n }));\n},\n ee = {\n defaultColor: \"hsla(0, 0%, 0%, 1)\",\n toHsva: E,\n fromHsva: y,\n equal: S\n},\n re = function re(r) {\n return React__default.createElement(U, u({}, r, {\n colorModel: ee\n }));\n},\n ge = {\n defaultColor: \"rgba(0, 0, 0, 1)\",\n toHsva: I,\n fromHsva: function fromHsva(e) {\n var r = q(e);\n return \"rgba(\" + r.r + \", \" + r.g + \", \" + r.b + \", \" + r.a + \")\";\n },\n equal: S\n},\n pe = function pe(r) {\n return React__default.createElement(U, u({}, r, {\n colorModel: ge\n }));\n};\n\nvar colorName = {\n \"aliceblue\": [240, 248, 255],\n \"antiquewhite\": [250, 235, 215],\n \"aqua\": [0, 255, 255],\n \"aquamarine\": [127, 255, 212],\n \"azure\": [240, 255, 255],\n \"beige\": [245, 245, 220],\n \"bisque\": [255, 228, 196],\n \"black\": [0, 0, 0],\n \"blanchedalmond\": [255, 235, 205],\n \"blue\": [0, 0, 255],\n \"blueviolet\": [138, 43, 226],\n \"brown\": [165, 42, 42],\n \"burlywood\": [222, 184, 135],\n \"cadetblue\": [95, 158, 160],\n \"chartreuse\": [127, 255, 0],\n \"chocolate\": [210, 105, 30],\n \"coral\": [255, 127, 80],\n \"cornflowerblue\": [100, 149, 237],\n \"cornsilk\": [255, 248, 220],\n \"crimson\": [220, 20, 60],\n \"cyan\": [0, 255, 255],\n \"darkblue\": [0, 0, 139],\n \"darkcyan\": [0, 139, 139],\n \"darkgoldenrod\": [184, 134, 11],\n \"darkgray\": [169, 169, 169],\n \"darkgreen\": [0, 100, 0],\n \"darkgrey\": [169, 169, 169],\n \"darkkhaki\": [189, 183, 107],\n \"darkmagenta\": [139, 0, 139],\n \"darkolivegreen\": [85, 107, 47],\n \"darkorange\": [255, 140, 0],\n \"darkorchid\": [153, 50, 204],\n \"darkred\": [139, 0, 0],\n \"darksalmon\": [233, 150, 122],\n \"darkseagreen\": [143, 188, 143],\n \"darkslateblue\": [72, 61, 139],\n \"darkslategray\": [47, 79, 79],\n \"darkslategrey\": [47, 79, 79],\n \"darkturquoise\": [0, 206, 209],\n \"darkviolet\": [148, 0, 211],\n \"deeppink\": [255, 20, 147],\n \"deepskyblue\": [0, 191, 255],\n \"dimgray\": [105, 105, 105],\n \"dimgrey\": [105, 105, 105],\n \"dodgerblue\": [30, 144, 255],\n \"firebrick\": [178, 34, 34],\n \"floralwhite\": [255, 250, 240],\n \"forestgreen\": [34, 139, 34],\n \"fuchsia\": [255, 0, 255],\n \"gainsboro\": [220, 220, 220],\n \"ghostwhite\": [248, 248, 255],\n \"gold\": [255, 215, 0],\n \"goldenrod\": [218, 165, 32],\n \"gray\": [128, 128, 128],\n \"green\": [0, 128, 0],\n \"greenyellow\": [173, 255, 47],\n \"grey\": [128, 128, 128],\n \"honeydew\": [240, 255, 240],\n \"hotpink\": [255, 105, 180],\n \"indianred\": [205, 92, 92],\n \"indigo\": [75, 0, 130],\n \"ivory\": [255, 255, 240],\n \"khaki\": [240, 230, 140],\n \"lavender\": [230, 230, 250],\n \"lavenderblush\": [255, 240, 245],\n \"lawngreen\": [124, 252, 0],\n \"lemonchiffon\": [255, 250, 205],\n \"lightblue\": [173, 216, 230],\n \"lightcoral\": [240, 128, 128],\n \"lightcyan\": [224, 255, 255],\n \"lightgoldenrodyellow\": [250, 250, 210],\n \"lightgray\": [211, 211, 211],\n \"lightgreen\": [144, 238, 144],\n \"lightgrey\": [211, 211, 211],\n \"lightpink\": [255, 182, 193],\n \"lightsalmon\": [255, 160, 122],\n \"lightseagreen\": [32, 178, 170],\n \"lightskyblue\": [135, 206, 250],\n \"lightslategray\": [119, 136, 153],\n \"lightslategrey\": [119, 136, 153],\n \"lightsteelblue\": [176, 196, 222],\n \"lightyellow\": [255, 255, 224],\n \"lime\": [0, 255, 0],\n \"limegreen\": [50, 205, 50],\n \"linen\": [250, 240, 230],\n \"magenta\": [255, 0, 255],\n \"maroon\": [128, 0, 0],\n \"mediumaquamarine\": [102, 205, 170],\n \"mediumblue\": [0, 0, 205],\n \"mediumorchid\": [186, 85, 211],\n \"mediumpurple\": [147, 112, 219],\n \"mediumseagreen\": [60, 179, 113],\n \"mediumslateblue\": [123, 104, 238],\n \"mediumspringgreen\": [0, 250, 154],\n \"mediumturquoise\": [72, 209, 204],\n \"mediumvioletred\": [199, 21, 133],\n \"midnightblue\": [25, 25, 112],\n \"mintcream\": [245, 255, 250],\n \"mistyrose\": [255, 228, 225],\n \"moccasin\": [255, 228, 181],\n \"navajowhite\": [255, 222, 173],\n \"navy\": [0, 0, 128],\n \"oldlace\": [253, 245, 230],\n \"olive\": [128, 128, 0],\n \"olivedrab\": [107, 142, 35],\n \"orange\": [255, 165, 0],\n \"orangered\": [255, 69, 0],\n \"orchid\": [218, 112, 214],\n \"palegoldenrod\": [238, 232, 170],\n \"palegreen\": [152, 251, 152],\n \"paleturquoise\": [175, 238, 238],\n \"palevioletred\": [219, 112, 147],\n \"papayawhip\": [255, 239, 213],\n \"peachpuff\": [255, 218, 185],\n \"peru\": [205, 133, 63],\n \"pink\": [255, 192, 203],\n \"plum\": [221, 160, 221],\n \"powderblue\": [176, 224, 230],\n \"purple\": [128, 0, 128],\n \"rebeccapurple\": [102, 51, 153],\n \"red\": [255, 0, 0],\n \"rosybrown\": [188, 143, 143],\n \"royalblue\": [65, 105, 225],\n \"saddlebrown\": [139, 69, 19],\n \"salmon\": [250, 128, 114],\n \"sandybrown\": [244, 164, 96],\n \"seagreen\": [46, 139, 87],\n \"seashell\": [255, 245, 238],\n \"sienna\": [160, 82, 45],\n \"silver\": [192, 192, 192],\n \"skyblue\": [135, 206, 235],\n \"slateblue\": [106, 90, 205],\n \"slategray\": [112, 128, 144],\n \"slategrey\": [112, 128, 144],\n \"snow\": [255, 250, 250],\n \"springgreen\": [0, 255, 127],\n \"steelblue\": [70, 130, 180],\n \"tan\": [210, 180, 140],\n \"teal\": [0, 128, 128],\n \"thistle\": [216, 191, 216],\n \"tomato\": [255, 99, 71],\n \"turquoise\": [64, 224, 208],\n \"violet\": [238, 130, 238],\n \"wheat\": [245, 222, 179],\n \"white\": [255, 255, 255],\n \"whitesmoke\": [245, 245, 245],\n \"yellow\": [255, 255, 0],\n \"yellowgreen\": [154, 205, 50]\n};\n/* MIT license */\n\n/* eslint-disable no-mixed-operators */\n\nvar cssKeywords = colorName; // NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\n\nfor (var _i = 0, _Object$keys = Object.keys(cssKeywords); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n reverseKeywords[cssKeywords[key]] = key;\n}\n\nvar convert$1 = {\n rgb: {\n channels: 3,\n labels: 'rgb'\n },\n hsl: {\n channels: 3,\n labels: 'hsl'\n },\n hsv: {\n channels: 3,\n labels: 'hsv'\n },\n hwb: {\n channels: 3,\n labels: 'hwb'\n },\n cmyk: {\n channels: 4,\n labels: 'cmyk'\n },\n xyz: {\n channels: 3,\n labels: 'xyz'\n },\n lab: {\n channels: 3,\n labels: 'lab'\n },\n lch: {\n channels: 3,\n labels: 'lch'\n },\n hex: {\n channels: 1,\n labels: ['hex']\n },\n keyword: {\n channels: 1,\n labels: ['keyword']\n },\n ansi16: {\n channels: 1,\n labels: ['ansi16']\n },\n ansi256: {\n channels: 1,\n labels: ['ansi256']\n },\n hcg: {\n channels: 3,\n labels: ['h', 'c', 'g']\n },\n apple: {\n channels: 3,\n labels: ['r16', 'g16', 'b16']\n },\n gray: {\n channels: 1,\n labels: ['gray']\n }\n};\nvar conversions$2 = convert$1; // Hide .channels and .labels properties\n\nfor (var _i2 = 0, _Object$keys2 = Object.keys(convert$1); _i2 < _Object$keys2.length; _i2++) {\n var model = _Object$keys2[_i2];\n\n if (!('channels' in convert$1[model])) {\n throw new Error('missing channels property: ' + model);\n }\n\n if (!('labels' in convert$1[model])) {\n throw new Error('missing channel labels property: ' + model);\n }\n\n if (convert$1[model].labels.length !== convert$1[model].channels) {\n throw new Error('channel and label counts mismatch: ' + model);\n }\n\n var _convert$1$model = convert$1[model],\n channels = _convert$1$model.channels,\n labels = _convert$1$model.labels;\n delete convert$1[model].channels;\n delete convert$1[model].labels;\n Object.defineProperty(convert$1[model], 'channels', {\n value: channels\n });\n Object.defineProperty(convert$1[model], 'labels', {\n value: labels\n });\n}\n\nconvert$1.rgb.hsl = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var h;\n var s;\n\n if (max === min) {\n h = 0;\n } else if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else if (b === max) {\n h = 4 + (r - g) / delta;\n }\n\n h = Math.min(h * 60, 360);\n\n if (h < 0) {\n h += 360;\n }\n\n var l = (min + max) / 2;\n\n if (max === min) {\n s = 0;\n } else if (l <= 0.5) {\n s = delta / (max + min);\n } else {\n s = delta / (2 - max - min);\n }\n\n return [h, s * 100, l * 100];\n};\n\nconvert$1.rgb.hsv = function (rgb) {\n var rdif;\n var gdif;\n var bdif;\n var h;\n var s;\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var v = Math.max(r, g, b);\n var diff = v - Math.min(r, g, b);\n\n var diffc = function diffc(c) {\n return (v - c) / 6 / diff + 1 / 2;\n };\n\n if (diff === 0) {\n h = 0;\n s = 0;\n } else {\n s = diff / v;\n rdif = diffc(r);\n gdif = diffc(g);\n bdif = diffc(b);\n\n if (r === v) {\n h = bdif - gdif;\n } else if (g === v) {\n h = 1 / 3 + rdif - bdif;\n } else if (b === v) {\n h = 2 / 3 + gdif - rdif;\n }\n\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n }\n\n return [h * 360, s * 100, v * 100];\n};\n\nconvert$1.rgb.hwb = function (rgb) {\n var r = rgb[0];\n var g = rgb[1];\n var b = rgb[2];\n var h = convert$1.rgb.hsl(rgb)[0];\n var w = 1 / 255 * Math.min(r, Math.min(g, b));\n b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n return [h, w * 100, b * 100];\n};\n\nconvert$1.rgb.cmyk = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var k = Math.min(1 - r, 1 - g, 1 - b);\n var c = (1 - r - k) / (1 - k) || 0;\n var m = (1 - g - k) / (1 - k) || 0;\n var y = (1 - b - k) / (1 - k) || 0;\n return [c * 100, m * 100, y * 100, k * 100];\n};\n\nfunction comparativeDistance(x, y) {\n /*\n \tSee https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n */\n return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);\n}\n\nconvert$1.rgb.keyword = function (rgb) {\n var reversed = reverseKeywords[rgb];\n\n if (reversed) {\n return reversed;\n }\n\n var currentClosestDistance = Infinity;\n var currentClosestKeyword;\n\n for (var _i3 = 0, _Object$keys3 = Object.keys(cssKeywords); _i3 < _Object$keys3.length; _i3++) {\n var keyword = _Object$keys3[_i3];\n var value = cssKeywords[keyword]; // Compute comparative distance\n\n var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest\n\n if (distance < currentClosestDistance) {\n currentClosestDistance = distance;\n currentClosestKeyword = keyword;\n }\n }\n\n return currentClosestKeyword;\n};\n\nconvert$1.keyword.rgb = function (keyword) {\n return cssKeywords[keyword];\n};\n\nconvert$1.rgb.xyz = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255; // Assume sRGB\n\n r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;\n g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;\n b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;\n var x = r * 0.4124 + g * 0.3576 + b * 0.1805;\n var y = r * 0.2126 + g * 0.7152 + b * 0.0722;\n var z = r * 0.0193 + g * 0.1192 + b * 0.9505;\n return [x * 100, y * 100, z * 100];\n};\n\nconvert$1.rgb.lab = function (rgb) {\n var xyz = convert$1.rgb.xyz(rgb);\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n var l = 116 * y - 16;\n var a = 500 * (x - y);\n var b = 200 * (y - z);\n return [l, a, b];\n};\n\nconvert$1.hsl.rgb = function (hsl) {\n var h = hsl[0] / 360;\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var t2;\n var t3;\n var val;\n\n if (s === 0) {\n val = l * 255;\n return [val, val, val];\n }\n\n if (l < 0.5) {\n t2 = l * (1 + s);\n } else {\n t2 = l + s - l * s;\n }\n\n var t1 = 2 * l - t2;\n var rgb = [0, 0, 0];\n\n for (var _i4 = 0; _i4 < 3; _i4++) {\n t3 = h + 1 / 3 * -(_i4 - 1);\n\n if (t3 < 0) {\n t3++;\n }\n\n if (t3 > 1) {\n t3--;\n }\n\n if (6 * t3 < 1) {\n val = t1 + (t2 - t1) * 6 * t3;\n } else if (2 * t3 < 1) {\n val = t2;\n } else if (3 * t3 < 2) {\n val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n } else {\n val = t1;\n }\n\n rgb[_i4] = val * 255;\n }\n\n return rgb;\n};\n\nconvert$1.hsl.hsv = function (hsl) {\n var h = hsl[0];\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var smin = s;\n var lmin = Math.max(l, 0.01);\n l *= 2;\n s *= l <= 1 ? l : 2 - l;\n smin *= lmin <= 1 ? lmin : 2 - lmin;\n var v = (l + s) / 2;\n var sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);\n return [h, sv * 100, v * 100];\n};\n\nconvert$1.hsv.rgb = function (hsv) {\n var h = hsv[0] / 60;\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var hi = Math.floor(h) % 6;\n var f = h - Math.floor(h);\n var p = 255 * v * (1 - s);\n var q = 255 * v * (1 - s * f);\n var t = 255 * v * (1 - s * (1 - f));\n v *= 255;\n\n switch (hi) {\n case 0:\n return [v, t, p];\n\n case 1:\n return [q, v, p];\n\n case 2:\n return [p, v, t];\n\n case 3:\n return [p, q, v];\n\n case 4:\n return [t, p, v];\n\n case 5:\n return [v, p, q];\n }\n};\n\nconvert$1.hsv.hsl = function (hsv) {\n var h = hsv[0];\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var vmin = Math.max(v, 0.01);\n var sl;\n var l;\n l = (2 - s) * v;\n var lmin = (2 - s) * vmin;\n sl = s * vmin;\n sl /= lmin <= 1 ? lmin : 2 - lmin;\n sl = sl || 0;\n l /= 2;\n return [h, sl * 100, l * 100];\n}; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb\n\n\nconvert$1.hwb.rgb = function (hwb) {\n var h = hwb[0] / 360;\n var wh = hwb[1] / 100;\n var bl = hwb[2] / 100;\n var ratio = wh + bl;\n var f; // Wh + bl cant be > 1\n\n if (ratio > 1) {\n wh /= ratio;\n bl /= ratio;\n }\n\n var i = Math.floor(6 * h);\n var v = 1 - bl;\n f = 6 * h - i;\n\n if ((i & 0x01) !== 0) {\n f = 1 - f;\n }\n\n var n = wh + f * (v - wh); // Linear interpolation\n\n var r;\n var g;\n var b;\n /* eslint-disable max-statements-per-line,no-multi-spaces */\n\n switch (i) {\n default:\n case 6:\n case 0:\n r = v;\n g = n;\n b = wh;\n break;\n\n case 1:\n r = n;\n g = v;\n b = wh;\n break;\n\n case 2:\n r = wh;\n g = v;\n b = n;\n break;\n\n case 3:\n r = wh;\n g = n;\n b = v;\n break;\n\n case 4:\n r = n;\n g = wh;\n b = v;\n break;\n\n case 5:\n r = v;\n g = wh;\n b = n;\n break;\n }\n /* eslint-enable max-statements-per-line,no-multi-spaces */\n\n\n return [r * 255, g * 255, b * 255];\n};\n\nconvert$1.cmyk.rgb = function (cmyk) {\n var c = cmyk[0] / 100;\n var m = cmyk[1] / 100;\n var y = cmyk[2] / 100;\n var k = cmyk[3] / 100;\n var r = 1 - Math.min(1, c * (1 - k) + k);\n var g = 1 - Math.min(1, m * (1 - k) + k);\n var b = 1 - Math.min(1, y * (1 - k) + k);\n return [r * 255, g * 255, b * 255];\n};\n\nconvert$1.xyz.rgb = function (xyz) {\n var x = xyz[0] / 100;\n var y = xyz[1] / 100;\n var z = xyz[2] / 100;\n var r;\n var g;\n var b;\n r = x * 3.2406 + y * -1.5372 + z * -0.4986;\n g = x * -0.9689 + y * 1.8758 + z * 0.0415;\n b = x * 0.0557 + y * -0.2040 + z * 1.0570; // Assume sRGB\n\n r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;\n g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;\n b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;\n r = Math.min(Math.max(0, r), 1);\n g = Math.min(Math.max(0, g), 1);\n b = Math.min(Math.max(0, b), 1);\n return [r * 255, g * 255, b * 255];\n};\n\nconvert$1.xyz.lab = function (xyz) {\n var x = xyz[0];\n var y = xyz[1];\n var z = xyz[2];\n x /= 95.047;\n y /= 100;\n z /= 108.883;\n x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;\n y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;\n z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;\n var l = 116 * y - 16;\n var a = 500 * (x - y);\n var b = 200 * (y - z);\n return [l, a, b];\n};\n\nconvert$1.lab.xyz = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var x;\n var y;\n var z;\n y = (l + 16) / 116;\n x = a / 500 + y;\n z = y - b / 200;\n var y2 = Math.pow(y, 3);\n var x2 = Math.pow(x, 3);\n var z2 = Math.pow(z, 3);\n y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n x *= 95.047;\n y *= 100;\n z *= 108.883;\n return [x, y, z];\n};\n\nconvert$1.lab.lch = function (lab) {\n var l = lab[0];\n var a = lab[1];\n var b = lab[2];\n var h;\n var hr = Math.atan2(b, a);\n h = hr * 360 / 2 / Math.PI;\n\n if (h < 0) {\n h += 360;\n }\n\n var c = Math.sqrt(a * a + b * b);\n return [l, c, h];\n};\n\nconvert$1.lch.lab = function (lch) {\n var l = lch[0];\n var c = lch[1];\n var h = lch[2];\n var hr = h / 360 * 2 * Math.PI;\n var a = c * Math.cos(hr);\n var b = c * Math.sin(hr);\n return [l, a, b];\n};\n\nconvert$1.rgb.ansi16 = function (args) {\n var saturation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n var _args = _slicedToArray(args, 3),\n r = _args[0],\n g = _args[1],\n b = _args[2];\n\n var value = saturation === null ? convert$1.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization\n\n value = Math.round(value / 50);\n\n if (value === 0) {\n return 30;\n }\n\n var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));\n\n if (value === 2) {\n ansi += 60;\n }\n\n return ansi;\n};\n\nconvert$1.hsv.ansi16 = function (args) {\n // Optimization here; we already know the value and don't need to get\n // it converted for us.\n return convert$1.rgb.ansi16(convert$1.hsv.rgb(args), args[2]);\n};\n\nconvert$1.rgb.ansi256 = function (args) {\n var r = args[0];\n var g = args[1];\n var b = args[2]; // We use the extended greyscale palette here, with the exception of\n // black and white. normal palette only has 4 greyscale shades.\n\n if (r === g && g === b) {\n if (r < 8) {\n return 16;\n }\n\n if (r > 248) {\n return 231;\n }\n\n return Math.round((r - 8) / 247 * 24) + 232;\n }\n\n var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);\n return ansi;\n};\n\nconvert$1.ansi16.rgb = function (args) {\n var color = args % 10; // Handle greyscale\n\n if (color === 0 || color === 7) {\n if (args > 50) {\n color += 3.5;\n }\n\n color = color / 10.5 * 255;\n return [color, color, color];\n }\n\n var mult = (~~(args > 50) + 1) * 0.5;\n var r = (color & 1) * mult * 255;\n var g = (color >> 1 & 1) * mult * 255;\n var b = (color >> 2 & 1) * mult * 255;\n return [r, g, b];\n};\n\nconvert$1.ansi256.rgb = function (args) {\n // Handle greyscale\n if (args >= 232) {\n var _c = (args - 232) * 10 + 8;\n\n return [_c, _c, _c];\n }\n\n args -= 16;\n var rem;\n var r = Math.floor(args / 36) / 5 * 255;\n var g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n var b = rem % 6 / 5 * 255;\n return [r, g, b];\n};\n\nconvert$1.rgb.hex = function (args) {\n var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n};\n\nconvert$1.hex.rgb = function (args) {\n var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\n if (!match) {\n return [0, 0, 0];\n }\n\n var colorString = match[0];\n\n if (match[0].length === 3) {\n colorString = colorString.split('').map(function (char) {\n return char + char;\n }).join('');\n }\n\n var integer = parseInt(colorString, 16);\n var r = integer >> 16 & 0xFF;\n var g = integer >> 8 & 0xFF;\n var b = integer & 0xFF;\n return [r, g, b];\n};\n\nconvert$1.rgb.hcg = function (rgb) {\n var r = rgb[0] / 255;\n var g = rgb[1] / 255;\n var b = rgb[2] / 255;\n var max = Math.max(Math.max(r, g), b);\n var min = Math.min(Math.min(r, g), b);\n var chroma = max - min;\n var grayscale;\n var hue;\n\n if (chroma < 1) {\n grayscale = min / (1 - chroma);\n } else {\n grayscale = 0;\n }\n\n if (chroma <= 0) {\n hue = 0;\n } else if (max === r) {\n hue = (g - b) / chroma % 6;\n } else if (max === g) {\n hue = 2 + (b - r) / chroma;\n } else {\n hue = 4 + (r - g) / chroma;\n }\n\n hue /= 6;\n hue %= 1;\n return [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert$1.hsl.hcg = function (hsl) {\n var s = hsl[1] / 100;\n var l = hsl[2] / 100;\n var c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l);\n var f = 0;\n\n if (c < 1.0) {\n f = (l - 0.5 * c) / (1.0 - c);\n }\n\n return [hsl[0], c * 100, f * 100];\n};\n\nconvert$1.hsv.hcg = function (hsv) {\n var s = hsv[1] / 100;\n var v = hsv[2] / 100;\n var c = s * v;\n var f = 0;\n\n if (c < 1.0) {\n f = (v - c) / (1 - c);\n }\n\n return [hsv[0], c * 100, f * 100];\n};\n\nconvert$1.hcg.rgb = function (hcg) {\n var h = hcg[0] / 360;\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n\n if (c === 0.0) {\n return [g * 255, g * 255, g * 255];\n }\n\n var pure = [0, 0, 0];\n var hi = h % 1 * 6;\n var v = hi % 1;\n var w = 1 - v;\n var mg = 0;\n /* eslint-disable max-statements-per-line */\n\n switch (Math.floor(hi)) {\n case 0:\n pure[0] = 1;\n pure[1] = v;\n pure[2] = 0;\n break;\n\n case 1:\n pure[0] = w;\n pure[1] = 1;\n pure[2] = 0;\n break;\n\n case 2:\n pure[0] = 0;\n pure[1] = 1;\n pure[2] = v;\n break;\n\n case 3:\n pure[0] = 0;\n pure[1] = w;\n pure[2] = 1;\n break;\n\n case 4:\n pure[0] = v;\n pure[1] = 0;\n pure[2] = 1;\n break;\n\n default:\n pure[0] = 1;\n pure[1] = 0;\n pure[2] = w;\n }\n /* eslint-enable max-statements-per-line */\n\n\n mg = (1.0 - c) * g;\n return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];\n};\n\nconvert$1.hcg.hsv = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n var f = 0;\n\n if (v > 0.0) {\n f = c / v;\n }\n\n return [hcg[0], f * 100, v * 100];\n};\n\nconvert$1.hcg.hsl = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var l = g * (1.0 - c) + 0.5 * c;\n var s = 0;\n\n if (l > 0.0 && l < 0.5) {\n s = c / (2 * l);\n } else if (l >= 0.5 && l < 1.0) {\n s = c / (2 * (1 - l));\n }\n\n return [hcg[0], s * 100, l * 100];\n};\n\nconvert$1.hcg.hwb = function (hcg) {\n var c = hcg[1] / 100;\n var g = hcg[2] / 100;\n var v = c + g * (1.0 - c);\n return [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert$1.hwb.hcg = function (hwb) {\n var w = hwb[1] / 100;\n var b = hwb[2] / 100;\n var v = 1 - b;\n var c = v - w;\n var g = 0;\n\n if (c < 1) {\n g = (v - c) / (1 - c);\n }\n\n return [hwb[0], c * 100, g * 100];\n};\n\nconvert$1.apple.rgb = function (apple) {\n return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];\n};\n\nconvert$1.rgb.apple = function (rgb) {\n return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];\n};\n\nconvert$1.gray.rgb = function (args) {\n return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert$1.gray.hsl = function (args) {\n return [0, 0, args[0]];\n};\n\nconvert$1.gray.hsv = convert$1.gray.hsl;\n\nconvert$1.gray.hwb = function (gray) {\n return [0, 100, gray[0]];\n};\n\nconvert$1.gray.cmyk = function (gray) {\n return [0, 0, 0, gray[0]];\n};\n\nconvert$1.gray.lab = function (gray) {\n return [gray[0], 0, 0];\n};\n\nconvert$1.gray.hex = function (gray) {\n var val = Math.round(gray[0] / 100 * 255) & 0xFF;\n var integer = (val << 16) + (val << 8) + val;\n var string = integer.toString(16).toUpperCase();\n return '000000'.substring(string.length) + string;\n};\n\nconvert$1.rgb.gray = function (rgb) {\n var val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n return [val / 255 * 100];\n};\n\nvar conversions$1 = conversions$2;\n/*\n\tThis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\n var models = Object.keys(conversions$1);\n\n for (var len = models.length, _i5 = 0; _i5 < len; _i5++) {\n graph[models[_i5]] = {\n // http://jsperf.com/1-vs-infinity\n // micro-opt, but this is simple.\n distance: -1,\n parent: null\n };\n }\n\n return graph;\n} // https://en.wikipedia.org/wiki/Breadth-first_search\n\n\nfunction deriveBFS(fromModel) {\n var graph = buildGraph();\n var queue = [fromModel]; // Unshift -> queue -> pop\n\n graph[fromModel].distance = 0;\n\n while (queue.length) {\n var current = queue.pop();\n var adjacents = Object.keys(conversions$1[current]);\n\n for (var len = adjacents.length, _i6 = 0; _i6 < len; _i6++) {\n var adjacent = adjacents[_i6];\n var node = graph[adjacent];\n\n if (node.distance === -1) {\n node.distance = graph[current].distance + 1;\n node.parent = current;\n queue.unshift(adjacent);\n }\n }\n }\n\n return graph;\n}\n\nfunction link(from, to) {\n return function (args) {\n return to(from(args));\n };\n}\n\nfunction wrapConversion(toModel, graph) {\n var path = [graph[toModel].parent, toModel];\n var fn = conversions$1[graph[toModel].parent][toModel];\n var cur = graph[toModel].parent;\n\n while (graph[cur].parent) {\n path.unshift(graph[cur].parent);\n fn = link(conversions$1[graph[cur].parent][cur], fn);\n cur = graph[cur].parent;\n }\n\n fn.conversion = path;\n return fn;\n}\n\nvar route$1 = function route$1(fromModel) {\n var graph = deriveBFS(fromModel);\n var conversion = {};\n var models = Object.keys(graph);\n\n for (var len = models.length, _i7 = 0; _i7 < len; _i7++) {\n var toModel = models[_i7];\n var node = graph[toModel];\n\n if (node.parent === null) {\n // No possible conversion, or this node is the source model.\n continue;\n }\n\n conversion[toModel] = wrapConversion(toModel, graph);\n }\n\n return conversion;\n};\n\nvar conversions = conversions$2;\nvar route = route$1;\nvar convert = {};\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n var wrappedFn = function wrappedFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var arg0 = args[0];\n\n if (arg0 === undefined || arg0 === null) {\n return arg0;\n }\n\n if (arg0.length > 1) {\n args = arg0;\n }\n\n return fn(args);\n }; // Preserve .conversion property if there is one\n\n\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n\n return wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n var wrappedFn = function wrappedFn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var arg0 = args[0];\n\n if (arg0 === undefined || arg0 === null) {\n return arg0;\n }\n\n if (arg0.length > 1) {\n args = arg0;\n }\n\n var result = fn(args); // We're assuming the result is an array here.\n // see notice in conversions.js; don't use box types\n // in conversion functions.\n\n if (_typeof(result) === 'object') {\n for (var len = result.length, _i8 = 0; _i8 < len; _i8++) {\n result[_i8] = Math.round(result[_i8]);\n }\n }\n\n return result;\n }; // Preserve .conversion property if there is one\n\n\n if ('conversion' in fn) {\n wrappedFn.conversion = fn.conversion;\n }\n\n return wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n convert[fromModel] = {};\n Object.defineProperty(convert[fromModel], 'channels', {\n value: conversions[fromModel].channels\n });\n Object.defineProperty(convert[fromModel], 'labels', {\n value: conversions[fromModel].labels\n });\n var routes = route(fromModel);\n var routeModels = Object.keys(routes);\n routeModels.forEach(function (toModel) {\n var fn = routes[toModel];\n convert[fromModel][toModel] = wrapRounded(fn);\n convert[fromModel][toModel].raw = wrapRaw(fn);\n });\n});\nvar colorConvert = convert;\nvar root = _root;\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n\nvar now$1 = function now$1() {\n return root.Date.now();\n};\n\nvar now_1 = now$1;\n/** Used to match a single whitespace character. */\n\nvar reWhitespace = /\\s/;\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n\nfunction trimmedEndIndex$1(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n\n return index;\n}\n\nvar _trimmedEndIndex = trimmedEndIndex$1;\nvar trimmedEndIndex = _trimmedEndIndex;\n/** Used to match leading whitespace. */\n\nvar reTrimStart = /^\\s+/;\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n\nfunction baseTrim$1(string) {\n return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') : string;\n}\n\nvar _baseTrim = baseTrim$1;\nvar baseTrim = _baseTrim,\n isObject$2 = isObject_1,\n isSymbol = isSymbol_1;\n/** Used as references for various `Number` constants. */\n\nvar NAN = 0 / 0;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n\nfunction toNumber$1(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject$2(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject$2(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\n\nvar toNumber_1 = toNumber$1;\nvar isObject$1 = isObject_1,\n now = now_1,\n toNumber = toNumber_1;\n/** Error message constants. */\n\nvar FUNC_ERROR_TEXT$1 = 'Expected a function';\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n\nfunction debounce$1(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT$1);\n }\n\n wait = toNumber(wait) || 0;\n\n if (isObject$1(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time; // Start the timer for the trailing edge.\n\n timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.\n\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n } // Restart the timer.\n\n\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n\n return result;\n }\n\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nvar debounce_1 = debounce$1;\nvar debounce = debounce_1,\n isObject = isObject_1;\n/** Error message constants. */\n\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nvar throttle_1 = throttle;\nvar Wrapper = styled.div({\n position: 'relative',\n maxWidth: 250\n});\nvar PickerTooltip = styled(WithTooltip)({\n position: 'absolute',\n zIndex: 1,\n top: 4,\n left: 4\n});\nvar TooltipContent = styled.div({\n width: 200,\n margin: 5,\n '.react-colorful__saturation': {\n borderRadius: '4px 4px 0 0'\n },\n '.react-colorful__hue': {\n boxShadow: 'inset 0 0 0 1px rgb(0 0 0 / 5%)'\n },\n '.react-colorful__last-control': {\n borderRadius: '0 0 4px 4px'\n }\n});\nvar Note = styled(TooltipNote)(function (_ref) {\n var theme = _ref.theme;\n return {\n fontFamily: theme.typography.fonts.base\n };\n});\nvar Swatches = styled.div({\n display: 'grid',\n gridTemplateColumns: 'repeat(9, 16px)',\n gap: 6,\n padding: 3,\n marginTop: 5,\n width: 200\n});\nvar SwatchColor = styled.div(function (_ref2) {\n var theme = _ref2.theme,\n active = _ref2.active;\n return {\n width: 16,\n height: 16,\n boxShadow: active ? \"\".concat(theme.appBorderColor, \" 0 0 0 1px inset, \").concat(theme.color.mediumdark, \"50 0 0 0 4px\") : \"\".concat(theme.appBorderColor, \" 0 0 0 1px inset\"),\n borderRadius: theme.appBorderRadius\n };\n});\nvar swatchBackground = \"url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"16\\\" height=\\\"16\\\" fill-opacity=\\\".05\\\"><path d=\\\"M8 0h8v8H8zM0 8h8v8H0z\\\"/></svg>')\";\n\nvar Swatch = function Swatch(_a) {\n var value = _a.value,\n active = _a.active,\n onClick = _a.onClick,\n style = _a.style,\n props = __rest(_a, [\"value\", \"active\", \"onClick\", \"style\"]);\n\n var backgroundImage = \"linear-gradient(\".concat(value, \", \").concat(value, \"), \").concat(swatchBackground, \", linear-gradient(#fff, #fff)\");\n return React__default.createElement(SwatchColor, Object.assign({}, props, {\n active: active,\n onClick: onClick\n }, {\n style: Object.assign(Object.assign({}, style), {\n backgroundImage: backgroundImage\n })\n }));\n};\n\nvar Input = styled(Form.Input)(function (_ref3) {\n var theme = _ref3.theme;\n return {\n width: '100%',\n paddingLeft: 30,\n paddingRight: 30,\n boxSizing: 'border-box',\n fontFamily: theme.typography.fonts.base\n };\n});\nvar ToggleIcon = styled(Icons)(function (_ref4) {\n var theme = _ref4.theme;\n return {\n position: 'absolute',\n zIndex: 1,\n top: 6,\n right: 7,\n width: 20,\n height: 20,\n padding: 4,\n boxSizing: 'border-box',\n cursor: 'pointer',\n color: theme.input.color\n };\n});\nvar ColorSpace;\n\n(function (ColorSpace) {\n ColorSpace[\"RGB\"] = \"rgb\";\n ColorSpace[\"HSL\"] = \"hsl\";\n ColorSpace[\"HEX\"] = \"hex\";\n})(ColorSpace || (ColorSpace = {}));\n\nvar COLOR_SPACES = Object.values(ColorSpace);\nvar COLOR_REGEXP = /\\(([0-9]+),\\s*([0-9]+)%?,\\s*([0-9]+)%?,?\\s*([0-9.]+)?\\)/;\nvar RGB_REGEXP = /^\\s*rgba?\\(([0-9]+),\\s*([0-9]+),\\s*([0-9]+),?\\s*([0-9.]+)?\\)\\s*$/i;\nvar HSL_REGEXP = /^\\s*hsla?\\(([0-9]+),\\s*([0-9]+)%,\\s*([0-9]+)%,?\\s*([0-9.]+)?\\)\\s*$/i;\nvar HEX_REGEXP = /^\\s*#?([0-9a-f]{3}|[0-9a-f]{6})\\s*$/i;\nvar SHORTHEX_REGEXP = /^\\s*#?([0-9a-f]{3})\\s*$/i;\nvar ColorPicker = (_ColorPicker = {}, _defineProperty(_ColorPicker, ColorSpace.HEX, J), _defineProperty(_ColorPicker, ColorSpace.RGB, pe), _defineProperty(_ColorPicker, ColorSpace.HSL, re), _ColorPicker);\nvar fallbackColor = (_fallbackColor = {}, _defineProperty(_fallbackColor, ColorSpace.HEX, 'transparent'), _defineProperty(_fallbackColor, ColorSpace.RGB, 'rgba(0, 0, 0, 0)'), _defineProperty(_fallbackColor, ColorSpace.HSL, 'hsla(0, 0%, 0%, 0)'), _fallbackColor);\n\nvar stringToArgs = function stringToArgs(value) {\n var match = value === null || value === void 0 ? void 0 : value.match(COLOR_REGEXP);\n if (!match) return [0, 0, 0, 1];\n\n var _match = _slicedToArray(match, 5),\n x = _match[1],\n y = _match[2],\n z = _match[3],\n _match$ = _match[4],\n a = _match$ === void 0 ? 1 : _match$;\n\n return [x, y, z, a].map(Number);\n};\n\nvar parseValue = function parseValue(value) {\n var _ref11;\n\n if (!value) return undefined;\n var valid = true;\n\n if (RGB_REGEXP.test(value)) {\n var _ref7;\n\n var _stringToArgs = stringToArgs(value),\n _stringToArgs2 = _slicedToArray(_stringToArgs, 4),\n r = _stringToArgs2[0],\n _g = _stringToArgs2[1],\n _b = _stringToArgs2[2],\n a = _stringToArgs2[3];\n\n var _ref5 = colorConvert.rgb.hsl([r, _g, _b]) || [0, 0, 0],\n _ref6 = _slicedToArray(_ref5, 3),\n _h = _ref6[0],\n _s2 = _ref6[1],\n l = _ref6[2];\n\n return _ref7 = {\n valid: valid,\n value: value,\n keyword: colorConvert.rgb.keyword([r, _g, _b]),\n colorSpace: ColorSpace.RGB\n }, _defineProperty(_ref7, ColorSpace.RGB, value), _defineProperty(_ref7, ColorSpace.HSL, \"hsla(\".concat(_h, \", \").concat(_s2, \"%, \").concat(l, \"%, \").concat(a, \")\")), _defineProperty(_ref7, ColorSpace.HEX, \"#\".concat(colorConvert.rgb.hex([r, _g, _b]).toLowerCase())), _ref7;\n }\n\n if (HSL_REGEXP.test(value)) {\n var _ref10;\n\n var _stringToArgs3 = stringToArgs(value),\n _stringToArgs4 = _slicedToArray(_stringToArgs3, 4),\n _h2 = _stringToArgs4[0],\n _s3 = _stringToArgs4[1],\n _l = _stringToArgs4[2],\n _a2 = _stringToArgs4[3];\n\n var _ref8 = colorConvert.hsl.rgb([_h2, _s3, _l]) || [0, 0, 0],\n _ref9 = _slicedToArray(_ref8, 3),\n _r = _ref9[0],\n _g2 = _ref9[1],\n _b2 = _ref9[2];\n\n return _ref10 = {\n valid: valid,\n value: value,\n keyword: colorConvert.hsl.keyword([_h2, _s3, _l]),\n colorSpace: ColorSpace.HSL\n }, _defineProperty(_ref10, ColorSpace.RGB, \"rgba(\".concat(_r, \", \").concat(_g2, \", \").concat(_b2, \", \").concat(_a2, \")\")), _defineProperty(_ref10, ColorSpace.HSL, value), _defineProperty(_ref10, ColorSpace.HEX, \"#\".concat(colorConvert.hsl.hex([_h2, _s3, _l]).toLowerCase())), _ref10;\n }\n\n var plain = value.replace('#', '');\n var rgb = colorConvert.keyword.rgb(plain) || colorConvert.hex.rgb(plain);\n var hsl = colorConvert.rgb.hsl(rgb);\n var mapped = value;\n if (/[^#a-f0-9]/i.test(value)) mapped = plain;else if (HEX_REGEXP.test(value)) mapped = \"#\".concat(plain);\n\n if (mapped.startsWith('#')) {\n valid = HEX_REGEXP.test(mapped);\n } else {\n try {\n colorConvert.keyword.hex(mapped);\n } catch (e) {\n valid = false;\n }\n }\n\n return _ref11 = {\n valid: valid,\n value: mapped,\n keyword: colorConvert.rgb.keyword(rgb),\n colorSpace: ColorSpace.HEX\n }, _defineProperty(_ref11, ColorSpace.RGB, \"rgba(\".concat(rgb[0], \", \").concat(rgb[1], \", \").concat(rgb[2], \", 1)\")), _defineProperty(_ref11, ColorSpace.HSL, \"hsla(\".concat(hsl[0], \", \").concat(hsl[1], \"%, \").concat(hsl[2], \"%, 1)\")), _defineProperty(_ref11, ColorSpace.HEX, mapped), _ref11;\n};\n\nvar getRealValue = function getRealValue(value, color, colorSpace) {\n if (!value || !(color === null || color === void 0 ? void 0 : color.valid)) return fallbackColor[colorSpace];\n if (colorSpace !== ColorSpace.HEX) return (color === null || color === void 0 ? void 0 : color[colorSpace]) || fallbackColor[colorSpace];\n\n if (!color.hex.startsWith('#')) {\n try {\n return \"#\".concat(colorConvert.keyword.hex(color.hex));\n } catch (e) {\n return fallbackColor.hex;\n }\n }\n\n var short = color.hex.match(SHORTHEX_REGEXP);\n if (!short) return HEX_REGEXP.test(color.hex) ? color.hex : fallbackColor.hex;\n\n var _short$1$split = short[1].split(''),\n _short$1$split2 = _slicedToArray(_short$1$split, 3),\n r = _short$1$split2[0],\n g = _short$1$split2[1],\n b = _short$1$split2[2];\n\n return \"#\".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b);\n};\n\nvar useColorInput = function useColorInput(initialValue, onChange) {\n var _useState = useState(initialValue || ''),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n\n var _useState3 = useState(function () {\n return parseValue(value);\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n color = _useState4[0],\n setColor = _useState4[1];\n\n var _useState5 = useState((color === null || color === void 0 ? void 0 : color.colorSpace) || ColorSpace.HEX),\n _useState6 = _slicedToArray(_useState5, 2),\n colorSpace = _useState6[0],\n setColorSpace = _useState6[1]; // Reset state when initialValue becomes undefined (when resetting controls)\n\n\n useEffect(function () {\n if (initialValue !== undefined) return;\n setValue('');\n setColor(undefined);\n setColorSpace(ColorSpace.HEX);\n }, [initialValue]);\n var realValue = useMemo(function () {\n return getRealValue(value, color, colorSpace).toLowerCase();\n }, [value, color, colorSpace]);\n var updateValue = useCallback(function (update) {\n var parsed = parseValue(update);\n setValue((parsed === null || parsed === void 0 ? void 0 : parsed.value) || update || '');\n if (!parsed) return;\n setColor(parsed);\n setColorSpace(parsed.colorSpace);\n onChange(parsed.value);\n }, [onChange]);\n var cycleColorSpace = useCallback(function () {\n var next = COLOR_SPACES.indexOf(colorSpace) + 1;\n if (next >= COLOR_SPACES.length) next = 0;\n setColorSpace(COLOR_SPACES[next]);\n var update = (color === null || color === void 0 ? void 0 : color[COLOR_SPACES[next]]) || '';\n setValue(update);\n onChange(update);\n }, [color, colorSpace, onChange]);\n return {\n value: value,\n realValue: realValue,\n updateValue: updateValue,\n color: color,\n colorSpace: colorSpace,\n cycleColorSpace: cycleColorSpace\n };\n};\n\nvar id = function id(value) {\n return value.replace(/\\s*/, '').toLowerCase();\n};\n\nvar usePresets = function usePresets(presetColors, currentColor, colorSpace) {\n var _useState7 = useState((currentColor === null || currentColor === void 0 ? void 0 : currentColor.valid) ? [currentColor] : []),\n _useState8 = _slicedToArray(_useState7, 2),\n selectedColors = _useState8[0],\n setSelectedColors = _useState8[1]; // Reset state when currentColor becomes undefined (when resetting controls)\n\n\n useEffect(function () {\n if (currentColor !== undefined) return;\n setSelectedColors([]);\n }, [currentColor]);\n var presets = useMemo(function () {\n var initialPresets = (presetColors || []).map(function (preset) {\n if (typeof preset === 'string') return parseValue(preset);\n if (preset.title) return Object.assign(Object.assign({}, parseValue(preset.color)), {\n keyword: preset.title\n });\n return parseValue(preset.color);\n });\n return initialPresets.concat(selectedColors).filter(Boolean).slice(-27);\n }, [presetColors, selectedColors]);\n var addPreset = useCallback(function (color) {\n if (!(color === null || color === void 0 ? void 0 : color.valid)) return;\n if (presets.some(function (preset) {\n return id(preset[colorSpace]) === id(color[colorSpace]);\n })) return;\n setSelectedColors(function (arr) {\n return arr.concat(color);\n });\n }, [colorSpace, presets]);\n return {\n presets: presets,\n addPreset: addPreset\n };\n};\n\nvar ColorControl = function ColorControl(_ref12) {\n var name = _ref12.name,\n initialValue = _ref12.value,\n onChange = _ref12.onChange,\n onFocus = _ref12.onFocus,\n onBlur = _ref12.onBlur,\n presetColors = _ref12.presetColors,\n startOpen = _ref12.startOpen;\n\n var _useColorInput = useColorInput(initialValue, throttle_1(onChange, 200)),\n value = _useColorInput.value,\n realValue = _useColorInput.realValue,\n updateValue = _useColorInput.updateValue,\n color = _useColorInput.color,\n colorSpace = _useColorInput.colorSpace,\n cycleColorSpace = _useColorInput.cycleColorSpace;\n\n var _usePresets = usePresets(presetColors, color, colorSpace),\n presets = _usePresets.presets,\n addPreset = _usePresets.addPreset;\n\n var Picker = ColorPicker[colorSpace];\n return React__default.createElement(Wrapper, null, React__default.createElement(PickerTooltip, {\n trigger: \"click\",\n startOpen: startOpen,\n closeOnClick: true,\n onVisibilityChange: function onVisibilityChange() {\n return addPreset(color);\n },\n tooltip: React__default.createElement(TooltipContent, null, React__default.createElement(Picker, Object.assign({\n color: realValue === 'transparent' ? '#000000' : realValue\n }, {\n onChange: updateValue,\n onFocus: onFocus,\n onBlur: onBlur\n })), presets.length > 0 && React__default.createElement(Swatches, null, presets.map(function (preset, index) {\n return React__default.createElement(WithTooltip // eslint-disable-next-line react/no-array-index-key\n , {\n // eslint-disable-next-line react/no-array-index-key\n key: \"\".concat(preset.value, \"-\").concat(index),\n hasChrome: false,\n tooltip: React__default.createElement(Note, {\n note: preset.keyword || preset.value\n })\n }, React__default.createElement(Swatch, {\n value: preset[colorSpace],\n active: color && id(preset[colorSpace]) === id(color[colorSpace]),\n onClick: function onClick() {\n return updateValue(preset.value);\n }\n }));\n })))\n }, React__default.createElement(Swatch, {\n value: realValue,\n style: {\n margin: 4\n }\n })), React__default.createElement(Input, {\n id: getControlId(name),\n value: value,\n onChange: function onChange(e) {\n return updateValue(e.target.value);\n },\n onFocus: function onFocus(e) {\n return e.target.select();\n },\n placeholder: \"Choose color...\"\n }), value ? React__default.createElement(ToggleIcon, {\n icon: \"markup\",\n onClick: cycleColorSpace\n }) : null);\n};\n\nexport { ColorControl, ColorControl as default };\n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;A","sourceRoot":""}