diff --git a/lib/datawheel-canon.js b/lib/datawheel-canon.js index 78e46692a..9cd654ccb 100644 --- a/lib/datawheel-canon.js +++ b/lib/datawheel-canon.js @@ -6,7 +6,7 @@ /******/reject(new Error("Manifest request to "+requestPath+" timed out."));/******/}else if(request.status===404){/******/// no update available /******/resolve();/******/}else if(request.status!==200&&request.status!==304){/******/// other failure /******/reject(new Error("Manifest request to "+requestPath+" failed."));/******/}else{/******/// success -/******/try{/******/var update=JSON.parse(request.responseText);/******/}catch(e){/******/reject(e);/******/return;/******/}/******/resolve(update);/******/}/******/};/******/});/******/}/******//******//******//******/var hotApplyOnUpdate=true;/******/var hotCurrentHash="c9bd3668dc287066f3a2";// eslint-disable-line no-unused-vars +/******/try{/******/var update=JSON.parse(request.responseText);/******/}catch(e){/******/reject(e);/******/return;/******/}/******/resolve(update);/******/}/******/};/******/});/******/}/******//******//******//******/var hotApplyOnUpdate=true;/******/var hotCurrentHash="80f54fc7fa89f743d28b";// eslint-disable-line no-unused-vars /******/var hotCurrentModuleData={};/******/var hotCurrentChildModule;// eslint-disable-line no-unused-vars /******/var hotCurrentParents=[];// eslint-disable-line no-unused-vars /******/var hotCurrentParentsTemp=[];// eslint-disable-line no-unused-vars @@ -50,4 +50,4 @@ /******/__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__ /******/__webpack_require__.p="/assets/";/******//******/// __webpack_hash__ /******/__webpack_require__.h=function(){return hotCurrentHash;};/******//******/// Load entry module and return exports -/******/return hotCreateRequire(313)(__webpack_require__.s=313);/******/})(/************************************************************************//******/[/* 0 *//***/function(module,exports){eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/node-libs-browser/~/process/browser.js\n// module id = 0\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/node-libs-browser/~/process/browser.js?");/***/},/* 1 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/fbjs/lib/invariant.js\n// module id = 1\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/fbjs/lib/invariant.js?");/***/},/* 2 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar emptyFunction = __webpack_require__(14);\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n (function () {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n })();\n}\n\nmodule.exports = warning;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/fbjs/lib/warning.js\n// module id = 2\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/fbjs/lib/warning.js?");/***/},/* 3 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n\n/**\n * WARNING: DO NOT manually require this module.\n * This is a replacement for `invariant(...)` used by the error code system\n * and will _only_ be required by the corresponding babel pass.\n * It always throws.\n */\n\nfunction reactProdInvariant(code) {\n var argCount = arguments.length - 1;\n\n var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\n for (var argIdx = 0; argIdx < argCount; argIdx++) {\n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n }\n\n message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n\n var error = new Error(message);\n error.name = 'Invariant Violation';\n error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\n throw error;\n}\n\nmodule.exports = reactProdInvariant;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/reactProdInvariant.js\n// module id = 3\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/reactProdInvariant.js?");/***/},/* 4 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_creator__ = __webpack_require__(110);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"creator\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_creator__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_local__ = __webpack_require__(416);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"local\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_local__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_matcher__ = __webpack_require__(193);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"matcher\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_matcher__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_mouse__ = __webpack_require__(417);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"mouse\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_mouse__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_namespace__ = __webpack_require__(111);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"namespace\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_namespace__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_namespaces__ = __webpack_require__(112);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"namespaces\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_namespaces__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_select__ = __webpack_require__(418);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"select\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_select__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_selectAll__ = __webpack_require__(419);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"selectAll\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_selectAll__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_selection_index__ = __webpack_require__(17);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"selection\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_selection_index__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_selector__ = __webpack_require__(115);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"selector\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_selector__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_selectorAll__ = __webpack_require__(197);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"selectorAll\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_selectorAll__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_selection_style__ = __webpack_require__(196);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"style\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_selection_style__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_touch__ = __webpack_require__(446);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"touch\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_touch__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_touches__ = __webpack_require__(447);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"touches\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_touches__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_window__ = __webpack_require__(117);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"window\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_window__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_selection_on__ = __webpack_require__(114);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"event\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_selection_on__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"customEvent\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_selection_on__[\"b\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-selection/index.js\n// module id = 4\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-selection/index.js?");/***/},/* 5 *//***/function(module,exports,__webpack_require__){"use strict";eval("/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/object-assign/index.js\n// module id = 5\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/object-assign/index.js?");/***/},/* 6 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar _prodInvariant = __webpack_require__(3);\n\nvar DOMProperty = __webpack_require__(28);\nvar ReactDOMComponentFlags = __webpack_require__(254);\n\nvar invariant = __webpack_require__(1);\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar Flags = ReactDOMComponentFlags;\n\nvar internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);\n\n/**\n * Check if a given node should be cached.\n */\nfunction shouldPrecacheNode(node, nodeID) {\n return node.nodeType === 1 && node.getAttribute(ATTR_NAME) === String(nodeID) || node.nodeType === 8 && node.nodeValue === ' react-text: ' + nodeID + ' ' || node.nodeType === 8 && node.nodeValue === ' react-empty: ' + nodeID + ' ';\n}\n\n/**\n * Drill down (through composites and empty components) until we get a host or\n * host text component.\n *\n * This is pretty polymorphic but unavoidable with the current structure we have\n * for `_renderedChildren`.\n */\nfunction getRenderedHostOrTextFromComponent(component) {\n var rendered;\n while (rendered = component._renderedComponent) {\n component = rendered;\n }\n return component;\n}\n\n/**\n * Populate `_hostNode` on the rendered host/text component with the given\n * DOM node. The passed `inst` can be a composite.\n */\nfunction precacheNode(inst, node) {\n var hostInst = getRenderedHostOrTextFromComponent(inst);\n hostInst._hostNode = node;\n node[internalInstanceKey] = hostInst;\n}\n\nfunction uncacheNode(inst) {\n var node = inst._hostNode;\n if (node) {\n delete node[internalInstanceKey];\n inst._hostNode = null;\n }\n}\n\n/**\n * Populate `_hostNode` on each child of `inst`, assuming that the children\n * match up with the DOM (element) children of `node`.\n *\n * We cache entire levels at once to avoid an n^2 problem where we access the\n * children of a node sequentially and have to walk from the start to our target\n * node every time.\n *\n * Since we update `_renderedChildren` and the actual DOM at (slightly)\n * different times, we could race here and see a newer `_renderedChildren` than\n * the DOM nodes we see. To avoid this, ReactMultiChild calls\n * `prepareToManageChildren` before we change `_renderedChildren`, at which\n * time the container's child nodes are always cached (until it unmounts).\n */\nfunction precacheChildNodes(inst, node) {\n if (inst._flags & Flags.hasCachedChildNodes) {\n return;\n }\n var children = inst._renderedChildren;\n var childNode = node.firstChild;\n outer: for (var name in children) {\n if (!children.hasOwnProperty(name)) {\n continue;\n }\n var childInst = children[name];\n var childID = getRenderedHostOrTextFromComponent(childInst)._domID;\n if (childID === 0) {\n // We're currently unmounting this child in ReactMultiChild; skip it.\n continue;\n }\n // We assume the child nodes are in the same order as the child instances.\n for (; childNode !== null; childNode = childNode.nextSibling) {\n if (shouldPrecacheNode(childNode, childID)) {\n precacheNode(childInst, childNode);\n continue outer;\n }\n }\n // We reached the end of the DOM children without finding an ID match.\n true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0;\n }\n inst._flags |= Flags.hasCachedChildNodes;\n}\n\n/**\n * Given a DOM node, return the closest ReactDOMComponent or\n * ReactDOMTextComponent instance ancestor.\n */\nfunction getClosestInstanceFromNode(node) {\n if (node[internalInstanceKey]) {\n return node[internalInstanceKey];\n }\n\n // Walk up the tree until we find an ancestor whose instance we have cached.\n var parents = [];\n while (!node[internalInstanceKey]) {\n parents.push(node);\n if (node.parentNode) {\n node = node.parentNode;\n } else {\n // Top of the tree. This node must not be part of a React tree (or is\n // unmounted, potentially).\n return null;\n }\n }\n\n var closest;\n var inst;\n for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) {\n closest = inst;\n if (parents.length) {\n precacheChildNodes(inst, node);\n }\n }\n\n return closest;\n}\n\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\nfunction getInstanceFromNode(node) {\n var inst = getClosestInstanceFromNode(node);\n if (inst != null && inst._hostNode === node) {\n return inst;\n } else {\n return null;\n }\n}\n\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\nfunction getNodeFromInstance(inst) {\n // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\n if (inst._hostNode) {\n return inst._hostNode;\n }\n\n // Walk up the tree until we find an ancestor whose DOM node we have cached.\n var parents = [];\n while (!inst._hostNode) {\n parents.push(inst);\n !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0;\n inst = inst._hostParent;\n }\n\n // Now parents contains each ancestor that does *not* have a cached native\n // node, and `inst` is the deepest ancestor that does.\n for (; parents.length; inst = parents.pop()) {\n precacheChildNodes(inst, inst._hostNode);\n }\n\n return inst._hostNode;\n}\n\nvar ReactDOMComponentTree = {\n getClosestInstanceFromNode: getClosestInstanceFromNode,\n getInstanceFromNode: getInstanceFromNode,\n getNodeFromInstance: getNodeFromInstance,\n precacheChildNodes: precacheChildNodes,\n precacheNode: precacheNode,\n uncacheNode: uncacheNode\n};\n\nmodule.exports = ReactDOMComponentTree;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/ReactDOMComponentTree.js\n// module id = 6\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/ReactDOMComponentTree.js?");/***/},/* 7 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/fbjs/lib/ExecutionEnvironment.js\n// module id = 7\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/fbjs/lib/ExecutionEnvironment.js?");/***/},/* 8 *//***/function(module,exports,__webpack_require__){"use strict";eval("\n\nmodule.exports = __webpack_require__(43);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react/react.js\n// module id = 8\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react/react.js?");/***/},/* 9 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_bisect__ = __webpack_require__(163);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"bisect\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_bisect__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"bisectRight\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_bisect__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"bisectLeft\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_bisect__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_ascending__ = __webpack_require__(36);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"ascending\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_ascending__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_bisector__ = __webpack_require__(164);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"bisector\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_bisector__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_cross__ = __webpack_require__(320);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"cross\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_cross__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_descending__ = __webpack_require__(321);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"descending\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_descending__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_deviation__ = __webpack_require__(165);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"deviation\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_deviation__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_extent__ = __webpack_require__(166);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"extent\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_extent__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_histogram__ = __webpack_require__(322);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"histogram\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_histogram__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_threshold_freedmanDiaconis__ = __webpack_require__(332);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"thresholdFreedmanDiaconis\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_threshold_freedmanDiaconis__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_threshold_scott__ = __webpack_require__(333);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"thresholdScott\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_threshold_scott__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_threshold_sturges__ = __webpack_require__(170);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"thresholdSturges\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_threshold_sturges__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_max__ = __webpack_require__(324);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_max__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_mean__ = __webpack_require__(325);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_mean__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_median__ = __webpack_require__(326);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"median\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_median__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_merge__ = __webpack_require__(327);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_merge__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_min__ = __webpack_require__(167);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_min__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_pairs__ = __webpack_require__(168);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"pairs\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_pairs__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_permute__ = __webpack_require__(328);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"permute\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_permute__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__src_quantile__ = __webpack_require__(100);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"quantile\", function() { return __WEBPACK_IMPORTED_MODULE_18__src_quantile__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__src_range__ = __webpack_require__(169);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return __WEBPACK_IMPORTED_MODULE_19__src_range__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__src_scan__ = __webpack_require__(329);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return __WEBPACK_IMPORTED_MODULE_20__src_scan__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__src_shuffle__ = __webpack_require__(330);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return __WEBPACK_IMPORTED_MODULE_21__src_shuffle__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__src_sum__ = __webpack_require__(331);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return __WEBPACK_IMPORTED_MODULE_22__src_sum__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__src_ticks__ = __webpack_require__(171);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"ticks\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_ticks__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"tickIncrement\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_ticks__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"tickStep\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_ticks__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__src_transpose__ = __webpack_require__(172);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return __WEBPACK_IMPORTED_MODULE_24__src_transpose__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__src_variance__ = __webpack_require__(173);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"variance\", function() { return __WEBPACK_IMPORTED_MODULE_25__src_variance__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__src_zip__ = __webpack_require__(334);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return __WEBPACK_IMPORTED_MODULE_26__src_zip__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-array/index.js\n// module id = 9\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-array/index.js?");/***/},/* 10 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = newInterval;\nvar t0 = new Date,\n t1 = new Date;\n\nfunction newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = new Date(+date)), date;\n }\n\n interval.floor = interval;\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 = [];\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(new Date(+start)); while (offseti(start, step), floori(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\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-time/src/interval.js\n// module id = 10\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-time/src/interval.js?");/***/},/* 11 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n\n\nvar _prodInvariant = __webpack_require__(44);\n\nvar ReactCurrentOwner = __webpack_require__(20);\n\nvar invariant = __webpack_require__(1);\nvar warning = __webpack_require__(2);\n\nfunction isNative(fn) {\n // Based on isNative() from Lodash\n var funcToString = Function.prototype.toString;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var reIsNative = RegExp('^' + funcToString\n // Take an example native function source for comparison\n .call(hasOwnProperty\n // Strip regex characters so we can use it for regex\n ).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&'\n // Remove hasOwnProperty from the template to make it generic\n ).replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n try {\n var source = funcToString.call(fn);\n return reIsNative.test(source);\n } catch (err) {\n return false;\n }\n}\n\nvar canUseCollections =\n// Array.from\ntypeof Array.from === 'function' &&\n// Map\ntypeof Map === 'function' && isNative(Map) &&\n// Map.prototype.keys\nMap.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) &&\n// Set\ntypeof Set === 'function' && isNative(Set) &&\n// Set.prototype.keys\nSet.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);\n\nvar setItem;\nvar getItem;\nvar removeItem;\nvar getItemIDs;\nvar addRoot;\nvar removeRoot;\nvar getRootIDs;\n\nif (canUseCollections) {\n var itemMap = new Map();\n var rootIDSet = new Set();\n\n setItem = function (id, item) {\n itemMap.set(id, item);\n };\n getItem = function (id) {\n return itemMap.get(id);\n };\n removeItem = function (id) {\n itemMap['delete'](id);\n };\n getItemIDs = function () {\n return Array.from(itemMap.keys());\n };\n\n addRoot = function (id) {\n rootIDSet.add(id);\n };\n removeRoot = function (id) {\n rootIDSet['delete'](id);\n };\n getRootIDs = function () {\n return Array.from(rootIDSet.keys());\n };\n} else {\n var itemByKey = {};\n var rootByKey = {};\n\n // Use non-numeric keys to prevent V8 performance issues:\n // https://github.com/facebook/react/pull/7232\n var getKeyFromID = function (id) {\n return '.' + id;\n };\n var getIDFromKey = function (key) {\n return parseInt(key.substr(1), 10);\n };\n\n setItem = function (id, item) {\n var key = getKeyFromID(id);\n itemByKey[key] = item;\n };\n getItem = function (id) {\n var key = getKeyFromID(id);\n return itemByKey[key];\n };\n removeItem = function (id) {\n var key = getKeyFromID(id);\n delete itemByKey[key];\n };\n getItemIDs = function () {\n return Object.keys(itemByKey).map(getIDFromKey);\n };\n\n addRoot = function (id) {\n var key = getKeyFromID(id);\n rootByKey[key] = true;\n };\n removeRoot = function (id) {\n var key = getKeyFromID(id);\n delete rootByKey[key];\n };\n getRootIDs = function () {\n return Object.keys(rootByKey).map(getIDFromKey);\n };\n}\n\nvar unmountedIDs = [];\n\nfunction purgeDeep(id) {\n var item = getItem(id);\n if (item) {\n var childIDs = item.childIDs;\n\n removeItem(id);\n childIDs.forEach(purgeDeep);\n }\n}\n\nfunction describeComponentFrame(name, source, ownerName) {\n return '\\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');\n}\n\nfunction getDisplayName(element) {\n if (element == null) {\n return '#empty';\n } else if (typeof element === 'string' || typeof element === 'number') {\n return '#text';\n } else if (typeof element.type === 'string') {\n return element.type;\n } else {\n return element.type.displayName || element.type.name || 'Unknown';\n }\n}\n\nfunction describeID(id) {\n var name = ReactComponentTreeHook.getDisplayName(id);\n var element = ReactComponentTreeHook.getElement(id);\n var ownerID = ReactComponentTreeHook.getOwnerID(id);\n var ownerName;\n if (ownerID) {\n ownerName = ReactComponentTreeHook.getDisplayName(ownerID);\n }\n process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0;\n return describeComponentFrame(name, element && element._source, ownerName);\n}\n\nvar ReactComponentTreeHook = {\n onSetChildren: function (id, nextChildIDs) {\n var item = getItem(id);\n !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0;\n item.childIDs = nextChildIDs;\n\n for (var i = 0; i < nextChildIDs.length; i++) {\n var nextChildID = nextChildIDs[i];\n var nextChild = getItem(nextChildID);\n !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0;\n !(nextChild.childIDs != null || typeof nextChild.element !== 'object' || nextChild.element == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0;\n !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;\n if (nextChild.parentID == null) {\n nextChild.parentID = id;\n // TODO: This shouldn't be necessary but mounting a new root during in\n // componentWillMount currently causes not-yet-mounted components to\n // be purged from our tree data so their parent id is missing.\n }\n !(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0;\n }\n },\n onBeforeMountComponent: function (id, element, parentID) {\n var item = {\n element: element,\n parentID: parentID,\n text: null,\n childIDs: [],\n isMounted: false,\n updateCount: 0\n };\n setItem(id, item);\n },\n onBeforeUpdateComponent: function (id, element) {\n var item = getItem(id);\n if (!item || !item.isMounted) {\n // We may end up here as a result of setState() in componentWillUnmount().\n // In this case, ignore the element.\n return;\n }\n item.element = element;\n },\n onMountComponent: function (id) {\n var item = getItem(id);\n !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0;\n item.isMounted = true;\n var isRoot = item.parentID === 0;\n if (isRoot) {\n addRoot(id);\n }\n },\n onUpdateComponent: function (id) {\n var item = getItem(id);\n if (!item || !item.isMounted) {\n // We may end up here as a result of setState() in componentWillUnmount().\n // In this case, ignore the element.\n return;\n }\n item.updateCount++;\n },\n onUnmountComponent: function (id) {\n var item = getItem(id);\n if (item) {\n // We need to check if it exists.\n // `item` might not exist if it is inside an error boundary, and a sibling\n // error boundary child threw while mounting. Then this instance never\n // got a chance to mount, but it still gets an unmounting event during\n // the error boundary cleanup.\n item.isMounted = false;\n var isRoot = item.parentID === 0;\n if (isRoot) {\n removeRoot(id);\n }\n }\n unmountedIDs.push(id);\n },\n purgeUnmountedComponents: function () {\n if (ReactComponentTreeHook._preventPurging) {\n // Should only be used for testing.\n return;\n }\n\n for (var i = 0; i < unmountedIDs.length; i++) {\n var id = unmountedIDs[i];\n purgeDeep(id);\n }\n unmountedIDs.length = 0;\n },\n isMounted: function (id) {\n var item = getItem(id);\n return item ? item.isMounted : false;\n },\n getCurrentStackAddendum: function (topElement) {\n var info = '';\n if (topElement) {\n var name = getDisplayName(topElement);\n var owner = topElement._owner;\n info += describeComponentFrame(name, topElement._source, owner && owner.getName());\n }\n\n var currentOwner = ReactCurrentOwner.current;\n var id = currentOwner && currentOwner._debugID;\n\n info += ReactComponentTreeHook.getStackAddendumByID(id);\n return info;\n },\n getStackAddendumByID: function (id) {\n var info = '';\n while (id) {\n info += describeID(id);\n id = ReactComponentTreeHook.getParentID(id);\n }\n return info;\n },\n getChildIDs: function (id) {\n var item = getItem(id);\n return item ? item.childIDs : [];\n },\n getDisplayName: function (id) {\n var element = ReactComponentTreeHook.getElement(id);\n if (!element) {\n return null;\n }\n return getDisplayName(element);\n },\n getElement: function (id) {\n var item = getItem(id);\n return item ? item.element : null;\n },\n getOwnerID: function (id) {\n var element = ReactComponentTreeHook.getElement(id);\n if (!element || !element._owner) {\n return null;\n }\n return element._owner._debugID;\n },\n getParentID: function (id) {\n var item = getItem(id);\n return item ? item.parentID : null;\n },\n getSource: function (id) {\n var item = getItem(id);\n var element = item ? item.element : null;\n var source = element != null ? element._source : null;\n return source;\n },\n getText: function (id) {\n var element = ReactComponentTreeHook.getElement(id);\n if (typeof element === 'string') {\n return element;\n } else if (typeof element === 'number') {\n return '' + element;\n } else {\n return null;\n }\n },\n getUpdateCount: function (id) {\n var item = getItem(id);\n return item ? item.updateCount : 0;\n },\n\n\n getRootIDs: getRootIDs,\n getRegisteredIDs: getItemIDs,\n\n pushNonStandardWarningStack: function (isCreatingElement, currentSource) {\n if (typeof console.reactStack !== 'function') {\n return;\n }\n\n var stack = [];\n var currentOwner = ReactCurrentOwner.current;\n var id = currentOwner && currentOwner._debugID;\n\n try {\n if (isCreatingElement) {\n stack.push({\n name: id ? ReactComponentTreeHook.getDisplayName(id) : null,\n fileName: currentSource ? currentSource.fileName : null,\n lineNumber: currentSource ? currentSource.lineNumber : null\n });\n }\n\n while (id) {\n var element = ReactComponentTreeHook.getElement(id);\n var parentID = ReactComponentTreeHook.getParentID(id);\n var ownerID = ReactComponentTreeHook.getOwnerID(id);\n var ownerName = ownerID ? ReactComponentTreeHook.getDisplayName(ownerID) : null;\n var source = element && element._source;\n stack.push({\n name: ownerName,\n fileName: source ? source.fileName : null,\n lineNumber: source ? source.lineNumber : null\n });\n id = parentID;\n }\n } catch (err) {\n // Internal state is messed up.\n // Stop building the stack (it's just a nice to have).\n }\n\n console.reactStack(stack);\n },\n popNonStandardWarningStack: function () {\n if (typeof console.reactStackEnd !== 'function') {\n return;\n }\n console.reactStackEnd();\n }\n};\n\nmodule.exports = ReactComponentTreeHook;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react/lib/ReactComponentTreeHook.js\n// module id = 11\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react/lib/ReactComponentTreeHook.js?");/***/},/* 12 *//***/function(module,exports,__webpack_require__){"use strict";eval("\n\nvar bind = __webpack_require__(161);\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * typeof document.createElement -> undefined\n */\nfunction isStandardBrowserEnv() {\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined' &&\n typeof document.createElement === 'function'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object' && !isArray(obj)) {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/axios/lib/utils.js\n// module id = 12\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/axios/lib/utils.js?");/***/},/* 13 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_color__ = __webpack_require__(102);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"color\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_color__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"rgb\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_color__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"hsl\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_color__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_lab__ = __webpack_require__(346);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"lab\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_lab__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"hcl\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_lab__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_cubehelix__ = __webpack_require__(345);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"cubehelix\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_cubehelix__[\"a\"]; });\n\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-color/index.js\n// module id = 13\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-color/index.js?");/***/},/* 14 *//***/function(module,exports,__webpack_require__){"use strict";eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/fbjs/lib/emptyFunction.js\n// module id = 14\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/fbjs/lib/emptyFunction.js?");/***/},/* 15 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n\n\n// Trust the developer to only use ReactInstrumentation with a __DEV__ check\n\nvar debugTool = null;\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactDebugTool = __webpack_require__(687);\n debugTool = ReactDebugTool;\n}\n\nmodule.exports = { debugTool: debugTool };\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/ReactInstrumentation.js\n// module id = 15\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/ReactInstrumentation.js?");/***/},/* 16 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_value__ = __webpack_require__(107);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolate\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_value__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_array__ = __webpack_require__(182);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateArray\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_array__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_basis__ = __webpack_require__(106);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateBasis\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_basis__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_basisClosed__ = __webpack_require__(183);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateBasisClosed\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_basisClosed__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_date__ = __webpack_require__(185);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateDate\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_date__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_number__ = __webpack_require__(69);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateNumber\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_number__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_object__ = __webpack_require__(186);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateObject\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_object__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_round__ = __webpack_require__(381);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRound\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_round__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_string__ = __webpack_require__(188);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateString\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_string__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_transform_index__ = __webpack_require__(383);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateTransformCss\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_transform_index__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateTransformSvg\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_transform_index__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_zoom__ = __webpack_require__(385);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateZoom\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_zoom__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_rgb__ = __webpack_require__(187);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRgb\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_rgb__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRgbBasis\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_rgb__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRgbBasisClosed\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_rgb__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_hsl__ = __webpack_require__(378);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateHsl\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_hsl__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateHslLong\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_hsl__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_lab__ = __webpack_require__(379);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateLab\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_lab__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_hcl__ = __webpack_require__(377);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateHcl\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_hcl__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateHclLong\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_hcl__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_cubehelix__ = __webpack_require__(376);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateCubehelix\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_cubehelix__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateCubehelixLong\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_cubehelix__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_quantize__ = __webpack_require__(380);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"quantize\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_quantize__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-interpolate/index.js\n// module id = 16\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-interpolate/index.js?");/***/},/* 17 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return root; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = Selection;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__select__ = __webpack_require__(441);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__selectAll__ = __webpack_require__(442);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__filter__ = __webpack_require__(430);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__data__ = __webpack_require__(424);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__enter__ = __webpack_require__(194);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__exit__ = __webpack_require__(429);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__merge__ = __webpack_require__(434);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__order__ = __webpack_require__(437);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__sort__ = __webpack_require__(444);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__call__ = __webpack_require__(422);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__nodes__ = __webpack_require__(436);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__node__ = __webpack_require__(435);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__size__ = __webpack_require__(443);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__empty__ = __webpack_require__(428);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__each__ = __webpack_require__(427);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__attr__ = __webpack_require__(421);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__style__ = __webpack_require__(196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__property__ = __webpack_require__(438);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__classed__ = __webpack_require__(423);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__text__ = __webpack_require__(445);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__html__ = __webpack_require__(431);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__raise__ = __webpack_require__(439);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__lower__ = __webpack_require__(433);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__append__ = __webpack_require__(420);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__insert__ = __webpack_require__(432);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__remove__ = __webpack_require__(440);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__datum__ = __webpack_require__(425);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__on__ = __webpack_require__(114);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__dispatch__ = __webpack_require__(426);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar root = [null];\n\nfunction Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: __WEBPACK_IMPORTED_MODULE_0__select__[\"a\" /* default */],\n selectAll: __WEBPACK_IMPORTED_MODULE_1__selectAll__[\"a\" /* default */],\n filter: __WEBPACK_IMPORTED_MODULE_2__filter__[\"a\" /* default */],\n data: __WEBPACK_IMPORTED_MODULE_3__data__[\"a\" /* default */],\n enter: __WEBPACK_IMPORTED_MODULE_4__enter__[\"a\" /* default */],\n exit: __WEBPACK_IMPORTED_MODULE_5__exit__[\"a\" /* default */],\n merge: __WEBPACK_IMPORTED_MODULE_6__merge__[\"a\" /* default */],\n order: __WEBPACK_IMPORTED_MODULE_7__order__[\"a\" /* default */],\n sort: __WEBPACK_IMPORTED_MODULE_8__sort__[\"a\" /* default */],\n call: __WEBPACK_IMPORTED_MODULE_9__call__[\"a\" /* default */],\n nodes: __WEBPACK_IMPORTED_MODULE_10__nodes__[\"a\" /* default */],\n node: __WEBPACK_IMPORTED_MODULE_11__node__[\"a\" /* default */],\n size: __WEBPACK_IMPORTED_MODULE_12__size__[\"a\" /* default */],\n empty: __WEBPACK_IMPORTED_MODULE_13__empty__[\"a\" /* default */],\n each: __WEBPACK_IMPORTED_MODULE_14__each__[\"a\" /* default */],\n attr: __WEBPACK_IMPORTED_MODULE_15__attr__[\"a\" /* default */],\n style: __WEBPACK_IMPORTED_MODULE_16__style__[\"b\" /* default */],\n property: __WEBPACK_IMPORTED_MODULE_17__property__[\"a\" /* default */],\n classed: __WEBPACK_IMPORTED_MODULE_18__classed__[\"a\" /* default */],\n text: __WEBPACK_IMPORTED_MODULE_19__text__[\"a\" /* default */],\n html: __WEBPACK_IMPORTED_MODULE_20__html__[\"a\" /* default */],\n raise: __WEBPACK_IMPORTED_MODULE_21__raise__[\"a\" /* default */],\n lower: __WEBPACK_IMPORTED_MODULE_22__lower__[\"a\" /* default */],\n append: __WEBPACK_IMPORTED_MODULE_23__append__[\"a\" /* default */],\n insert: __WEBPACK_IMPORTED_MODULE_24__insert__[\"a\" /* default */],\n remove: __WEBPACK_IMPORTED_MODULE_25__remove__[\"a\" /* default */],\n datum: __WEBPACK_IMPORTED_MODULE_26__datum__[\"a\" /* default */],\n on: __WEBPACK_IMPORTED_MODULE_27__on__[\"c\" /* default */],\n dispatch: __WEBPACK_IMPORTED_MODULE_28__dispatch__[\"a\" /* default */]\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (selection);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-selection/src/selection/index.js\n// module id = 17\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-selection/src/selection/index.js?");/***/},/* 18 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* unused harmony export CREATED */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return SCHEDULED; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return STARTING; });\n/* unused harmony export STARTED */\n/* unused harmony export RUNNING */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return ENDING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return ENDED; });\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = init;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = set;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = get;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_dispatch__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_timer__ = __webpack_require__(215);\n\n\n\nvar emptyOn = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_d3_dispatch__[\"dispatch\"])(\"start\", \"end\", \"interrupt\");\nvar emptyTween = [];\n\nvar CREATED = 0;\nvar SCHEDULED = 1;\nvar STARTING = 2;\nvar STARTED = 3;\nvar RUNNING = 4;\nvar ENDING = 5;\nvar ENDED = 6;\n\n/* harmony default export */ __webpack_exports__[\"h\"] = (function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n});\n\nfunction init(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id]) || schedule.state > CREATED) throw new Error(\"too late\");\n return schedule;\n}\n\nfunction set(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id]) || schedule.state > STARTING) throw new Error(\"too late\");\n return schedule;\n}\n\nfunction get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"too late\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_d3_timer__[\"a\" /* timer */])(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_d3_timer__[\"b\" /* timeout */])(start);\n\n // Interrupt the active transition, if any.\n // Dispatch the interrupt event.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions. No interrupt event is dispatched\n // because the cancelled transitions never started. Note that this also\n // removes this transition from the pending list!\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_d3_timer__[\"b\" /* timeout */])(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(null, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-transition/src/transition/schedule.js\n// module id = 18\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-transition/src/transition/schedule.js?");/***/},/* 19 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar _prodInvariant = __webpack_require__(3),\n _assign = __webpack_require__(5);\n\nvar CallbackQueue = __webpack_require__(252);\nvar PooledClass = __webpack_require__(34);\nvar ReactFeatureFlags = __webpack_require__(257);\nvar ReactReconciler = __webpack_require__(40);\nvar Transaction = __webpack_require__(89);\n\nvar invariant = __webpack_require__(1);\n\nvar dirtyComponents = [];\nvar updateBatchNumber = 0;\nvar asapCallbackQueue = CallbackQueue.getPooled();\nvar asapEnqueued = false;\n\nvar batchingStrategy = null;\n\nfunction ensureInjected() {\n !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0;\n}\n\nvar NESTED_UPDATES = {\n initialize: function () {\n this.dirtyComponentsLength = dirtyComponents.length;\n },\n close: function () {\n if (this.dirtyComponentsLength !== dirtyComponents.length) {\n // Additional updates were enqueued by componentDidUpdate handlers or\n // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run\n // these new updates so that if A's componentDidUpdate calls setState on\n // B, B will update before the callback A's updater provided when calling\n // setState.\n dirtyComponents.splice(0, this.dirtyComponentsLength);\n flushBatchedUpdates();\n } else {\n dirtyComponents.length = 0;\n }\n }\n};\n\nvar UPDATE_QUEUEING = {\n initialize: function () {\n this.callbackQueue.reset();\n },\n close: function () {\n this.callbackQueue.notifyAll();\n }\n};\n\nvar TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING];\n\nfunction ReactUpdatesFlushTransaction() {\n this.reinitializeTransaction();\n this.dirtyComponentsLength = null;\n this.callbackQueue = CallbackQueue.getPooled();\n this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* useCreateElement */true);\n}\n\n_assign(ReactUpdatesFlushTransaction.prototype, Transaction, {\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n destructor: function () {\n this.dirtyComponentsLength = null;\n CallbackQueue.release(this.callbackQueue);\n this.callbackQueue = null;\n ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);\n this.reconcileTransaction = null;\n },\n\n perform: function (method, scope, a) {\n // Essentially calls `this.reconcileTransaction.perform(method, scope, a)`\n // with this transaction's wrappers around it.\n return Transaction.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);\n }\n});\n\nPooledClass.addPoolingTo(ReactUpdatesFlushTransaction);\n\nfunction batchedUpdates(callback, a, b, c, d, e) {\n ensureInjected();\n return batchingStrategy.batchedUpdates(callback, a, b, c, d, e);\n}\n\n/**\n * Array comparator for ReactComponents by mount ordering.\n *\n * @param {ReactComponent} c1 first component you're comparing\n * @param {ReactComponent} c2 second component you're comparing\n * @return {number} Return value usable by Array.prototype.sort().\n */\nfunction mountOrderComparator(c1, c2) {\n return c1._mountOrder - c2._mountOrder;\n}\n\nfunction runBatchedUpdates(transaction) {\n var len = transaction.dirtyComponentsLength;\n !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0;\n\n // Since reconciling a component higher in the owner hierarchy usually (not\n // always -- see shouldComponentUpdate()) will reconcile children, reconcile\n // them before their children by sorting the array.\n dirtyComponents.sort(mountOrderComparator);\n\n // Any updates enqueued while reconciling must be performed after this entire\n // batch. Otherwise, if dirtyComponents is [A, B] where A has children B and\n // C, B could update twice in a single batch if C's render enqueues an update\n // to B (since B would have already updated, we should skip it, and the only\n // way we can know to do so is by checking the batch counter).\n updateBatchNumber++;\n\n for (var i = 0; i < len; i++) {\n // If a component is unmounted before pending changes apply, it will still\n // be here, but we assume that it has cleared its _pendingCallbacks and\n // that performUpdateIfNecessary is a noop.\n var component = dirtyComponents[i];\n\n // If performUpdateIfNecessary happens to enqueue any new updates, we\n // shouldn't execute the callbacks until the next render happens, so\n // stash the callbacks first\n var callbacks = component._pendingCallbacks;\n component._pendingCallbacks = null;\n\n var markerName;\n if (ReactFeatureFlags.logTopLevelRenders) {\n var namedComponent = component;\n // Duck type TopLevelWrapper. This is probably always true.\n if (component._currentElement.type.isReactTopLevelWrapper) {\n namedComponent = component._renderedComponent;\n }\n markerName = 'React update: ' + namedComponent.getName();\n console.time(markerName);\n }\n\n ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber);\n\n if (markerName) {\n console.timeEnd(markerName);\n }\n\n if (callbacks) {\n for (var j = 0; j < callbacks.length; j++) {\n transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance());\n }\n }\n }\n}\n\nvar flushBatchedUpdates = function () {\n // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents\n // array and perform any updates enqueued by mount-ready handlers (i.e.,\n // componentDidUpdate) but we need to check here too in order to catch\n // updates enqueued by setState callbacks and asap calls.\n while (dirtyComponents.length || asapEnqueued) {\n if (dirtyComponents.length) {\n var transaction = ReactUpdatesFlushTransaction.getPooled();\n transaction.perform(runBatchedUpdates, null, transaction);\n ReactUpdatesFlushTransaction.release(transaction);\n }\n\n if (asapEnqueued) {\n asapEnqueued = false;\n var queue = asapCallbackQueue;\n asapCallbackQueue = CallbackQueue.getPooled();\n queue.notifyAll();\n CallbackQueue.release(queue);\n }\n }\n};\n\n/**\n * Mark a component as needing a rerender, adding an optional callback to a\n * list of functions which will be executed once the rerender occurs.\n */\nfunction enqueueUpdate(component) {\n ensureInjected();\n\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (This is called by each top-level update\n // function, like setState, forceUpdate, etc.; creation and\n // destruction of top-level components is guarded in ReactMount.)\n\n if (!batchingStrategy.isBatchingUpdates) {\n batchingStrategy.batchedUpdates(enqueueUpdate, component);\n return;\n }\n\n dirtyComponents.push(component);\n if (component._updateBatchNumber == null) {\n component._updateBatchNumber = updateBatchNumber + 1;\n }\n}\n\n/**\n * Enqueue a callback to be run at the end of the current batching cycle. Throws\n * if no updates are currently being performed.\n */\nfunction asap(callback, context) {\n !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\\'t enqueue an asap callback in a context whereupdates are not being batched.') : _prodInvariant('125') : void 0;\n asapCallbackQueue.enqueue(callback, context);\n asapEnqueued = true;\n}\n\nvar ReactUpdatesInjection = {\n injectReconcileTransaction: function (ReconcileTransaction) {\n !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0;\n ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;\n },\n\n injectBatchingStrategy: function (_batchingStrategy) {\n !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0;\n !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0;\n !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0;\n batchingStrategy = _batchingStrategy;\n }\n};\n\nvar ReactUpdates = {\n /**\n * React references `ReactReconcileTransaction` using this property in order\n * to allow dependency injection.\n *\n * @internal\n */\n ReactReconcileTransaction: null,\n\n batchedUpdates: batchedUpdates,\n enqueueUpdate: enqueueUpdate,\n flushBatchedUpdates: flushBatchedUpdates,\n injection: ReactUpdatesInjection,\n asap: asap\n};\n\nmodule.exports = ReactUpdates;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/ReactUpdates.js\n// module id = 19\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/ReactUpdates.js?");/***/},/* 20 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nmodule.exports = ReactCurrentOwner;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react/lib/ReactCurrentOwner.js\n// module id = 20\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react/lib/ReactCurrentOwner.js?");/***/},/* 21 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return durationSecond; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return durationMinute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return durationHour; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return durationDay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return durationWeek; });\nvar durationSecond = 1e3;\nvar durationMinute = 6e4;\nvar durationHour = 36e5;\nvar durationDay = 864e5;\nvar durationWeek = 6048e5;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-time/src/duration.js\n// module id = 21\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-time/src/duration.js?");/***/},/* 22 *//***/function(module,exports,__webpack_require__){eval("var freeGlobal = __webpack_require__(241);\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/_root.js\n// module id = 22\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/_root.js?");/***/},/* 23 *//***/function(module,exports){eval("/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/isArray.js\n// module id = 23\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/isArray.js?");/***/},/* 24 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar _assign = __webpack_require__(5);\n\nvar PooledClass = __webpack_require__(34);\n\nvar emptyFunction = __webpack_require__(14);\nvar warning = __webpack_require__(2);\n\nvar didWarnForAddedNewProperty = false;\nvar isProxySupported = typeof Proxy === 'function';\n\nvar shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances'];\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar EventInterface = {\n type: null,\n target: null,\n // currentTarget is set when dispatching; no use in copying it here\n currentTarget: emptyFunction.thatReturnsNull,\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\n\n/**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n *\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {*} targetInst Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @param {DOMEventTarget} nativeEventTarget Target node.\n */\nfunction SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {\n if (process.env.NODE_ENV !== 'production') {\n // these have a getter/setter for warnings\n delete this.nativeEvent;\n delete this.preventDefault;\n delete this.stopPropagation;\n }\n\n this.dispatchConfig = dispatchConfig;\n this._targetInst = targetInst;\n this.nativeEvent = nativeEvent;\n\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n if (!Interface.hasOwnProperty(propName)) {\n continue;\n }\n if (process.env.NODE_ENV !== 'production') {\n delete this[propName]; // this has a getter/setter for warnings\n }\n var normalize = Interface[propName];\n if (normalize) {\n this[propName] = normalize(nativeEvent);\n } else {\n if (propName === 'target') {\n this.target = nativeEventTarget;\n } else {\n this[propName] = nativeEvent[propName];\n }\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n if (defaultPrevented) {\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n } else {\n this.isDefaultPrevented = emptyFunction.thatReturnsFalse;\n }\n this.isPropagationStopped = emptyFunction.thatReturnsFalse;\n return this;\n}\n\n_assign(SyntheticEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault();\n // eslint-disable-next-line valid-typeof\n } else if (typeof event.returnValue !== 'unknown') {\n event.returnValue = false;\n }\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n },\n\n stopPropagation: function () {\n var event = this.nativeEvent;\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation();\n // eslint-disable-next-line valid-typeof\n } else if (typeof event.cancelBubble !== 'unknown') {\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {\n this.isPersistent = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: emptyFunction.thatReturnsFalse,\n\n /**\n * `PooledClass` looks for `destructor` on each instance it releases.\n */\n destructor: function () {\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName]));\n } else {\n this[propName] = null;\n }\n }\n for (var i = 0; i < shouldBeReleasedProperties.length; i++) {\n this[shouldBeReleasedProperties[i]] = null;\n }\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));\n Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction));\n Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));\n }\n }\n});\n\nSyntheticEvent.Interface = EventInterface;\n\nif (process.env.NODE_ENV !== 'production') {\n if (isProxySupported) {\n /*eslint-disable no-func-assign */\n SyntheticEvent = new Proxy(SyntheticEvent, {\n construct: function (target, args) {\n return this.apply(target, Object.create(target.prototype), args);\n },\n apply: function (constructor, that, args) {\n return new Proxy(constructor.apply(that, args), {\n set: function (target, prop, value) {\n if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {\n process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), \"This synthetic event is reused for performance reasons. If you're \" + \"seeing this, you're adding a new property in the synthetic event object. \" + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;\n didWarnForAddedNewProperty = true;\n }\n target[prop] = value;\n return true;\n }\n });\n }\n });\n /*eslint-enable no-func-assign */\n }\n}\n/**\n * Helper to reduce boilerplate when creating subclasses.\n *\n * @param {function} Class\n * @param {?object} Interface\n */\nSyntheticEvent.augmentClass = function (Class, Interface) {\n var Super = this;\n\n var E = function () {};\n E.prototype = Super.prototype;\n var prototype = new E();\n\n _assign(prototype, Class.prototype);\n Class.prototype = prototype;\n Class.prototype.constructor = Class;\n\n Class.Interface = _assign({}, Super.Interface, Interface);\n Class.augmentClass = Super.augmentClass;\n\n PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler);\n};\n\nPooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler);\n\nmodule.exports = SyntheticEvent;\n\n/**\n * Helper to nullify syntheticEvent instance properties when destructing\n *\n * @param {object} SyntheticEvent\n * @param {String} propName\n * @return {object} defineProperty object\n */\nfunction getPooledWarningPropertyDefinition(propName, getVal) {\n var isFunction = typeof getVal === 'function';\n return {\n configurable: true,\n set: set,\n get: get\n };\n\n function set(val) {\n var action = isFunction ? 'setting the method' : 'setting the property';\n warn(action, 'This is effectively a no-op');\n return val;\n }\n\n function get() {\n var action = isFunction ? 'accessing the method' : 'accessing the property';\n var result = isFunction ? 'This is a no-op function' : 'This is set to null';\n warn(action, result);\n return getVal;\n }\n\n function warn(action, result) {\n var warningCondition = false;\n process.env.NODE_ENV !== 'production' ? warning(warningCondition, \"This synthetic event is reused for performance reasons. If you're seeing this, \" + \"you're %s `%s` on a released/nullified synthetic event. %s. \" + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;\n }\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/SyntheticEvent.js\n// module id = 24\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/SyntheticEvent.js?");/***/},/* 25 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (immutable) */ __webpack_exports__[\"b\"] = Transition;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = transition;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = newId;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_selection__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__attr__ = __webpack_require__(494);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__attrTween__ = __webpack_require__(495);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__delay__ = __webpack_require__(496);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__duration__ = __webpack_require__(497);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ease__ = __webpack_require__(498);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__filter__ = __webpack_require__(499);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__merge__ = __webpack_require__(500);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__on__ = __webpack_require__(501);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__remove__ = __webpack_require__(502);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__select__ = __webpack_require__(503);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__selectAll__ = __webpack_require__(504);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__selection__ = __webpack_require__(505);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__style__ = __webpack_require__(506);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__styleTween__ = __webpack_require__(507);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__text__ = __webpack_require__(508);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__transition__ = __webpack_require__(509);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__tween__ = __webpack_require__(75);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar id = 0;\n\nfunction Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nfunction transition(name) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_d3_selection__[\"selection\"])().transition(name);\n}\n\nfunction newId() {\n return ++id;\n}\n\nvar selection_prototype = __WEBPACK_IMPORTED_MODULE_0_d3_selection__[\"selection\"].prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: __WEBPACK_IMPORTED_MODULE_10__select__[\"a\" /* default */],\n selectAll: __WEBPACK_IMPORTED_MODULE_11__selectAll__[\"a\" /* default */],\n filter: __WEBPACK_IMPORTED_MODULE_6__filter__[\"a\" /* default */],\n merge: __WEBPACK_IMPORTED_MODULE_7__merge__[\"a\" /* default */],\n selection: __WEBPACK_IMPORTED_MODULE_12__selection__[\"a\" /* default */],\n transition: __WEBPACK_IMPORTED_MODULE_16__transition__[\"a\" /* default */],\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: __WEBPACK_IMPORTED_MODULE_8__on__[\"a\" /* default */],\n attr: __WEBPACK_IMPORTED_MODULE_1__attr__[\"a\" /* default */],\n attrTween: __WEBPACK_IMPORTED_MODULE_2__attrTween__[\"a\" /* default */],\n style: __WEBPACK_IMPORTED_MODULE_13__style__[\"a\" /* default */],\n styleTween: __WEBPACK_IMPORTED_MODULE_14__styleTween__[\"a\" /* default */],\n text: __WEBPACK_IMPORTED_MODULE_15__text__[\"a\" /* default */],\n remove: __WEBPACK_IMPORTED_MODULE_9__remove__[\"a\" /* default */],\n tween: __WEBPACK_IMPORTED_MODULE_17__tween__[\"a\" /* default */],\n delay: __WEBPACK_IMPORTED_MODULE_3__delay__[\"a\" /* default */],\n duration: __WEBPACK_IMPORTED_MODULE_4__duration__[\"a\" /* default */],\n ease: __WEBPACK_IMPORTED_MODULE_5__ease__[\"a\" /* default */]\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-transition/src/transition/index.js\n// module id = 25\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-transition/src/transition/index.js?");/***/},/* 26 *//***/function(module,exports,__webpack_require__){eval("/*\n d3plus-common v0.6.22\n Common functions and methods used across D3plus modules.\n Copyright (c) 2017 D3plus - https://d3plus.org\n @license MIT\n*/\n(function (global, factory) {\n\t true ? factory(exports, __webpack_require__(4), __webpack_require__(32), __webpack_require__(544), __webpack_require__(9), __webpack_require__(48)) :\n\ttypeof define === 'function' && define.amd ? define('d3plus-common', ['exports', 'd3-selection', 'd3-transition', 'i18next', 'd3-array', 'd3-collection'], factory) :\n\t(factory((global.d3plus = global.d3plus || {}),global.d3Selection,global.d3Transition,global.i18next,global.d3Array,global.d3Collection));\n}(this, (function (exports,d3Selection,d3Transition,i18next,d3Array,d3Collection) { 'use strict';\n\ni18next = 'default' in i18next ? i18next['default'] : i18next;\n\n/**\n @function accessor\n @desc Wraps an object key in a simple accessor function.\n @param {String} key The key to be returned from each Object passed to the function.\n @param {*} [def] A default value to be returned if the key is not present.\n @example this\naccessor(\"id\");\n @example returns this\nfunction(d) {\n return d[\"id\"];\n}\n*/\nvar accessor = function(key, def) {\n if (def === void 0) { return function (d) { return d[key]; }; }\n return function (d) { return d[key] === void 0 ? def : d[key]; };\n};\n\n/**\n @function isObject\n @desc Detects if a variable is a javascript Object.\n @param {*} item\n*/\nvar isObject = function(item) {\n return item && typeof item === \"object\" && !Array.isArray(item) && item !== void 0 ? true : false;\n};\n\n/**\n @function assign\n @desc A deeply recursive version of `Object.assign`.\n @param {...Object} objects\n @example this\nassign({id: \"foo\", deep: {group: \"A\"}}, {id: \"bar\", deep: {value: 20}}));\n @example returns this\n{id: \"bar\", deep: {group: \"A\", value: 20}}\n*/\nfunction assign() {\n var objects = [], len = arguments.length;\n while ( len-- ) objects[ len ] = arguments[ len ];\n\n\n var target = objects[0];\n var loop = function ( i ) {\n\n var source = objects[i];\n\n Object.keys(source).forEach(function (prop) {\n\n var value = source[prop];\n\n if (isObject(value)) {\n\n if (target.hasOwnProperty(prop) && isObject(target[prop])) { target[prop] = assign({}, target[prop], value); }\n else { target[prop] = value; }\n\n }\n else if (Array.isArray(value)) {\n\n if (target.hasOwnProperty(prop) && Array.isArray(target[prop])) {\n\n var targetArray = target[prop];\n\n value.forEach(function (sourceItem, itemIndex) {\n\n if (itemIndex < targetArray.length) {\n var targetItem = targetArray[itemIndex];\n\n if (Object.is(targetItem, sourceItem)) { return; }\n\n if (isObject(targetItem) && isObject(sourceItem) || Array.isArray(targetItem) && Array.isArray(sourceItem)) {\n targetArray[itemIndex] = assign({}, targetItem, sourceItem);\n }\n else { targetArray[itemIndex] = sourceItem; }\n\n }\n else { targetArray.push(sourceItem); }\n\n });\n }\n else { target[prop] = value; }\n\n }\n else { target[prop] = value; }\n\n });\n };\n\n for (var i = 1; i < objects.length; i++) loop( i );\n\n return target;\n\n}\n\n/**\n @function attrize\n @desc Applies each key/value in an object as an attr.\n @param {D3selection} elem The D3 element to apply the styles to.\n @param {Object} attrs An object of key/value attr pairs.\n*/\nvar attrize = function(e, a) {\n if ( a === void 0 ) a = {};\n\n for (var k in a) { if ({}.hasOwnProperty.call(a, k)) { e.attr(k, a[k]); } }\n};\n\n/**\n @function s\n @desc Returns 4 random characters, used for constructing unique identifiers.\n @private\n*/\nfunction s() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);\n}\n\n/**\n @function uuid\n @summary Returns a unique identifier.\n*/\nvar uuid = function() {\n return (\"\" + (s()) + (s()) + \"-\" + (s()) + \"-\" + (s()) + \"-\" + (s()) + \"-\" + (s()) + (s()) + (s()));\n};\n\n/**\n @class BaseClass\n @summary An abstract class that contains some global methods and functionality.\n*/\nvar BaseClass = function BaseClass() {\n this._on = {};\n this._uuid = uuid();\n};\n\n/**\n @memberof BaseClass\n @desc If *value* is specified, sets the methods that correspond to the key/value pairs and returns this class. If *value* is not specified, returns the current configuration.\n @param {Object} [*value*]\n @chainable\n*/\nBaseClass.prototype.config = function config (_) {\n var this$1 = this;\n\n if (arguments.length) {\n for (var k in _) { if ({}.hasOwnProperty.call(_, k) && k in this$1) { this$1[k](_[k]); } }\n return this;\n }\n else {\n var config = {};\n for (var k$1 in this$1.__proto__) { if (k$1.indexOf(\"_\") !== 0 && ![\"config\", \"constructor\", \"render\"].includes(k$1)) { config[k$1] = this$1[k$1](); } }\n return config;\n }\n};\n\n/**\n @memberof BaseClass\n @desc Adds or removes a *listener* to each object for the specified event *typenames*. If a *listener* is not specified, returns the currently assigned listener for the specified event *typename*. Mirrors the core [d3-selection](https://github.com/d3/d3-selection#selection_on) behavior.\n @param {String} [*typenames*]\n @param {Function} [*listener*]\n @chainable\n @example By default, listeners apply globally to all objects, however, passing a namespace with the class name gives control over specific elements:\nnew Plot\n.on(\"click.Shape\", function(d) {\n console.log(\"data for shape clicked:\", d);\n})\n.on(\"click.Legend\", function(d) {\n console.log(\"data for legend clicked:\", d);\n})\n*/\nBaseClass.prototype.on = function on (_, f) {\n return arguments.length === 2 ? (this._on[_] = f, this) : arguments.length ? typeof _ === \"string\" ? this._on[_] : (this._on = Object.assign({}, this._on, _), this) : this._on;\n};\n\n/**\n @function closest\n @desc Finds the closest numeric value in an array.\n @param {Number} n The number value to use when searching the array.\n @param {Array} arr The array of values to test against.\n*/\nvar closest = function(n, arr) {\n if ( arr === void 0 ) arr = [];\n\n if (!arr || !(arr instanceof Array) || !arr.length) { return undefined; }\n return arr.reduce(function (prev, curr) { return Math.abs(curr - n) < Math.abs(prev - n) ? curr : prev; });\n};\n\n/**\n @function configPrep\n @desc Preps a config object for d3plus data, and optionally bubbles up a specific nested type. When using this function, you must bind a d3plus class' `this` context.\n @param {Object} [config = this._shapeConfig] The configuration object to parse.\n @param {String} [type = \"shape\"] The event classifier to user for \"on\" events. For example, the default event type of \"shape\" will apply all events in the \"on\" config object with that key, like \"click.shape\" and \"mouseleave.shape\", in addition to any gloval events like \"click\" and \"mouseleave\".\n @param {String} [nest] An optional nested key to bubble up to the parent config level.\n*/\nfunction configPrep(config, type, nest) {\n if ( config === void 0 ) config = this._shapeConfig;\n if ( type === void 0 ) type = \"shape\";\n if ( nest === void 0 ) nest = false;\n\n\n var newConfig = {duration: this._duration, on: {}};\n\n var wrapFunction = function (func) { return function (d, i, s) {\n while (d.__d3plus__) {\n i = d.i;\n d = d.data || d.feature;\n }\n return func(d, i, s);\n }; };\n\n var parseEvents = function (newObj, on) {\n\n for (var event in on) {\n\n if ({}.hasOwnProperty.call(on, event) && !event.includes(\".\") || event.includes((\".\" + type))) {\n\n newObj.on[event] = wrapFunction(on[event]);\n\n }\n\n }\n\n };\n\n var keyEval = function (newObj, obj) {\n\n for (var key in obj) {\n\n if ({}.hasOwnProperty.call(obj, key)) {\n\n if (key === \"on\") { parseEvents(newObj, obj[key]); }\n else if (typeof obj[key] === \"function\") {\n newObj[key] = wrapFunction(obj[key]);\n }\n else if (typeof obj[key] === \"object\" && !(obj instanceof Array)) {\n newObj[key] = {on: {}};\n keyEval(newObj[key], obj[key]);\n }\n else { newObj[key] = obj[key]; }\n\n }\n\n }\n\n };\n\n keyEval(newConfig, config);\n if (this._on) { parseEvents(newConfig, this._on); }\n if (nest && config[nest]) {\n keyEval(newConfig, config[nest]);\n if (config[nest].on) { parseEvents(newConfig, config[nest].on); }\n }\n\n return newConfig;\n\n}\n\n/**\n @function constant\n @desc Wraps non-function variables in a simple return function.\n @param {Array|Number|Object|String} value The value to be returned from the function.\n @example this\nconstant(42);\n @example returns this\nfunction() {\n return 42;\n}\n*/\nvar constant = function(value) {\n return function constant() {\n return value;\n };\n};\n\n/**\n @function elem\n @desc Manages the enter/update/exit pattern for a single DOM element.\n @param {String} selector A D3 selector, which must include the tagname and a class and/or ID.\n @param {Object} params Additional parameters.\n @param {Boolean} [params.condition = true] Whether or not the element should be rendered (or removed).\n @param {Object} [params.enter = {}] A collection of key/value pairs that map to attributes to be given on enter.\n @param {Object} [params.exit = {}] A collection of key/value pairs that map to attributes to be given on exit.\n @param {D3Selection} [params.parent = d3.select(\"body\")] The parent element for this new element to be appended to.\n @param {D3Transition} [params.transition = d3.transition().duration(0)] The transition to use when animated the different life cycle stages.\n @param {Object} [params.update = {}] A collection of key/value pairs that map to attributes to be given on update.\n*/\nvar elem = function(selector, p) {\n\n // overrides default params\n p = Object.assign({}, {\n condition: true,\n enter: {},\n exit: {},\n parent: d3Selection.select(\"body\"),\n transition: d3Transition.transition().duration(0),\n update: {}\n }, p);\n\n var className = (/\\.([^#]+)/g).exec(selector),\n id = (/#([^\\.]+)/g).exec(selector),\n tag = (/^([^.^#]+)/g).exec(selector)[1];\n\n var elem = p.parent.selectAll(selector.includes(\":\") ? selector.split(\":\")[1] : selector)\n .data(p.condition ? [null] : []);\n\n var enter = elem.enter().append(tag).call(attrize, p.enter);\n\n if (id) { enter.attr(\"id\", id[1]); }\n if (className) { enter.attr(\"class\", className[1]); }\n\n elem.exit().transition(p.transition).call(attrize, p.exit).remove();\n\n var update = enter.merge(elem);\n update.transition(p.transition).call(attrize, p.update);\n\n return update;\n\n};\n\nvar Back = \"Back\";\nvar Total = \"Total\";\nvar array = {\"lowercase\":[\"a\",\"an\",\"and\",\"as\",\"at\",\"but\",\"by\",\"for\",\"from\",\"if\",\"in\",\"into\",\"near\",\"nor\",\"of\",\"on\",\"onto\",\"or\",\"per\",\"that\",\"the\",\"to\",\"with\",\"via\",\"vs\",\"vs.\"],\"uppercase\":[\"CEO\",\"CFO\",\"CNC\",\"COO\",\"CPU\",\"GDP\",\"HVAC\",\"ID\",\"IT\",\"R&D\",\"TV\",\"UI\"]};\nvar enUS = {\n\tBack: Back,\n\tTotal: Total,\n\tarray: array\n};\n\nvar Back$1 = \"Atrás\";\nvar Total$1 = \"Total\";\nvar array$1 = {\"lowercase\":[\"una\",\"y\",\"en\",\"pero\",\"en\",\"de\",\"o\",\"el\",\"la\",\"los\",\"las\",\"para\",\"a\",\"con\"],\"uppercase\":[\"CEO\",\"CFO\",\"CNC\",\"COO\",\"CPU\",\"PIB\",\"HVAC\",\"ID\",\"TI\",\"I&D\",\"TV\",\"UI\"]};\nvar esES = {\n\tBack: Back$1,\n\tTotal: Total$1,\n\tarray: array$1\n};\n\nvar namespace = \"d3plus\";\nvar locale = i18next.init({\n fallbackLng: \"en-US\",\n defaultNS: namespace,\n fallbackNS: namespace,\n initImmediate: false,\n ns: namespace,\n resources: {\n \"en-US\": ( obj = {}, obj[namespace] = enUS, obj ),\n \"es-ES\": ( obj$1 = {}, obj$1[namespace] = esES, obj$1 )\n }\n});\nvar obj;\nvar obj$1;\n\n/**\n @function merge\n @desc Combines an Array of Objects together and returns a new Object.\n @param {Array} objects The Array of objects to be merged together.\n @param {Object} aggs An object containing specific aggregation methods (functions) for each key type. By default, numbers are summed and strings are returned as an array of unique values.\n @example this\nmerge([\n {id: \"foo\", group: \"A\", value: 10, links: [1, 2]},\n {id: \"bar\", group: \"A\", value: 20, links: [1, 3]}\n]);\n @example returns this\n{id: [\"bar\", \"foo\"], group: \"A\", value: 30, links: [1, 2, 3]}\n*/\nfunction objectMerge(objects, aggs) {\n if ( aggs === void 0 ) aggs = {};\n\n\n var availableKeys = new Set(d3Array.merge(objects.map(function (o) { return d3Collection.keys(o); }))),\n newObject = {};\n\n availableKeys.forEach(function (k) {\n var values = objects.map(function (o) { return o[k]; });\n var value;\n if (aggs[k]) { value = aggs[k](values); }\n else {\n var types = values.map(function (v) { return v || v === false ? v.constructor : v; }).filter(function (v) { return v !== void 0; });\n if (!types.length) { value = undefined; }\n else if (types.indexOf(Array) >= 0) {\n value = d3Array.merge(values.map(function (v) { return v instanceof Array ? v : [v]; }));\n value = Array.from(new Set(value));\n if (value.length === 1) { value = value[0]; }\n }\n else if (types.indexOf(String) >= 0) {\n value = Array.from(new Set(values));\n if (value.length === 1) { value = value[0]; }\n }\n else if (types.indexOf(Number) >= 0) { value = d3Array.sum(values); }\n else if (types.indexOf(Object) >= 0) { value = objectMerge(values.filter(function (v) { return v; })); }\n else {\n value = Array.from(new Set(values.filter(function (v) { return v !== void 0; })));\n if (value.length === 1) { value = value[0]; }\n }\n }\n newObject[k] = value;\n });\n\n return newObject;\n\n}\n\n/**\n @function prefix\n @desc Returns the appropriate CSS vendor prefix, given the current browser.\n*/\nvar prefix = function() {\n if (\"-webkit-transform\" in document.body.style) { return \"-webkit-\"; }\n else if (\"-moz-transform\" in document.body.style) { return \"-moz-\"; }\n else if (\"-ms-transform\" in document.body.style) { return \"-ms-\"; }\n else if (\"-o-transform\" in document.body.style) { return \"-o-\"; }\n else { return \"\"; }\n};\n\n/**\n @function stylize\n @desc Applies each key/value in an object as a style.\n @param {D3selection} elem The D3 element to apply the styles to.\n @param {Object} styles An object of key/value style pairs.\n*/\nvar stylize = function(e, s) {\n if ( s === void 0 ) s = {};\n\n for (var k in s) { if ({}.hasOwnProperty.call(s, k)) { e.style(k, s[k]); } }\n};\n\nexports.accessor = accessor;\nexports.assign = assign;\nexports.attrize = attrize;\nexports.BaseClass = BaseClass;\nexports.closest = closest;\nexports.configPrep = configPrep;\nexports.constant = constant;\nexports.elem = elem;\nexports.isObject = isObject;\nexports.locale = locale;\nexports.merge = objectMerge;\nexports.prefix = prefix;\nexports.stylize = stylize;\nexports.uuid = uuid;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=d3plus-common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3plus-common/build/d3plus-common.js\n// module id = 26\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3plus-common/build/d3plus-common.js?");/***/},/* 27 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("var _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; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar consoleLogger = {\n type: 'logger',\n\n log: function log(args) {\n this._output('log', args);\n },\n warn: function warn(args) {\n this._output('warn', args);\n },\n error: function error(args) {\n this._output('error', args);\n },\n _output: function _output(type, args) {\n if (console && console[type]) console[type].apply(console, Array.prototype.slice.call(args));\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n Logger.prototype.init = function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug === false ? false : true;\n };\n\n Logger.prototype.setDebug = function setDebug(bool) {\n this.debug = bool;\n };\n\n Logger.prototype.log = function log() {\n this.forward(arguments, 'log', '', true);\n };\n\n Logger.prototype.warn = function warn() {\n this.forward(arguments, 'warn', '', true);\n };\n\n Logger.prototype.error = function error() {\n this.forward(arguments, 'error', '');\n };\n\n Logger.prototype.deprecate = function deprecate() {\n this.forward(arguments, 'warn', 'WARNING DEPRECATED: ', true);\n };\n\n Logger.prototype.forward = function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return;\n if (typeof args[0] === 'string') args[0] = prefix + this.prefix + ' ' + args[0];\n this.logger[lvl](args);\n };\n\n Logger.prototype.create = function create(moduleName) {\n var sub = new Logger(this.logger, _extends({ prefix: this.prefix + ':' + moduleName + ':' }, this.options));\n\n return sub;\n };\n\n // createInstance(options = {}) {\n // return new Logger(options, callback);\n // }\n\n return Logger;\n}();\n\n;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new Logger());\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/i18next/dist/es/logger.js\n// module id = 27\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/i18next/dist/es/logger.js?");/***/},/* 28 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar _prodInvariant = __webpack_require__(3);\n\nvar invariant = __webpack_require__(1);\n\nfunction checkMask(value, bitmask) {\n return (value & bitmask) === bitmask;\n}\n\nvar DOMPropertyInjection = {\n /**\n * Mapping from normalized, camelcased property names to a configuration that\n * specifies how the associated DOM property should be accessed or rendered.\n */\n MUST_USE_PROPERTY: 0x1,\n HAS_BOOLEAN_VALUE: 0x4,\n HAS_NUMERIC_VALUE: 0x8,\n HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,\n HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,\n\n /**\n * Inject some specialized knowledge about the DOM. This takes a config object\n * with the following properties:\n *\n * isCustomAttribute: function that given an attribute name will return true\n * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*\n * attributes where it's impossible to enumerate all of the possible\n * attribute names,\n *\n * Properties: object mapping DOM property name to one of the\n * DOMPropertyInjection constants or null. If your attribute isn't in here,\n * it won't get written to the DOM.\n *\n * DOMAttributeNames: object mapping React attribute name to the DOM\n * attribute name. Attribute names not specified use the **lowercase**\n * normalized name.\n *\n * DOMAttributeNamespaces: object mapping React attribute name to the DOM\n * attribute namespace URL. (Attribute names not specified use no namespace.)\n *\n * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.\n * Property names not specified use the normalized name.\n *\n * DOMMutationMethods: Properties that require special mutation methods. If\n * `value` is undefined, the mutation method should unset the property.\n *\n * @param {object} domPropertyConfig the config as described above.\n */\n injectDOMPropertyConfig: function (domPropertyConfig) {\n var Injection = DOMPropertyInjection;\n var Properties = domPropertyConfig.Properties || {};\n var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};\n var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};\n var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};\n var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};\n\n if (domPropertyConfig.isCustomAttribute) {\n DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);\n }\n\n for (var propName in Properties) {\n !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\\'re trying to inject DOM property \\'%s\\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0;\n\n var lowerCased = propName.toLowerCase();\n var propConfig = Properties[propName];\n\n var propertyInfo = {\n attributeName: lowerCased,\n attributeNamespace: null,\n propertyName: propName,\n mutationMethod: null,\n\n mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),\n hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),\n hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),\n hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),\n hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)\n };\n !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[lowerCased] = propName;\n }\n\n if (DOMAttributeNames.hasOwnProperty(propName)) {\n var attributeName = DOMAttributeNames[propName];\n propertyInfo.attributeName = attributeName;\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[attributeName] = propName;\n }\n }\n\n if (DOMAttributeNamespaces.hasOwnProperty(propName)) {\n propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];\n }\n\n if (DOMPropertyNames.hasOwnProperty(propName)) {\n propertyInfo.propertyName = DOMPropertyNames[propName];\n }\n\n if (DOMMutationMethods.hasOwnProperty(propName)) {\n propertyInfo.mutationMethod = DOMMutationMethods[propName];\n }\n\n DOMProperty.properties[propName] = propertyInfo;\n }\n }\n};\n\n/* eslint-disable max-len */\nvar ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\n/* eslint-enable max-len */\n\n/**\n * DOMProperty exports lookup objects that can be used like functions:\n *\n * > DOMProperty.isValid['id']\n * true\n * > DOMProperty.isValid['foobar']\n * undefined\n *\n * Although this may be confusing, it performs better in general.\n *\n * @see http://jsperf.com/key-exists\n * @see http://jsperf.com/key-missing\n */\nvar DOMProperty = {\n ID_ATTRIBUTE_NAME: 'data-reactid',\n ROOT_ATTRIBUTE_NAME: 'data-reactroot',\n\n ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,\n ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040',\n\n /**\n * Map from property \"standard name\" to an object with info about how to set\n * the property in the DOM. Each object contains:\n *\n * attributeName:\n * Used when rendering markup or with `*Attribute()`.\n * attributeNamespace\n * propertyName:\n * Used on DOM node instances. (This includes properties that mutate due to\n * external factors.)\n * mutationMethod:\n * If non-null, used instead of the property or `setAttribute()` after\n * initial render.\n * mustUseProperty:\n * Whether the property must be accessed and mutated as an object property.\n * hasBooleanValue:\n * Whether the property should be removed when set to a falsey value.\n * hasNumericValue:\n * Whether the property must be numeric or parse as a numeric and should be\n * removed when set to a falsey value.\n * hasPositiveNumericValue:\n * Whether the property must be positive numeric or parse as a positive\n * numeric and should be removed when set to a falsey value.\n * hasOverloadedBooleanValue:\n * Whether the property can be used as a flag as well as with a value.\n * Removed when strictly equal to false; present without a value when\n * strictly equal to true; present with a value otherwise.\n */\n properties: {},\n\n /**\n * Mapping from lowercase property names to the properly cased version, used\n * to warn in the case of missing properties. Available only in __DEV__.\n *\n * autofocus is predefined, because adding it to the property whitelist\n * causes unintended side effects.\n *\n * @type {Object}\n */\n getPossibleStandardName: process.env.NODE_ENV !== 'production' ? { autofocus: 'autoFocus' } : null,\n\n /**\n * All of the isCustomAttribute() functions that have been injected.\n */\n _isCustomAttributeFunctions: [],\n\n /**\n * Checks whether a property name is a custom attribute.\n * @method\n */\n isCustomAttribute: function (attributeName) {\n for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {\n var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];\n if (isCustomAttributeFn(attributeName)) {\n return true;\n }\n }\n return false;\n },\n\n injection: DOMPropertyInjection\n};\n\nmodule.exports = DOMProperty;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/DOMProperty.js\n// module id = 28\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/DOMProperty.js?");/***/},/* 29 *//***/function(module,exports){eval("var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/webpack/buildin/global.js\n// module id = 29\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/webpack/buildin/global.js?");/***/},/* 30 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return slice; });\nvar array = Array.prototype;\n\nvar map = array.map;\nvar slice = array.slice;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-scale/src/array.js\n// module id = 30\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-scale/src/array.js?");/***/},/* 31 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function constant() {\n return x;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-shape/src/constant.js\n// module id = 31\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-shape/src/constant.js?");/***/},/* 32 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_selection_index__ = __webpack_require__(491);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_transition_index__ = __webpack_require__(25);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"transition\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_transition_index__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_active__ = __webpack_require__(490);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"active\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_active__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_interrupt__ = __webpack_require__(216);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interrupt\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_interrupt__[\"a\"]; });\n\n\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-transition/index.js\n// module id = 32\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-transition/index.js?");/***/},/* 33 *//***/function(module,exports,__webpack_require__){eval("var baseIsNative = __webpack_require__(577),\n getValue = __webpack_require__(598);\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/_getNative.js\n// module id = 33\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/_getNative.js?");/***/},/* 34 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n\n\nvar _prodInvariant = __webpack_require__(3);\n\nvar invariant = __webpack_require__(1);\n\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\nvar oneArgumentPooler = function (copyFieldsFrom) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar twoArgumentPooler = function (a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\nvar threeArgumentPooler = function (a1, a2, a3) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\nvar fourArgumentPooler = function (a1, a2, a3, a4) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nvar standardReleaser = function (instance) {\n var Klass = this;\n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function (CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: oneArgumentPooler,\n twoArgumentPooler: twoArgumentPooler,\n threeArgumentPooler: threeArgumentPooler,\n fourArgumentPooler: fourArgumentPooler\n};\n\nmodule.exports = PooledClass;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/PooledClass.js\n// module id = 34\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/PooledClass.js?");/***/},/* 35 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar _assign = __webpack_require__(5);\n\nvar ReactCurrentOwner = __webpack_require__(20);\n\nvar warning = __webpack_require__(2);\nvar canDefineProperty = __webpack_require__(92);\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar REACT_ELEMENT_TYPE = __webpack_require__(279);\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\n\nvar specialPropKeyWarningShown, specialPropRefWarningShown;\n\nfunction hasValidRef(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, no instanceof check\n * will work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} key\n * @param {string|object} ref\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @param {*} owner\n * @param {*} props\n * @internal\n */\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allow us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n if (process.env.NODE_ENV !== 'production') {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {};\n\n // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n if (canDefineProperty) {\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n });\n // self and source are DEV only properties.\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n });\n // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n } else {\n element._store.validated = false;\n element._self = self;\n element._source = source;\n }\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n\n/**\n * Create and return a new ReactElement of the given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement\n */\nReactElement.createElement = function (type, config, children) {\n var propName;\n\n // Reserved names are extracted\n var props = {};\n\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n }\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source;\n // Remaining properties are added to a new props object\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n if (process.env.NODE_ENV !== 'production') {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n props.children = childArray;\n }\n\n // Resolve default props\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (key || ref) {\n if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n }\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n};\n\n/**\n * Return a function that produces ReactElements of a given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory\n */\nReactElement.createFactory = function (type) {\n var factory = ReactElement.createElement.bind(null, type);\n // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. `.type === Foo`.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook TODO: Warn if this is accessed\n factory.type = type;\n return factory;\n};\n\nReactElement.cloneAndReplaceKey = function (oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n\n return newElement;\n};\n\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement\n */\nReactElement.cloneElement = function (element, config, children) {\n var propName;\n\n // Original props are copied\n var props = _assign({}, element.props);\n\n // Reserved names are extracted\n var key = element.key;\n var ref = element.ref;\n // Self is preserved since the owner is preserved.\n var self = element._self;\n // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n var source = element._source;\n\n // Owner will be preserved, unless ref is overridden\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n // Remaining properties override existing props\n var defaultProps;\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n};\n\n/**\n * Verifies the object is a ReactElement.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a valid component.\n * @final\n */\nReactElement.isValidElement = function (object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n};\n\nmodule.exports = ReactElement;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react/lib/ReactElement.js\n// module id = 35\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react/lib/ReactElement.js?");/***/},/* 36 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-array/src/ascending.js\n// module id = 36\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-array/src/ascending.js?");/***/},/* 37 *//***/function(module,exports){eval("/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/isObjectLike.js\n// module id = 37\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/isObjectLike.js?");/***/},/* 38 *//***/function(module,exports,__webpack_require__){eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(250)(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(656)();\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/prop-types/index.js\n// module id = 38\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/prop-types/index.js?");/***/},/* 39 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar DOMNamespaces = __webpack_require__(138);\nvar setInnerHTML = __webpack_require__(91);\n\nvar createMicrosoftUnsafeLocalFunction = __webpack_require__(145);\nvar setTextContent = __webpack_require__(271);\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\n/**\n * In IE (8-11) and Edge, appending nodes with no children is dramatically\n * faster than appending a full subtree, so we essentially queue up the\n * .appendChild calls here and apply them so each node is added to its parent\n * before any children are added.\n *\n * In other browsers, doing so is slower or neutral compared to the other order\n * (in Firefox, twice as slow) so we only do this inversion in IE.\n *\n * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode.\n */\nvar enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\\bEdge\\/\\d/.test(navigator.userAgent);\n\nfunction insertTreeChildren(tree) {\n if (!enableLazy) {\n return;\n }\n var node = tree.node;\n var children = tree.children;\n if (children.length) {\n for (var i = 0; i < children.length; i++) {\n insertTreeBefore(node, children[i], null);\n }\n } else if (tree.html != null) {\n setInnerHTML(node, tree.html);\n } else if (tree.text != null) {\n setTextContent(node, tree.text);\n }\n}\n\nvar insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) {\n // DocumentFragments aren't actually part of the DOM after insertion so\n // appending children won't update the DOM. We need to ensure the fragment\n // is properly populated first, breaking out of our lazy approach for just\n // this level. Also, some plugins (like Flash Player) will read\n // nodes immediately upon insertion into the DOM, so \n // must also be populated prior to insertion into the DOM.\n if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {\n insertTreeChildren(tree);\n parentNode.insertBefore(tree.node, referenceNode);\n } else {\n parentNode.insertBefore(tree.node, referenceNode);\n insertTreeChildren(tree);\n }\n});\n\nfunction replaceChildWithTree(oldNode, newTree) {\n oldNode.parentNode.replaceChild(newTree.node, oldNode);\n insertTreeChildren(newTree);\n}\n\nfunction queueChild(parentTree, childTree) {\n if (enableLazy) {\n parentTree.children.push(childTree);\n } else {\n parentTree.node.appendChild(childTree.node);\n }\n}\n\nfunction queueHTML(tree, html) {\n if (enableLazy) {\n tree.html = html;\n } else {\n setInnerHTML(tree.node, html);\n }\n}\n\nfunction queueText(tree, text) {\n if (enableLazy) {\n tree.text = text;\n } else {\n setTextContent(tree.node, text);\n }\n}\n\nfunction toString() {\n return this.node.nodeName;\n}\n\nfunction DOMLazyTree(node) {\n return {\n node: node,\n children: [],\n html: null,\n text: null,\n toString: toString\n };\n}\n\nDOMLazyTree.insertTreeBefore = insertTreeBefore;\nDOMLazyTree.replaceChildWithTree = replaceChildWithTree;\nDOMLazyTree.queueChild = queueChild;\nDOMLazyTree.queueHTML = queueHTML;\nDOMLazyTree.queueText = queueText;\n\nmodule.exports = DOMLazyTree;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/DOMLazyTree.js\n// module id = 39\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/DOMLazyTree.js?");/***/},/* 40 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar ReactRef = __webpack_require__(701);\nvar ReactInstrumentation = __webpack_require__(15);\n\nvar warning = __webpack_require__(2);\n\n/**\n * Helper to call ReactRef.attachRefs with this composite component, split out\n * to avoid allocations in the transaction mount-ready queue.\n */\nfunction attachRefs() {\n ReactRef.attachRefs(this, this._currentElement);\n}\n\nvar ReactReconciler = {\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?object} the containing host component instance\n * @param {?object} info about the host container\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots\n {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);\n }\n }\n var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID);\n if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);\n }\n }\n return markup;\n },\n\n /**\n * Returns a value that can be passed to\n * ReactComponentEnvironment.replaceNodeWithMarkup.\n */\n getHostNode: function (internalInstance) {\n return internalInstance.getHostNode();\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function (internalInstance, safely) {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID);\n }\n }\n ReactRef.detachRefs(internalInstance, internalInstance._currentElement);\n internalInstance.unmountComponent(safely);\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Update a component using a new element.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @internal\n */\n receiveComponent: function (internalInstance, nextElement, transaction, context) {\n var prevElement = internalInstance._currentElement;\n\n if (nextElement === prevElement && context === internalInstance._context) {\n // Since elements are immutable after the owner is rendered,\n // we can do a cheap identity compare here to determine if this is a\n // superfluous reconcile. It's possible for state to be mutable but such\n // change should trigger an update of the owner which would recreate\n // the element. We explicitly check for the existence of an owner since\n // it's possible for an element created outside a composite to be\n // deeply mutated and reused.\n\n // TODO: Bailing out early is just a perf optimization right?\n // TODO: Removing the return statement should affect correctness?\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement);\n }\n }\n\n var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);\n\n if (refsChanged) {\n ReactRef.detachRefs(internalInstance, prevElement);\n }\n\n internalInstance.receiveComponent(nextElement, transaction, context);\n\n if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Flush any dirty changes in a component.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) {\n if (internalInstance._updateBatchNumber !== updateBatchNumber) {\n // The component's enqueued batch number should always be the current\n // batch or the following one.\n process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0;\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement);\n }\n }\n internalInstance.performUpdateIfNecessary(transaction);\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n }\n};\n\nmodule.exports = ReactReconciler;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/ReactReconciler.js\n// module id = 40\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/ReactReconciler.js?");/***/},/* 41 *//***/function(module,exports,__webpack_require__){"use strict";eval("\n\nvar _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; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = catchErrors;\nfunction catchErrors(_ref) {\n var filename = _ref.filename;\n var components = _ref.components;\n var imports = _ref.imports;\n\n var _imports = _slicedToArray(imports, 3);\n\n var React = _imports[0];\n var ErrorReporter = _imports[1];\n var reporterOptions = _imports[2];\n\n if (!React || !React.Component) {\n throw new Error('imports[0] for react-transform-catch-errors does not look like React.');\n }\n if (typeof ErrorReporter !== 'function') {\n throw new Error('imports[1] for react-transform-catch-errors does not look like a React component.');\n }\n\n return function wrapToCatchErrors(ReactClass, componentId) {\n var originalRender = ReactClass.prototype.render;\n\n ReactClass.prototype.render = function tryRender() {\n try {\n return originalRender.apply(this, arguments);\n } catch (err) {\n setTimeout(function () {\n if (typeof console.reportErrorsAsExceptions !== 'undefined') {\n var prevReportErrorAsExceptions = console.reportErrorsAsExceptions;\n // We're in React Native. Don't throw.\n // Stop react-native from triggering its own error handler\n console.reportErrorsAsExceptions = false;\n // Log an error\n console.error(err);\n // Reactivate it so other errors are still handled\n console.reportErrorsAsExceptions = prevReportErrorAsExceptions;\n } else {\n throw err;\n }\n });\n\n return React.createElement(ErrorReporter, _extends({\n error: err,\n filename: filename\n }, reporterOptions));\n }\n };\n\n return ReactClass;\n };\n}\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-transform-catch-errors/lib/index.js\n// module id = 41\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-transform-catch-errors/lib/index.js?");/***/},/* 42 *//***/function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nexports['default'] = proxyReactComponents;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _reactProxy = __webpack_require__(733);\n\nvar _globalWindow = __webpack_require__(532);\n\nvar _globalWindow2 = _interopRequireDefault(_globalWindow);\n\nvar componentProxies = undefined;\nif (_globalWindow2['default'].__reactComponentProxies) {\n componentProxies = _globalWindow2['default'].__reactComponentProxies;\n} else {\n componentProxies = {};\n Object.defineProperty(_globalWindow2['default'], '__reactComponentProxies', {\n configurable: true,\n enumerable: false,\n writable: false,\n value: componentProxies\n });\n}\n\nfunction proxyReactComponents(_ref) {\n var filename = _ref.filename;\n var components = _ref.components;\n var imports = _ref.imports;\n var locals = _ref.locals;\n\n var _imports = _slicedToArray(imports, 1);\n\n var React = _imports[0];\n\n var _locals = _slicedToArray(locals, 1);\n\n var hot = _locals[0].hot;\n\n if (!React.Component) {\n throw new Error('imports[0] for react-transform-hmr does not look like React.');\n }\n\n if (!hot || typeof hot.accept !== 'function') {\n throw new Error('locals[0] does not appear to be a `module` object with Hot Module ' + 'replacement API enabled. You should disable react-transform-hmr in ' + 'production by using `env` section in Babel configuration. See the ' + 'example in README: https://github.com/gaearon/react-transform-hmr');\n }\n\n if (Object.keys(components).some(function (key) {\n return !components[key].isInFunction;\n })) {\n hot.accept(function (err) {\n if (err) {\n console.warn('[React Transform HMR] There was an error updating ' + filename + ':');\n console.error(err);\n }\n });\n }\n\n var forceUpdate = (0, _reactProxy.getForceUpdate)(React);\n\n return function wrapWithProxy(ReactClass, uniqueId) {\n var _components$uniqueId = components[uniqueId];\n var _components$uniqueId$isInFunction = _components$uniqueId.isInFunction;\n var isInFunction = _components$uniqueId$isInFunction === undefined ? false : _components$uniqueId$isInFunction;\n var _components$uniqueId$displayName = _components$uniqueId.displayName;\n var displayName = _components$uniqueId$displayName === undefined ? uniqueId : _components$uniqueId$displayName;\n\n if (isInFunction) {\n return ReactClass;\n }\n\n var globalUniqueId = filename + '$' + uniqueId;\n if (componentProxies[globalUniqueId]) {\n (function () {\n console.info('[React Transform HMR] Patching ' + displayName);\n var instances = componentProxies[globalUniqueId].update(ReactClass);\n setTimeout(function () {\n return instances.forEach(forceUpdate);\n });\n })();\n } else {\n componentProxies[globalUniqueId] = (0, _reactProxy.createProxy)(ReactClass);\n }\n\n return componentProxies[globalUniqueId].get();\n };\n}\n\nmodule.exports = exports['default'];\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-transform-hmr/lib/index.js\n// module id = 42\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-transform-hmr/lib/index.js?");/***/},/* 43 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar _assign = __webpack_require__(5);\n\nvar ReactBaseClasses = __webpack_require__(278);\nvar ReactChildren = __webpack_require__(745);\nvar ReactDOMFactories = __webpack_require__(746);\nvar ReactElement = __webpack_require__(35);\nvar ReactPropTypes = __webpack_require__(748);\nvar ReactVersion = __webpack_require__(750);\n\nvar createReactClass = __webpack_require__(752);\nvar onlyChild = __webpack_require__(754);\n\nvar createElement = ReactElement.createElement;\nvar createFactory = ReactElement.createFactory;\nvar cloneElement = ReactElement.cloneElement;\n\nif (process.env.NODE_ENV !== 'production') {\n var lowPriorityWarning = __webpack_require__(154);\n var canDefineProperty = __webpack_require__(92);\n var ReactElementValidator = __webpack_require__(280);\n var didWarnPropTypesDeprecated = false;\n createElement = ReactElementValidator.createElement;\n createFactory = ReactElementValidator.createFactory;\n cloneElement = ReactElementValidator.cloneElement;\n}\n\nvar __spread = _assign;\nvar createMixin = function (mixin) {\n return mixin;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var warnedForSpread = false;\n var warnedForCreateMixin = false;\n __spread = function () {\n lowPriorityWarning(warnedForSpread, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.');\n warnedForSpread = true;\n return _assign.apply(null, arguments);\n };\n\n createMixin = function (mixin) {\n lowPriorityWarning(warnedForCreateMixin, 'React.createMixin is deprecated and should not be used. ' + 'In React v16.0, it will be removed. ' + 'You can use this mixin directly instead. ' + 'See https://fb.me/createmixin-was-never-implemented for more info.');\n warnedForCreateMixin = true;\n return mixin;\n };\n}\n\nvar React = {\n // Modern\n\n Children: {\n map: ReactChildren.map,\n forEach: ReactChildren.forEach,\n count: ReactChildren.count,\n toArray: ReactChildren.toArray,\n only: onlyChild\n },\n\n Component: ReactBaseClasses.Component,\n PureComponent: ReactBaseClasses.PureComponent,\n\n createElement: createElement,\n cloneElement: cloneElement,\n isValidElement: ReactElement.isValidElement,\n\n // Classic\n\n PropTypes: ReactPropTypes,\n createClass: createReactClass,\n createFactory: createFactory,\n createMixin: createMixin,\n\n // This looks DOM specific but these are actually isomorphic helpers\n // since they are just generating DOM strings.\n DOM: ReactDOMFactories,\n\n version: ReactVersion,\n\n // Deprecated hook for JSX spread, don't use this for anything.\n __spread: __spread\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var warnedForCreateClass = false;\n if (canDefineProperty) {\n Object.defineProperty(React, 'PropTypes', {\n get: function () {\n lowPriorityWarning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated,' + ' and will be removed in React v16.0.' + ' Use the latest available v15.* prop-types package from npm instead.' + ' For info on usage, compatibility, migration and more, see ' + 'https://fb.me/prop-types-docs');\n didWarnPropTypesDeprecated = true;\n return ReactPropTypes;\n }\n });\n\n Object.defineProperty(React, 'createClass', {\n get: function () {\n lowPriorityWarning(warnedForCreateClass, 'Accessing createClass via the main React package is deprecated,' + ' and will be removed in React v16.0.' + \" Use a plain JavaScript class instead. If you're not yet \" + 'ready to migrate, create-react-class v15.* is available ' + 'on npm as a temporary, drop-in replacement. ' + 'For more info see https://fb.me/react-create-class');\n warnedForCreateClass = true;\n return createReactClass;\n }\n });\n }\n\n // React.DOM factories are deprecated. Wrap these methods so that\n // invocations of the React.DOM namespace and alert users to switch\n // to the `react-dom-factories` package.\n React.DOM = {};\n var warnedForFactories = false;\n Object.keys(ReactDOMFactories).forEach(function (factory) {\n React.DOM[factory] = function () {\n if (!warnedForFactories) {\n lowPriorityWarning(false, 'Accessing factories like React.DOM.%s has been deprecated ' + 'and will be removed in v16.0+. Use the ' + 'react-dom-factories package instead. ' + ' Version 1.0 provides a drop-in replacement.' + ' For more info, see https://fb.me/react-dom-factories', factory);\n warnedForFactories = true;\n }\n return ReactDOMFactories[factory].apply(ReactDOMFactories, arguments);\n };\n });\n}\n\nmodule.exports = React;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react/lib/React.js\n// module id = 43\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react/lib/React.js?");/***/},/* 44 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n\n/**\n * WARNING: DO NOT manually require this module.\n * This is a replacement for `invariant(...)` used by the error code system\n * and will _only_ be required by the corresponding babel pass.\n * It always throws.\n */\n\nfunction reactProdInvariant(code) {\n var argCount = arguments.length - 1;\n\n var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\n for (var argIdx = 0; argIdx < argCount; argIdx++) {\n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n }\n\n message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n\n var error = new Error(message);\n error.name = 'Invariant Violation';\n error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\n throw error;\n}\n\nmodule.exports = reactProdInvariant;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react/lib/reactProdInvariant.js\n// module id = 44\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react/lib/reactProdInvariant.js?");/***/},/* 45 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.__RewireAPI__ = exports.__ResetDependency__ = exports.__set__ = exports.__Rewire__ = exports.__GetDependency__ = exports.__get__ = exports.RedBoxError = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _propTypes = __webpack_require__(38);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = __webpack_require__(8);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = __webpack_require__(658);\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _style = __webpack_require__(757);\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _errorStackParser = __webpack_require__(516);\n\nvar _errorStackParser2 = _interopRequireDefault(_errorStackParser);\n\nvar _objectAssign = __webpack_require__(5);\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _lib = __webpack_require__(756);\n\nvar _sourcemappedStacktrace = __webpack_require__(763);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar RedBoxError = exports.RedBoxError = function (_get__2) {\n _inherits(RedBoxError, _get__2);\n\n function RedBoxError(props) {\n _classCallCheck(this, RedBoxError);\n\n var _this = _possibleConstructorReturn(this, (RedBoxError.__proto__ || Object.getPrototypeOf(RedBoxError)).call(this, props));\n\n _this.state = {\n error: null,\n mapped: false\n };\n\n _this.mapOnConstruction(props.error);\n return _this;\n }\n\n // State is used to store the error mapped to the source map.\n\n\n _createClass(RedBoxError, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!this.state.mapped) this.mapError(this.props.error);\n }\n\n // Try to map the error when the component gets constructed, this is possible\n // in some cases like evals.\n\n }, {\n key: 'mapOnConstruction',\n value: function mapOnConstruction(error) {\n var stackLines = error.stack.split('\\n');\n\n // There's no stack, only the error message.\n if (stackLines.length < 2) {\n this.state = { error: error, mapped: true };\n return;\n }\n\n // Using the “eval” setting on webpack already gives the correct location.\n var isWebpackEval = stackLines[1].search(/\\(webpack:\\/{3}/) !== -1;\n if (isWebpackEval) {\n // No changes are needed here.\n this.state = { error: error, mapped: true };\n return;\n }\n\n // Other eval follow a specific pattern and can be easily parsed.\n var isEval = stackLines[1].search(/\\(eval at/) !== -1;\n if (!isEval) {\n // mapping will be deferred until `componentDidMount`\n this.state = { error: error, mapped: false };\n return;\n }\n\n // The first line is the error message.\n var fixedLines = [stackLines.shift()];\n // The rest needs to be fixed.\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = stackLines[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var stackLine = _step.value;\n\n var evalStackLine = stackLine.match(/(.+)\\(eval at (.+) \\(.+?\\), .+(\\:[0-9]+\\:[0-9]+)\\)/);\n if (evalStackLine) {\n var _evalStackLine = _slicedToArray(evalStackLine, 4),\n atSomething = _evalStackLine[1],\n file = _evalStackLine[2],\n rowColumn = _evalStackLine[3];\n\n fixedLines.push(atSomething + ' (' + file + rowColumn + ')');\n } else {\n // TODO: When stack frames of different types are detected, try to load the additional source maps\n fixedLines.push(stackLine);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n error.stack = fixedLines.join('\\n');\n this.state = { error: error, mapped: true };\n }\n }, {\n key: 'mapError',\n value: function mapError(error) {\n var _this2 = this;\n\n _get__('mapStackTrace')(error.stack, function (mappedStack) {\n error.stack = mappedStack.join('\\n');\n _this2.setState({ error: error, mapped: true });\n });\n }\n }, {\n key: 'renderFrames',\n value: function renderFrames(frames) {\n var _props = this.props,\n filename = _props.filename,\n editorScheme = _props.editorScheme,\n useLines = _props.useLines,\n useColumns = _props.useColumns;\n\n var _get__3 = _get__('assign')({}, _get__('style'), this.props.style),\n frame = _get__3.frame,\n file = _get__3.file,\n linkToFile = _get__3.linkToFile;\n\n return frames.map(function (f, index) {\n var text = void 0;\n var url = void 0;\n\n if (index === 0 && filename && !_get__('isFilenameAbsolute')(f.fileName)) {\n url = _get__('makeUrl')(filename, editorScheme);\n text = _get__('makeLinkText')(filename);\n } else {\n var lines = useLines ? f.lineNumber : null;\n var columns = useColumns ? f.columnNumber : null;\n url = _get__('makeUrl')(f.fileName, editorScheme, lines, columns);\n text = _get__('makeLinkText')(f.fileName, lines, columns);\n }\n\n return _get__('React').createElement(\n 'div',\n { style: frame, key: index },\n _get__('React').createElement(\n 'div',\n null,\n f.functionName\n ),\n _get__('React').createElement(\n 'div',\n { style: file },\n _get__('React').createElement(\n 'a',\n { href: url, style: linkToFile },\n text\n )\n )\n );\n });\n }\n }, {\n key: 'render',\n value: function render() {\n // The error is received as a property to initialize state.error, which may\n // be updated when it is mapped to the source map.\n var error = this.state.error;\n var className = this.props.className;\n\n var _get__4 = _get__('assign')({}, _get__('style'), this.props.style),\n redbox = _get__4.redbox,\n message = _get__4.message,\n stack = _get__4.stack,\n frame = _get__4.frame;\n\n var frames = void 0;\n var parseError = void 0;\n try {\n frames = _get__('ErrorStackParser').parse(error);\n } catch (e) {\n parseError = new Error('Failed to parse stack trace. Stack trace information unavailable.');\n }\n\n if (parseError) {\n frames = _get__('React').createElement(\n 'div',\n { style: frame, key: 0 },\n _get__('React').createElement(\n 'div',\n null,\n parseError.message\n )\n );\n } else {\n frames = this.renderFrames(frames);\n }\n\n return _get__('React').createElement(\n 'div',\n { style: redbox, className: className },\n _get__('React').createElement(\n 'div',\n { style: message },\n error.name,\n ': ',\n error.message\n ),\n _get__('React').createElement(\n 'div',\n { style: stack },\n frames\n )\n );\n }\n }]);\n\n return RedBoxError;\n}(_get__('Component'));\n\n// \"Portal\" component for actual RedBoxError component to\n// render to (directly under body). Prevents bugs as in #27.\n\n\nRedBoxError.propTypes = {\n error: _get__('PropTypes').instanceOf(Error).isRequired,\n filename: _get__('PropTypes').string,\n editorScheme: _get__('PropTypes').string,\n useLines: _get__('PropTypes').bool,\n useColumns: _get__('PropTypes').bool,\n style: _get__('PropTypes').object,\n className: _get__('PropTypes').string\n};\nRedBoxError.displayName = 'RedBoxError';\nRedBoxError.defaultProps = {\n useLines: true,\n useColumns: true\n};\n\nvar RedBox = function (_get__5) {\n _inherits(RedBox, _get__5);\n\n function RedBox() {\n _classCallCheck(this, RedBox);\n\n return _possibleConstructorReturn(this, (RedBox.__proto__ || Object.getPrototypeOf(RedBox)).apply(this, arguments));\n }\n\n _createClass(RedBox, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.el = document.createElement('div');\n document.body.appendChild(this.el);\n this.renderRedBoxError();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n this.renderRedBoxError();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _get__('ReactDOM').unmountComponentAtNode(this.el);\n document.body.removeChild(this.el);\n this.el = null;\n }\n }, {\n key: 'renderRedBoxError',\n value: function renderRedBoxError() {\n _get__('ReactDOM').render(_get__('React').createElement(_get__('RedBoxError'), this.props), this.el);\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return RedBox;\n}(_get__('Component'));\n\nRedBox.propTypes = {\n error: _get__('PropTypes').instanceOf(Error).isRequired\n};\nRedBox.displayName = 'RedBox';\nexports.default = RedBox;\n\nfunction _getGlobalObject() {\n try {\n if (!!global) {\n return global;\n }\n } catch (e) {\n try {\n if (!!window) {\n return window;\n }\n } catch (e) {\n return this;\n }\n }\n}\n\n;\nvar _RewireModuleId__ = null;\n\nfunction _getRewireModuleId__() {\n if (_RewireModuleId__ === null) {\n var globalVariable = _getGlobalObject();\n\n if (!globalVariable.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__) {\n globalVariable.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__ = 0;\n }\n\n _RewireModuleId__ = __$$GLOBAL_REWIRE_NEXT_MODULE_ID__++;\n }\n\n return _RewireModuleId__;\n}\n\nfunction _getRewireRegistry__() {\n var theGlobalVariable = _getGlobalObject();\n\n if (!theGlobalVariable.__$$GLOBAL_REWIRE_REGISTRY__) {\n theGlobalVariable.__$$GLOBAL_REWIRE_REGISTRY__ = Object.create(null);\n }\n\n return __$$GLOBAL_REWIRE_REGISTRY__;\n}\n\nfunction _getRewiredData__() {\n var moduleId = _getRewireModuleId__();\n\n var registry = _getRewireRegistry__();\n\n var rewireData = registry[moduleId];\n\n if (!rewireData) {\n registry[moduleId] = Object.create(null);\n rewireData = registry[moduleId];\n }\n\n return rewireData;\n}\n\n(function registerResetAll() {\n var theGlobalVariable = _getGlobalObject();\n\n if (!theGlobalVariable['__rewire_reset_all__']) {\n theGlobalVariable['__rewire_reset_all__'] = function () {\n theGlobalVariable.__$$GLOBAL_REWIRE_REGISTRY__ = Object.create(null);\n };\n }\n})();\n\nvar INTENTIONAL_UNDEFINED = '__INTENTIONAL_UNDEFINED__';\nvar _RewireAPI__ = {};\n\n(function () {\n function addPropertyToAPIObject(name, value) {\n Object.defineProperty(_RewireAPI__, name, {\n value: value,\n enumerable: false,\n configurable: true\n });\n }\n\n addPropertyToAPIObject('__get__', _get__);\n addPropertyToAPIObject('__GetDependency__', _get__);\n addPropertyToAPIObject('__Rewire__', _set__);\n addPropertyToAPIObject('__set__', _set__);\n addPropertyToAPIObject('__reset__', _reset__);\n addPropertyToAPIObject('__ResetDependency__', _reset__);\n addPropertyToAPIObject('__with__', _with__);\n})();\n\nfunction _get__(variableName) {\n var rewireData = _getRewiredData__();\n\n if (rewireData[variableName] === undefined) {\n return _get_original__(variableName);\n } else {\n var value = rewireData[variableName];\n\n if (value === INTENTIONAL_UNDEFINED) {\n return undefined;\n } else {\n return value;\n }\n }\n}\n\nfunction _get_original__(variableName) {\n switch (variableName) {\n case 'PropTypes':\n return _propTypes2.default;\n\n case 'mapStackTrace':\n return _sourcemappedStacktrace.mapStackTrace;\n\n case 'assign':\n return _objectAssign2.default;\n\n case 'style':\n return _style2.default;\n\n case 'isFilenameAbsolute':\n return _lib.isFilenameAbsolute;\n\n case 'makeUrl':\n return _lib.makeUrl;\n\n case 'makeLinkText':\n return _lib.makeLinkText;\n\n case 'ErrorStackParser':\n return _errorStackParser2.default;\n\n case 'Component':\n return _react.Component;\n\n case 'ReactDOM':\n return _reactDom2.default;\n\n case 'React':\n return _react2.default;\n\n case 'RedBoxError':\n return RedBoxError;\n }\n\n return undefined;\n}\n\nfunction _assign__(variableName, value) {\n var rewireData = _getRewiredData__();\n\n if (rewireData[variableName] === undefined) {\n return _set_original__(variableName, value);\n } else {\n return rewireData[variableName] = value;\n }\n}\n\nfunction _set_original__(variableName, _value) {\n switch (variableName) {}\n\n return undefined;\n}\n\nfunction _update_operation__(operation, variableName, prefix) {\n var oldValue = _get__(variableName);\n\n var newValue = operation === '++' ? oldValue + 1 : oldValue - 1;\n\n _assign__(variableName, newValue);\n\n return prefix ? newValue : oldValue;\n}\n\nfunction _set__(variableName, value) {\n var rewireData = _getRewiredData__();\n\n if ((typeof variableName === 'undefined' ? 'undefined' : _typeof(variableName)) === 'object') {\n Object.keys(variableName).forEach(function (name) {\n rewireData[name] = variableName[name];\n });\n } else {\n if (value === undefined) {\n rewireData[variableName] = INTENTIONAL_UNDEFINED;\n } else {\n rewireData[variableName] = value;\n }\n\n return function () {\n _reset__(variableName);\n };\n }\n}\n\nfunction _reset__(variableName) {\n var rewireData = _getRewiredData__();\n\n delete rewireData[variableName];\n\n if (Object.keys(rewireData).length == 0) {\n delete _getRewireRegistry__()[_getRewireModuleId__];\n }\n\n ;\n}\n\nfunction _with__(object) {\n var rewireData = _getRewiredData__();\n\n var rewiredVariableNames = Object.keys(object);\n var previousValues = {};\n\n function reset() {\n rewiredVariableNames.forEach(function (variableName) {\n rewireData[variableName] = previousValues[variableName];\n });\n }\n\n return function (callback) {\n rewiredVariableNames.forEach(function (variableName) {\n previousValues[variableName] = rewireData[variableName];\n rewireData[variableName] = object[variableName];\n });\n var result = callback();\n\n if (!!result && typeof result.then == 'function') {\n result.then(reset).catch(reset);\n } else {\n reset();\n }\n\n return result;\n };\n}\n\nvar _typeOfOriginalExport = typeof RedBox === 'undefined' ? 'undefined' : _typeof(RedBox);\n\nfunction addNonEnumerableProperty(name, value) {\n Object.defineProperty(RedBox, name, {\n value: value,\n enumerable: false,\n configurable: true\n });\n}\n\nif ((_typeOfOriginalExport === 'object' || _typeOfOriginalExport === 'function') && Object.isExtensible(RedBox)) {\n addNonEnumerableProperty('__get__', _get__);\n addNonEnumerableProperty('__GetDependency__', _get__);\n addNonEnumerableProperty('__Rewire__', _set__);\n addNonEnumerableProperty('__set__', _set__);\n addNonEnumerableProperty('__reset__', _reset__);\n addNonEnumerableProperty('__ResetDependency__', _reset__);\n addNonEnumerableProperty('__with__', _with__);\n addNonEnumerableProperty('__RewireAPI__', _RewireAPI__);\n}\n\nexports.__get__ = _get__;\nexports.__GetDependency__ = _get__;\nexports.__Rewire__ = _set__;\nexports.__set__ = _set__;\nexports.__ResetDependency__ = _reset__;\nexports.__RewireAPI__ = _RewireAPI__;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(29)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/redbox-react/lib/index.js\n// module id = 45\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/redbox-react/lib/index.js?");/***/},/* 46 *//***/function(module,exports){eval("module.exports = function(originalModule) {\r\n\tif(!originalModule.webpackPolyfill) {\r\n\t\tvar module = Object.create(originalModule);\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"exports\", {\r\n\t\t\tenumerable: true,\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/webpack/buildin/harmony-module.js\n// module id = 46\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/webpack/buildin/harmony-module.js?");/***/},/* 47 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return x === null ? NaN : +x;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-array/src/number.js\n// module id = 47\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-array/src/number.js?");/***/},/* 48 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_nest__ = __webpack_require__(342);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"nest\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_nest__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_set__ = __webpack_require__(343);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"set\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_set__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_map__ = __webpack_require__(101);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_map__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_keys__ = __webpack_require__(341);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_keys__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_values__ = __webpack_require__(344);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_values__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_entries__ = __webpack_require__(340);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"entries\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_entries__[\"a\"]; });\n\n\n\n\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-collection/index.js\n// module id = 48\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-collection/index.js?");/***/},/* 49 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (immutable) */ __webpack_exports__[\"b\"] = hue;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = gamma;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = nogamma;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(184);\n\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\nfunction hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(isNaN(a) ? b : a);\n}\n\nfunction gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(isNaN(a) ? b : a);\n };\n}\n\nfunction nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(isNaN(a) ? b : a);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-interpolate/src/color.js\n// module id = 49\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-interpolate/src/color.js?");/***/},/* 50 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_path__ = __webpack_require__(386);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_path__[\"a\"]; });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-path/index.js\n// module id = 50\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-path/index.js?");/***/},/* 51 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony default export */ __webpack_exports__[\"a\"] = (function(s) {\n return s.match(/.{6}/g).map(function(x) {\n return \"#\" + x;\n });\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-scale/src/colors.js\n// module id = 51\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-scale/src/colors.js?");/***/},/* 52 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (immutable) */ __webpack_exports__[\"b\"] = linearish;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = linear;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__continuous__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tickFormat__ = __webpack_require__(412);\n\n\n\n\n\nfunction linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"ticks\"])(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__tickFormat__[\"a\" /* default */])(domain(), count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain(),\n i0 = 0,\n i1 = d.length - 1,\n start = d[i0],\n stop = d[i1],\n step;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n step = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"tickIncrement\"])(start, stop, count);\n\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"tickIncrement\"])(start, stop, count);\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"tickIncrement\"])(start, stop, count);\n }\n\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n domain(d);\n } else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n domain(d);\n }\n\n return scale;\n };\n\n return scale;\n}\n\nfunction linear() {\n var scale = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__continuous__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_2__continuous__[\"b\" /* deinterpolateLinear */], __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[\"interpolateNumber\"]);\n\n scale.copy = function() {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__continuous__[\"c\" /* copy */])(scale, linear());\n };\n\n return linearish(scale);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-scale/src/linear.js\n// module id = 52\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-scale/src/linear.js?");/***/},/* 53 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return abs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return atan2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return cos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return max; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return min; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return sin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return sqrt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return epsilon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return pi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return halfPi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return tau; });\n/* harmony export (immutable) */ __webpack_exports__[\"l\"] = acos;\n/* harmony export (immutable) */ __webpack_exports__[\"k\"] = asin;\nvar abs = Math.abs;\nvar atan2 = Math.atan2;\nvar cos = Math.cos;\nvar max = Math.max;\nvar min = Math.min;\nvar sin = Math.sin;\nvar sqrt = Math.sqrt;\n\nvar epsilon = 1e-12;\nvar pi = Math.PI;\nvar halfPi = pi / 2;\nvar tau = 2 * pi;\n\nfunction acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nfunction asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-shape/src/math.js\n// module id = 53\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-shape/src/math.js?");/***/},/* 54 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony default export */ __webpack_exports__[\"a\"] = (function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-shape/src/offset/none.js\n// module id = 54\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-shape/src/offset/none.js?");/***/},/* 55 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony default export */ __webpack_exports__[\"a\"] = (function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-shape/src/order/none.js\n// module id = 55\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-shape/src/order/none.js?");/***/},/* 56 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EventEmitter = function () {\n\tfunction EventEmitter() {\n\t\t_classCallCheck(this, EventEmitter);\n\n\t\tthis.observers = {};\n\t}\n\n\tEventEmitter.prototype.on = function on(events, listener) {\n\t\tvar _this = this;\n\n\t\tevents.split(' ').forEach(function (event) {\n\t\t\t_this.observers[event] = _this.observers[event] || [];\n\t\t\t_this.observers[event].push(listener);\n\t\t});\n\t};\n\n\tEventEmitter.prototype.off = function off(event, listener) {\n\t\tvar _this2 = this;\n\n\t\tif (!this.observers[event]) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.observers[event].forEach(function () {\n\t\t\tif (!listener) {\n\t\t\t\tdelete _this2.observers[event];\n\t\t\t} else {\n\t\t\t\tvar index = _this2.observers[event].indexOf(listener);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\t_this2.observers[event].splice(index, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n\n\tEventEmitter.prototype.emit = function emit(event) {\n\t\tfor (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t\t\targs[_key - 1] = arguments[_key];\n\t\t}\n\n\t\tif (this.observers[event]) {\n\t\t\tvar cloned = [].concat(this.observers[event]);\n\t\t\tcloned.forEach(function (observer) {\n\t\t\t\tobserver.apply(undefined, args);\n\t\t\t});\n\t\t}\n\n\t\tif (this.observers['*']) {\n\t\t\tvar _cloned = [].concat(this.observers['*']);\n\t\t\t_cloned.forEach(function (observer) {\n\t\t\t\tvar _ref;\n\n\t\t\t\tobserver.apply(observer, (_ref = [event]).concat.apply(_ref, args));\n\t\t\t});\n\t\t}\n\t};\n\n\treturn EventEmitter;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (EventEmitter);\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/i18next/dist/es/EventEmitter.js\n// module id = 56\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/i18next/dist/es/EventEmitter.js?");/***/},/* 57 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (immutable) */ __webpack_exports__[\"f\"] = makeString;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = copy;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = setPath;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = pushPath;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getPath;\n/* harmony export (immutable) */ __webpack_exports__[\"h\"] = deepExtend;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = regexEscape;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = escape;\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\n\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n object = object[key];\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop in target) {\n // If we reached a leaf string in target or source then replace with source or skip depending on the 'overwrite' switch\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }return target;\n}\n\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\n/* eslint-disable */\nvar _entityMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': '"',\n \"'\": ''',\n \"/\": '/'\n};\n/* eslint-enable */\n\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n } else {\n return data;\n }\n}\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/i18next/dist/es/utils.js\n// module id = 57\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/i18next/dist/es/utils.js?");/***/},/* 58 *//***/function(module,exports,__webpack_require__){eval("var root = __webpack_require__(22);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/_Symbol.js\n// module id = 58\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/_Symbol.js?");/***/},/* 59 *//***/function(module,exports,__webpack_require__){eval("var Symbol = __webpack_require__(58),\n getRawTag = __webpack_require__(595),\n objectToString = __webpack_require__(623);\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/_baseGetTag.js\n// module id = 59\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/_baseGetTag.js?");/***/},/* 60 *//***/function(module,exports,__webpack_require__){eval("var isFunction = __webpack_require__(247),\n isLength = __webpack_require__(135);\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/isArrayLike.js\n// module id = 60\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/isArrayLike.js?");/***/},/* 61 *//***/function(module,exports){eval("/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/isObject.js\n// module id = 61\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/isObject.js?");/***/},/* 62 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar _prodInvariant = __webpack_require__(3);\n\nvar EventPluginRegistry = __webpack_require__(86);\nvar EventPluginUtils = __webpack_require__(139);\nvar ReactErrorUtils = __webpack_require__(143);\n\nvar accumulateInto = __webpack_require__(264);\nvar forEachAccumulated = __webpack_require__(265);\nvar invariant = __webpack_require__(1);\n\n/**\n * Internal store for event listeners\n */\nvar listenerBank = {};\n\n/**\n * Internal queue of events that have accumulated their dispatches and are\n * waiting to have their dispatches executed.\n */\nvar eventQueue = null;\n\n/**\n * Dispatches an event and releases it back into the pool, unless persistent.\n *\n * @param {?object} event Synthetic event to be dispatched.\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @private\n */\nvar executeDispatchesAndRelease = function (event, simulated) {\n if (event) {\n EventPluginUtils.executeDispatchesInOrder(event, simulated);\n\n if (!event.isPersistent()) {\n event.constructor.release(event);\n }\n }\n};\nvar executeDispatchesAndReleaseSimulated = function (e) {\n return executeDispatchesAndRelease(e, true);\n};\nvar executeDispatchesAndReleaseTopLevel = function (e) {\n return executeDispatchesAndRelease(e, false);\n};\n\nvar getDictionaryKey = function (inst) {\n // Prevents V8 performance issue:\n // https://github.com/facebook/react/pull/7232\n return '.' + inst._rootNodeID;\n};\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nfunction shouldPreventMouseEvent(name, type, props) {\n switch (name) {\n case 'onClick':\n case 'onClickCapture':\n case 'onDoubleClick':\n case 'onDoubleClickCapture':\n case 'onMouseDown':\n case 'onMouseDownCapture':\n case 'onMouseMove':\n case 'onMouseMoveCapture':\n case 'onMouseUp':\n case 'onMouseUpCapture':\n return !!(props.disabled && isInteractive(type));\n default:\n return false;\n }\n}\n\n/**\n * This is a unified interface for event plugins to be installed and configured.\n *\n * Event plugins can implement the following properties:\n *\n * `extractEvents` {function(string, DOMEventTarget, string, object): *}\n * Required. When a top-level event is fired, this method is expected to\n * extract synthetic events that will in turn be queued and dispatched.\n *\n * `eventTypes` {object}\n * Optional, plugins that fire events must publish a mapping of registration\n * names that are used to register listeners. Values of this mapping must\n * be objects that contain `registrationName` or `phasedRegistrationNames`.\n *\n * `executeDispatch` {function(object, function, string)}\n * Optional, allows plugins to override how an event gets dispatched. By\n * default, the listener is simply invoked.\n *\n * Each plugin that is injected into `EventsPluginHub` is immediately operable.\n *\n * @public\n */\nvar EventPluginHub = {\n /**\n * Methods for injecting dependencies.\n */\n injection: {\n /**\n * @param {array} InjectedEventPluginOrder\n * @public\n */\n injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,\n\n /**\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n */\n injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName\n },\n\n /**\n * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {function} listener The callback to store.\n */\n putListener: function (inst, registrationName, listener) {\n !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0;\n\n var key = getDictionaryKey(inst);\n var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});\n bankForRegistrationName[key] = listener;\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.didPutListener) {\n PluginModule.didPutListener(inst, registrationName, listener);\n }\n },\n\n /**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n getListener: function (inst, registrationName) {\n // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not\n // live here; needs to be moved to a better place soon\n var bankForRegistrationName = listenerBank[registrationName];\n if (shouldPreventMouseEvent(registrationName, inst._currentElement.type, inst._currentElement.props)) {\n return null;\n }\n var key = getDictionaryKey(inst);\n return bankForRegistrationName && bankForRegistrationName[key];\n },\n\n /**\n * Deletes a listener from the registration bank.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n */\n deleteListener: function (inst, registrationName) {\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n var bankForRegistrationName = listenerBank[registrationName];\n // TODO: This should never be null -- when is it?\n if (bankForRegistrationName) {\n var key = getDictionaryKey(inst);\n delete bankForRegistrationName[key];\n }\n },\n\n /**\n * Deletes all listeners for the DOM element with the supplied ID.\n *\n * @param {object} inst The instance, which is the source of events.\n */\n deleteAllListeners: function (inst) {\n var key = getDictionaryKey(inst);\n for (var registrationName in listenerBank) {\n if (!listenerBank.hasOwnProperty(registrationName)) {\n continue;\n }\n\n if (!listenerBank[registrationName][key]) {\n continue;\n }\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n delete listenerBank[registrationName][key];\n }\n },\n\n /**\n * Allows registered plugins an opportunity to extract events from top-level\n * native browser events.\n *\n * @return {*} An accumulation of synthetic events.\n * @internal\n */\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var events;\n var plugins = EventPluginRegistry.plugins;\n for (var i = 0; i < plugins.length; i++) {\n // Not every plugin in the ordering may be loaded at runtime.\n var possiblePlugin = plugins[i];\n if (possiblePlugin) {\n var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n if (extractedEvents) {\n events = accumulateInto(events, extractedEvents);\n }\n }\n }\n return events;\n },\n\n /**\n * Enqueues a synthetic event that should be dispatched when\n * `processEventQueue` is invoked.\n *\n * @param {*} events An accumulation of synthetic events.\n * @internal\n */\n enqueueEvents: function (events) {\n if (events) {\n eventQueue = accumulateInto(eventQueue, events);\n }\n },\n\n /**\n * Dispatches all synthetic events on the event queue.\n *\n * @internal\n */\n processEventQueue: function (simulated) {\n // Set `eventQueue` to null before processing it so that we can tell if more\n // events get enqueued while processing.\n var processingEventQueue = eventQueue;\n eventQueue = null;\n if (simulated) {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);\n } else {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);\n }\n !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0;\n // This would be a good time to rethrow if any of the event handlers threw.\n ReactErrorUtils.rethrowCaughtError();\n },\n\n /**\n * These are needed for tests only. Do not use!\n */\n __purge: function () {\n listenerBank = {};\n },\n\n __getListenerBank: function () {\n return listenerBank;\n }\n};\n\nmodule.exports = EventPluginHub;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/EventPluginHub.js\n// module id = 62\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/EventPluginHub.js?");/***/},/* 63 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar EventPluginHub = __webpack_require__(62);\nvar EventPluginUtils = __webpack_require__(139);\n\nvar accumulateInto = __webpack_require__(264);\nvar forEachAccumulated = __webpack_require__(265);\nvar warning = __webpack_require__(2);\n\nvar getListener = EventPluginHub.getListener;\n\n/**\n * Some event types have a notion of different registration names for different\n * \"phases\" of propagation. This finds listeners by a given phase.\n */\nfunction listenerAtPhase(inst, event, propagationPhase) {\n var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];\n return getListener(inst, registrationName);\n}\n\n/**\n * Tags a `SyntheticEvent` with dispatched listeners. Creating this function\n * here, allows us to not have to bind or create functions for each event.\n * Mutating the event's members allows us to not have to create a wrapping\n * \"dispatch\" object that pairs the event with the listener.\n */\nfunction accumulateDirectionalDispatches(inst, phase, event) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0;\n }\n var listener = listenerAtPhase(inst, event, phase);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n}\n\n/**\n * Collect dispatches (must be entirely collected before dispatching - see unit\n * tests). Lazily allocate the array to conserve memory. We must loop through\n * each event and perform the traversal for each one. We cannot perform a\n * single traversal for the entire collection of events because each event may\n * have a different target.\n */\nfunction accumulateTwoPhaseDispatchesSingle(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.\n */\nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n var targetInst = event._targetInst;\n var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;\n EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Accumulates without regard to direction, does not look for phased\n * registration names. Same as `accumulateDirectDispatchesSingle` but without\n * requiring that the `dispatchMarker` be the same as the dispatched ID.\n */\nfunction accumulateDispatches(inst, ignoredDirection, event) {\n if (event && event.dispatchConfig.registrationName) {\n var registrationName = event.dispatchConfig.registrationName;\n var listener = getListener(inst, registrationName);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n }\n}\n\n/**\n * Accumulates dispatches on an `SyntheticEvent`, but only for the\n * `dispatchMarker`.\n * @param {SyntheticEvent} event\n */\nfunction accumulateDirectDispatchesSingle(event) {\n if (event && event.dispatchConfig.registrationName) {\n accumulateDispatches(event._targetInst, null, event);\n }\n}\n\nfunction accumulateTwoPhaseDispatches(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);\n}\n\nfunction accumulateTwoPhaseDispatchesSkipTarget(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);\n}\n\nfunction accumulateEnterLeaveDispatches(leave, enter, from, to) {\n EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);\n}\n\nfunction accumulateDirectDispatches(events) {\n forEachAccumulated(events, accumulateDirectDispatchesSingle);\n}\n\n/**\n * A small set of propagation patterns, each of which will accept a small amount\n * of information, and generate a set of \"dispatch ready event objects\" - which\n * are sets of events that have already been annotated with a set of dispatched\n * listener functions/ids. The API is designed this way to discourage these\n * propagation strategies from actually executing the dispatches, since we\n * always want to collect the entire set of dispatches before executing event a\n * single one.\n *\n * @constructor EventPropagators\n */\nvar EventPropagators = {\n accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,\n accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,\n accumulateDirectDispatches: accumulateDirectDispatches,\n accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches\n};\n\nmodule.exports = EventPropagators;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/EventPropagators.js\n// module id = 63\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/EventPropagators.js?");/***/},/* 64 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n */\n\n// TODO: Replace this with ES6: var ReactInstanceMap = new Map();\n\nvar ReactInstanceMap = {\n /**\n * This API should be called `delete` but we'd have to make sure to always\n * transform these to strings for IE support. When this transform is fully\n * supported we can rename it.\n */\n remove: function (key) {\n key._reactInternalInstance = undefined;\n },\n\n get: function (key) {\n return key._reactInternalInstance;\n },\n\n has: function (key) {\n return key._reactInternalInstance !== undefined;\n },\n\n set: function (key, value) {\n key._reactInternalInstance = value;\n }\n};\n\nmodule.exports = ReactInstanceMap;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/ReactInstanceMap.js\n// module id = 64\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/ReactInstanceMap.js?");/***/},/* 65 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar SyntheticEvent = __webpack_require__(24);\n\nvar getEventTarget = __webpack_require__(148);\n\n/**\n * @interface UIEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar UIEventInterface = {\n view: function (event) {\n if (event.view) {\n return event.view;\n }\n\n var target = getEventTarget(event);\n if (target.window === target) {\n // target is a window object\n return target;\n }\n\n var doc = target.ownerDocument;\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n if (doc) {\n return doc.defaultView || doc.parentWindow;\n } else {\n return window;\n }\n },\n detail: function (event) {\n return event.detail || 0;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\nfunction SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);\n\nmodule.exports = SyntheticUIEvent;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/SyntheticUIEvent.js\n// module id = 65\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/SyntheticUIEvent.js?");/***/},/* 66 *//***/function(module,exports,__webpack_require__){eval("/* WEBPACK VAR INJECTION */(function(Buffer) {/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap) {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n var base64 = new Buffer(JSON.stringify(sourceMap)).toString('base64');\n var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n return '/*# ' + data + ' */';\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(315).Buffer))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/css-loader/lib/css-base.js\n// module id = 66\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/css-loader/lib/css-base.js?");/***/},/* 67 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_dispatch__ = __webpack_require__(347);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"dispatch\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_dispatch__[\"a\"]; });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-dispatch/index.js\n// module id = 67\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-dispatch/index.js?");/***/},/* 68 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__formatDecimal__ = __webpack_require__(105);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return x = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__formatDecimal__[\"a\" /* default */])(Math.abs(x)), x ? x[1] : NaN;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-format/src/exponent.js\n// module id = 68\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-format/src/exponent.js?");/***/},/* 69 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n return a = +a, b -= a, function(t) {\n return a + b * t;\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-interpolate/src/number.js\n// module id = 69\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-interpolate/src/number.js?");/***/},/* 70 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (immutable) */ __webpack_exports__[\"b\"] = deinterpolateLinear;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = copy;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = continuous;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__array__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constant__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__number__ = __webpack_require__(190);\n\n\n\n\n\n\nvar unit = [0, 1];\n\nfunction deinterpolateLinear(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* default */])(b);\n}\n\nfunction deinterpolateClamp(deinterpolate) {\n return function(a, b) {\n var d = deinterpolate(a = +a, b = +b);\n return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); };\n };\n}\n\nfunction reinterpolateClamp(reinterpolate) {\n return function(a, b) {\n var r = reinterpolate(a = +a, b = +b);\n return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); };\n };\n}\n\nfunction bimap(domain, range, deinterpolate, reinterpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0);\n else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, deinterpolate, reinterpolate) {\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] = deinterpolate(domain[i], domain[i + 1]);\n r[i] = reinterpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"bisect\"])(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nfunction copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp());\n}\n\n// deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b].\nfunction continuous(deinterpolate, reinterpolate) {\n var domain = unit,\n range = unit,\n interpolate = __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[\"interpolate\"],\n clamp = false,\n piecewise,\n output,\n input;\n\n function rescale() {\n piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return (output || (output = piecewise(domain, range, clamp ? deinterpolateClamp(deinterpolate) : deinterpolate, interpolate)))(+x);\n }\n\n scale.invert = function(y) {\n return (input || (input = piecewise(range, domain, deinterpolateLinear, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate)))(+y);\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = __WEBPACK_IMPORTED_MODULE_2__array__[\"a\" /* map */].call(_, __WEBPACK_IMPORTED_MODULE_4__number__[\"a\" /* default */]), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = __WEBPACK_IMPORTED_MODULE_2__array__[\"b\" /* slice */].call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = __WEBPACK_IMPORTED_MODULE_2__array__[\"b\" /* slice */].call(_), interpolate = __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[\"interpolateRound\"], rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, rescale()) : clamp;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n return rescale();\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-scale/src/continuous.js\n// module id = 70\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-scale/src/continuous.js?");/***/},/* 71 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (immutable) */ __webpack_exports__[\"c\"] = point;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = Basis;\nfunction point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nfunction Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n 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; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context) {\n return new Basis(context);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-shape/src/curve/basis.js\n// module id = 71\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-shape/src/curve/basis.js?");/***/},/* 72 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (immutable) */ __webpack_exports__[\"c\"] = point;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = Cardinal;\nfunction point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nfunction Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n 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; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ((function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-shape/src/curve/cardinal.js\n// module id = 72\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-shape/src/curve/cardinal.js?");/***/},/* 73 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context) {\n return new Linear(context);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-shape/src/curve/linear.js\n// module id = 73\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-shape/src/curve/linear.js?");/***/},/* 74 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony default export */ __webpack_exports__[\"a\"] = (function() {});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-shape/src/noop.js\n// module id = 74\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-shape/src/noop.js?");/***/},/* 75 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (immutable) */ __webpack_exports__[\"b\"] = tweenValue;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__schedule__ = __webpack_require__(18);\n\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__schedule__[\"e\" /* set */])(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__schedule__[\"e\" /* set */])(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__schedule__[\"f\" /* get */])(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n});\n\nfunction tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__schedule__[\"e\" /* set */])(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__schedule__[\"f\" /* get */])(node, id).value[name];\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3-transition/src/transition/tween.js\n// module id = 75\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3-transition/src/transition/tween.js?");/***/},/* 76 *//***/function(module,exports,__webpack_require__){eval("/*\n d3plus-text v0.9.18\n A smart SVG text box with line wrapping and automatic font size scaling.\n Copyright (c) 2017 D3plus - https://d3plus.org\n @license MIT\n*/\n(function (global, factory) {\n\t true ? factory(exports, __webpack_require__(4), __webpack_require__(32), __webpack_require__(9), __webpack_require__(26)) :\n\ttypeof define === 'function' && define.amd ? define('d3plus-text', ['exports', 'd3-selection', 'd3-transition', 'd3-array', 'd3plus-common'], factory) :\n\t(factory((global.d3plus = global.d3plus || {}),global.d3Selection,global.d3Transition,global.d3Array,global.d3plusCommon));\n}(this, (function (exports,d3Selection,d3Transition,d3Array,d3plusCommon) { 'use strict';\n\n/**\n @function textWidth\n @desc Given a text string, returns the predicted pixel width of the string when placed into DOM.\n @param {String|Array} text Can be either a single string or an array of strings to analyze.\n @param {Object} [style] An object of CSS font styles to apply. Accepts any of the valid [CSS font property](http://www.w3schools.com/cssref/pr_font_font.asp) values.\n*/\nvar measure = function(text, style) {\n\n style = Object.assign({\n \"font-size\": 10,\n \"font-family\": \"sans-serif\",\n \"font-style\": \"normal\",\n \"font-weight\": 400,\n \"font-variant\": \"normal\"\n }, style);\n\n var context = document.createElement(\"canvas\").getContext(\"2d\");\n\n var font = [];\n font.push(style[\"font-style\"]);\n font.push(style[\"font-variant\"]);\n font.push(style[\"font-weight\"]);\n font.push(typeof style[\"font-size\"] === \"string\" ? style[\"font-size\"] : ((style[\"font-size\"]) + \"px\"));\n // let s = `${style[\"font-size\"]}px`;\n // if (\"line-height\" in style) s += `/${style[\"line-height\"]}px`;\n // font.push(s);\n font.push(style[\"font-family\"]);\n\n context.font = font.join(\" \");\n\n if (text instanceof Array) { return text.map(function (t) { return context.measureText(t).width; }); }\n return context.measureText(text).width;\n\n};\n\nvar alpha = \"abcdefghiABCDEFGHI_!@#$%^&*()_+1234567890\";\nvar checked = {};\nvar height = 32;\n\nvar dejavu;\nvar macos;\nvar monospace;\nvar proportional;\n\n/**\n @function fontExists\n @desc Given either a single font-family or a list of fonts, returns the name of the first font that can be rendered, or `false` if none are installed on the user's machine.\n @param {String|Array} font Can be either a valid CSS font-family string (single or comma-separated names) or an Array of string names.\n @return {String|Boolean} Either the name of the first font that can be rendered, or `false` if none are installed on the user's machine.\n*/\nvar fontExists = function (font) {\n\n if (!dejavu) {\n dejavu = measure(alpha, {\"font-family\": \"DejaVuSans\", \"font-size\": height});\n macos = measure(alpha, {\"font-family\": \"-apple-system\", \"font-size\": height});\n monospace = measure(alpha, {\"font-family\": \"monospace\", \"font-size\": height});\n proportional = measure(alpha, {\"font-family\": \"sans-serif\", \"font-size\": height});\n }\n\n if (!(font instanceof Array)) { font = font.split(\",\"); }\n font = font.map(function (f) { return f.trim(); });\n\n for (var i = 0; i < font.length; i++) {\n var fam = font[i];\n if (checked[fam] || [\"-apple-system\", \"monospace\", \"sans-serif\", \"DejaVuSans\"].includes(fam)) { return fam; }\n else if (checked[fam] === false) { continue; }\n var width = measure(alpha, {\"font-family\": fam, \"font-size\": height});\n checked[fam] = width !== monospace;\n if (checked[fam]) { checked[fam] = width !== proportional; }\n if (macos && checked[fam]) { checked[fam] = width !== macos; }\n if (dejavu && checked[fam]) { checked[fam] = width !== dejavu; }\n if (checked[fam]) { return fam; }\n }\n\n return false;\n\n};\n\n/**\n @function stringify\n @desc Coerces value into a String.\n @param {String} value\n*/\nvar stringify = function(value) {\n if (value === void 0) { value = \"undefined\"; }\n else if (!(typeof value === \"string\" || value instanceof String)) { value = JSON.stringify(value); }\n return value;\n};\n\n// great unicode list: http://asecuritysite.com/coding/asc2\n\nvar diacritics = [\n [/[\\300-\\305]/g, \"A\"], [/[\\340-\\345]/g, \"a\"],\n [/[\\306]/g, \"AE\"], [/[\\346]/g, \"ae\"],\n [/[\\337]/g, \"B\"],\n [/[\\307]/g, \"C\"], [/[\\347]/g, \"c\"],\n [/[\\320\\336\\376]/g, \"D\"], [/[\\360]/g, \"d\"],\n [/[\\310-\\313]/g, \"E\"], [/[\\350-\\353]/g, \"e\"],\n [/[\\314-\\317]/g, \"I\"], [/[\\354-\\357]/g, \"i\"],\n [/[\\321]/g, \"N\"], [/[\\361]/g, \"n\"],\n [/[\\322-\\326\\330]/g, \"O\"], [/[\\362-\\366\\370]/g, \"o\"],\n [/[\\331-\\334]/g, \"U\"], [/[\\371-\\374]/g, \"u\"],\n [/[\\327]/g, \"x\"],\n [/[\\335]/g, \"Y\"], [/[\\375\\377]/g, \"y\"]\n];\n\n/**\n @function strip\n @desc Removes all non ASCII characters from a string.\n @param {String} value\n*/\nvar strip = function(value) {\n\n return (\"\" + value).replace(/[^A-Za-z0-9\\-_]/g, function (char) {\n\n if (char === \" \") { return \"-\"; }\n\n var ret = false;\n for (var d = 0; d < diacritics.length; d++) {\n if (new RegExp(diacritics[d][0]).test(char)) {\n ret = diacritics[d][1];\n break;\n }\n }\n\n return ret || \"\";\n\n });\n};\n\n// scraped from http://www.fileformat.info/info/unicode/category/Mc/list.htm\n// and http://www.fileformat.info/info/unicode/category/Mn/list.htm\n// JSON.stringify([].slice.call(document.getElementsByClassName(\"table-list\")[0].getElementsByTagName(\"tr\")).filter(function(d){ return d.getElementsByTagName(\"a\").length && d.getElementsByTagName(\"a\")[0].innerHTML.length === 6; }).map(function(d){ return d.getElementsByTagName(\"a\")[0].innerHTML.replace(\"U\", \"u\").replace(\"+\", \"\"); }).sort());\nvar a = [\"u0903\", \"u093B\", \"u093E\", \"u093F\", \"u0940\", \"u0949\", \"u094A\", \"u094B\", \"u094C\", \"u094E\", \"u094F\", \"u0982\", \"u0983\", \"u09BE\", \"u09BF\", \"u09C0\", \"u09C7\", \"u09C8\", \"u09CB\", \"u09CC\", \"u09D7\", \"u0A03\", \"u0A3E\", \"u0A3F\", \"u0A40\", \"u0A83\", \"u0ABE\", \"u0ABF\", \"u0AC0\", \"u0AC9\", \"u0ACB\", \"u0ACC\", \"u0B02\", \"u0B03\", \"u0B3E\", \"u0B40\", \"u0B47\", \"u0B48\", \"u0B4B\", \"u0B4C\", \"u0B57\", \"u0BBE\", \"u0BBF\", \"u0BC1\", \"u0BC2\", \"u0BC6\", \"u0BC7\", \"u0BC8\", \"u0BCA\", \"u0BCB\", \"u0BCC\", \"u0BD7\", \"u0C01\", \"u0C02\", \"u0C03\", \"u0C41\", \"u0C42\", \"u0C43\", \"u0C44\", \"u0C82\", \"u0C83\", \"u0CBE\", \"u0CC0\", \"u0CC1\", \"u0CC2\", \"u0CC3\", \"u0CC4\", \"u0CC7\", \"u0CC8\", \"u0CCA\", \"u0CCB\", \"u0CD5\", \"u0CD6\", \"u0D02\", \"u0D03\", \"u0D3E\", \"u0D3F\", \"u0D40\", \"u0D46\", \"u0D47\", \"u0D48\", \"u0D4A\", \"u0D4B\", \"u0D4C\", \"u0D57\", \"u0D82\", \"u0D83\", \"u0DCF\", \"u0DD0\", \"u0DD1\", \"u0DD8\", \"u0DD9\", \"u0DDA\", \"u0DDB\", \"u0DDC\", \"u0DDD\", \"u0DDE\", \"u0DDF\", \"u0DF2\", \"u0DF3\", \"u0F3E\", \"u0F3F\", \"u0F7F\", \"u102B\", \"u102C\", \"u1031\", \"u1038\", \"u103B\", \"u103C\", \"u1056\", \"u1057\", \"u1062\", \"u1063\", \"u1064\", \"u1067\", \"u1068\", \"u1069\", \"u106A\", \"u106B\", \"u106C\", \"u106D\", \"u1083\", \"u1084\", \"u1087\", \"u1088\", \"u1089\", \"u108A\", \"u108B\", \"u108C\", \"u108F\", \"u109A\", \"u109B\", \"u109C\", \"u17B6\", \"u17BE\", \"u17BF\", \"u17C0\", \"u17C1\", \"u17C2\", \"u17C3\", \"u17C4\", \"u17C5\", \"u17C7\", \"u17C8\", \"u1923\", \"u1924\", \"u1925\", \"u1926\", \"u1929\", \"u192A\", \"u192B\", \"u1930\", \"u1931\", \"u1933\", \"u1934\", \"u1935\", \"u1936\", \"u1937\", \"u1938\", \"u1A19\", \"u1A1A\", \"u1A55\", \"u1A57\", \"u1A61\", \"u1A63\", \"u1A64\", \"u1A6D\", \"u1A6E\", \"u1A6F\", \"u1A70\", \"u1A71\", \"u1A72\", \"u1B04\", \"u1B35\", \"u1B3B\", \"u1B3D\", \"u1B3E\", \"u1B3F\", \"u1B40\", \"u1B41\", \"u1B43\", \"u1B44\", \"u1B82\", \"u1BA1\", \"u1BA6\", \"u1BA7\", \"u1BAA\", \"u1BE7\", \"u1BEA\", \"u1BEB\", \"u1BEC\", \"u1BEE\", \"u1BF2\", \"u1BF3\", \"u1C24\", \"u1C25\", \"u1C26\", \"u1C27\", \"u1C28\", \"u1C29\", \"u1C2A\", \"u1C2B\", \"u1C34\", \"u1C35\", \"u1CE1\", \"u1CF2\", \"u1CF3\", \"u302E\", \"u302F\", \"uA823\", \"uA824\", \"uA827\", \"uA880\", \"uA881\", \"uA8B4\", \"uA8B5\", \"uA8B6\", \"uA8B7\", \"uA8B8\", \"uA8B9\", \"uA8BA\", \"uA8BB\", \"uA8BC\", \"uA8BD\", \"uA8BE\", \"uA8BF\", \"uA8C0\", \"uA8C1\", \"uA8C2\", \"uA8C3\", \"uA952\", \"uA953\", \"uA983\", \"uA9B4\", \"uA9B5\", \"uA9BA\", \"uA9BB\", \"uA9BD\", \"uA9BE\", \"uA9BF\", \"uA9C0\", \"uAA2F\", \"uAA30\", \"uAA33\", \"uAA34\", \"uAA4D\", \"uAA7B\", \"uAA7D\", \"uAAEB\", \"uAAEE\", \"uAAEF\", \"uAAF5\", \"uABE3\", \"uABE4\", \"uABE6\", \"uABE7\", \"uABE9\", \"uABEA\", \"uABEC\"];\nvar b = [\"u0300\", \"u0301\", \"u0302\", \"u0303\", \"u0304\", \"u0305\", \"u0306\", \"u0307\", \"u0308\", \"u0309\", \"u030A\", \"u030B\", \"u030C\", \"u030D\", \"u030E\", \"u030F\", \"u0310\", \"u0311\", \"u0312\", \"u0313\", \"u0314\", \"u0315\", \"u0316\", \"u0317\", \"u0318\", \"u0319\", \"u031A\", \"u031B\", \"u031C\", \"u031D\", \"u031E\", \"u031F\", \"u0320\", \"u0321\", \"u0322\", \"u0323\", \"u0324\", \"u0325\", \"u0326\", \"u0327\", \"u0328\", \"u0329\", \"u032A\", \"u032B\", \"u032C\", \"u032D\", \"u032E\", \"u032F\", \"u0330\", \"u0331\", \"u0332\", \"u0333\", \"u0334\", \"u0335\", \"u0336\", \"u0337\", \"u0338\", \"u0339\", \"u033A\", \"u033B\", \"u033C\", \"u033D\", \"u033E\", \"u033F\", \"u0340\", \"u0341\", \"u0342\", \"u0343\", \"u0344\", \"u0345\", \"u0346\", \"u0347\", \"u0348\", \"u0349\", \"u034A\", \"u034B\", \"u034C\", \"u034D\", \"u034E\", \"u034F\", \"u0350\", \"u0351\", \"u0352\", \"u0353\", \"u0354\", \"u0355\", \"u0356\", \"u0357\", \"u0358\", \"u0359\", \"u035A\", \"u035B\", \"u035C\", \"u035D\", \"u035E\", \"u035F\", \"u0360\", \"u0361\", \"u0362\", \"u0363\", \"u0364\", \"u0365\", \"u0366\", \"u0367\", \"u0368\", \"u0369\", \"u036A\", \"u036B\", \"u036C\", \"u036D\", \"u036E\", \"u036F\", \"u0483\", \"u0484\", \"u0485\", \"u0486\", \"u0487\", \"u0591\", \"u0592\", \"u0593\", \"u0594\", \"u0595\", \"u0596\", \"u0597\", \"u0598\", \"u0599\", \"u059A\", \"u059B\", \"u059C\", \"u059D\", \"u059E\", \"u059F\", \"u05A0\", \"u05A1\", \"u05A2\", \"u05A3\", \"u05A4\", \"u05A5\", \"u05A6\", \"u05A7\", \"u05A8\", \"u05A9\", \"u05AA\", \"u05AB\", \"u05AC\", \"u05AD\", \"u05AE\", \"u05AF\", \"u05B0\", \"u05B1\", \"u05B2\", \"u05B3\", \"u05B4\", \"u05B5\", \"u05B6\", \"u05B7\", \"u05B8\", \"u05B9\", \"u05BA\", \"u05BB\", \"u05BC\", \"u05BD\", \"u05BF\", \"u05C1\", \"u05C2\", \"u05C4\", \"u05C5\", \"u05C7\", \"u0610\", \"u0611\", \"u0612\", \"u0613\", \"u0614\", \"u0615\", \"u0616\", \"u0617\", \"u0618\", \"u0619\", \"u061A\", \"u064B\", \"u064C\", \"u064D\", \"u064E\", \"u064F\", \"u0650\", \"u0651\", \"u0652\", \"u0653\", \"u0654\", \"u0655\", \"u0656\", \"u0657\", \"u0658\", \"u0659\", \"u065A\", \"u065B\", \"u065C\", \"u065D\", \"u065E\", \"u065F\", \"u0670\", \"u06D6\", \"u06D7\", \"u06D8\", \"u06D9\", \"u06DA\", \"u06DB\", \"u06DC\", \"u06DF\", \"u06E0\", \"u06E1\", \"u06E2\", \"u06E3\", \"u06E4\", \"u06E7\", \"u06E8\", \"u06EA\", \"u06EB\", \"u06EC\", \"u06ED\", \"u0711\", \"u0730\", \"u0731\", \"u0732\", \"u0733\", \"u0734\", \"u0735\", \"u0736\", \"u0737\", \"u0738\", \"u0739\", \"u073A\", \"u073B\", \"u073C\", \"u073D\", \"u073E\", \"u073F\", \"u0740\", \"u0741\", \"u0742\", \"u0743\", \"u0744\", \"u0745\", \"u0746\", \"u0747\", \"u0748\", \"u0749\", \"u074A\", \"u07A6\", \"u07A7\", \"u07A8\", \"u07A9\", \"u07AA\", \"u07AB\", \"u07AC\", \"u07AD\", \"u07AE\", \"u07AF\", \"u07B0\", \"u07EB\", \"u07EC\", \"u07ED\", \"u07EE\", \"u07EF\", \"u07F0\", \"u07F1\", \"u07F2\", \"u07F3\", \"u0816\", \"u0817\", \"u0818\", \"u0819\", \"u081B\", \"u081C\", \"u081D\", \"u081E\", \"u081F\", \"u0820\", \"u0821\", \"u0822\", \"u0823\", \"u0825\", \"u0826\", \"u0827\", \"u0829\", \"u082A\", \"u082B\", \"u082C\", \"u082D\", \"u0859\", \"u085A\", \"u085B\", \"u08E3\", \"u08E4\", \"u08E5\", \"u08E6\", \"u08E7\", \"u08E8\", \"u08E9\", \"u08EA\", \"u08EB\", \"u08EC\", \"u08ED\", \"u08EE\", \"u08EF\", \"u08F0\", \"u08F1\", \"u08F2\", \"u08F3\", \"u08F4\", \"u08F5\", \"u08F6\", \"u08F7\", \"u08F8\", \"u08F9\", \"u08FA\", \"u08FB\", \"u08FC\", \"u08FD\", \"u08FE\", \"u08FF\", \"u0900\", \"u0901\", \"u0902\", \"u093A\", \"u093C\", \"u0941\", \"u0942\", \"u0943\", \"u0944\", \"u0945\", \"u0946\", \"u0947\", \"u0948\", \"u094D\", \"u0951\", \"u0952\", \"u0953\", \"u0954\", \"u0955\", \"u0956\", \"u0957\", \"u0962\", \"u0963\", \"u0981\", \"u09BC\", \"u09C1\", \"u09C2\", \"u09C3\", \"u09C4\", \"u09CD\", \"u09E2\", \"u09E3\", \"u0A01\", \"u0A02\", \"u0A3C\", \"u0A41\", \"u0A42\", \"u0A47\", \"u0A48\", \"u0A4B\", \"u0A4C\", \"u0A4D\", \"u0A51\", \"u0A70\", \"u0A71\", \"u0A75\", \"u0A81\", \"u0A82\", \"u0ABC\", \"u0AC1\", \"u0AC2\", \"u0AC3\", \"u0AC4\", \"u0AC5\", \"u0AC7\", \"u0AC8\", \"u0ACD\", \"u0AE2\", \"u0AE3\", \"u0B01\", \"u0B3C\", \"u0B3F\", \"u0B41\", \"u0B42\", \"u0B43\", \"u0B44\", \"u0B4D\", \"u0B56\", \"u0B62\", \"u0B63\", \"u0B82\", \"u0BC0\", \"u0BCD\", \"u0C00\", \"u0C3E\", \"u0C3F\", \"u0C40\", \"u0C46\", \"u0C47\", \"u0C48\", \"u0C4A\", \"u0C4B\", \"u0C4C\", \"u0C4D\", \"u0C55\", \"u0C56\", \"u0C62\", \"u0C63\", \"u0C81\", \"u0CBC\", \"u0CBF\", \"u0CC6\", \"u0CCC\", \"u0CCD\", \"u0CE2\", \"u0CE3\", \"u0D01\", \"u0D41\", \"u0D42\", \"u0D43\", \"u0D44\", \"u0D4D\", \"u0D62\", \"u0D63\", \"u0DCA\", \"u0DD2\", \"u0DD3\", \"u0DD4\", \"u0DD6\", \"u0E31\", \"u0E34\", \"u0E35\", \"u0E36\", \"u0E37\", \"u0E38\", \"u0E39\", \"u0E3A\", \"u0E47\", \"u0E48\", \"u0E49\", \"u0E4A\", \"u0E4B\", \"u0E4C\", \"u0E4D\", \"u0E4E\", \"u0EB1\", \"u0EB4\", \"u0EB5\", \"u0EB6\", \"u0EB7\", \"u0EB8\", \"u0EB9\", \"u0EBB\", \"u0EBC\", \"u0EC8\", \"u0EC9\", \"u0ECA\", \"u0ECB\", \"u0ECC\", \"u0ECD\", \"u0F18\", \"u0F19\", \"u0F35\", \"u0F37\", \"u0F39\", \"u0F71\", \"u0F72\", \"u0F73\", \"u0F74\", \"u0F75\", \"u0F76\", \"u0F77\", \"u0F78\", \"u0F79\", \"u0F7A\", \"u0F7B\", \"u0F7C\", \"u0F7D\", \"u0F7E\", \"u0F80\", \"u0F81\", \"u0F82\", \"u0F83\", \"u0F84\", \"u0F86\", \"u0F87\", \"u0F8D\", \"u0F8E\", \"u0F8F\", \"u0F90\", \"u0F91\", \"u0F92\", \"u0F93\", \"u0F94\", \"u0F95\", \"u0F96\", \"u0F97\", \"u0F99\", \"u0F9A\", \"u0F9B\", \"u0F9C\", \"u0F9D\", \"u0F9E\", \"u0F9F\", \"u0FA0\", \"u0FA1\", \"u0FA2\", \"u0FA3\", \"u0FA4\", \"u0FA5\", \"u0FA6\", \"u0FA7\", \"u0FA8\", \"u0FA9\", \"u0FAA\", \"u0FAB\", \"u0FAC\", \"u0FAD\", \"u0FAE\", \"u0FAF\", \"u0FB0\", \"u0FB1\", \"u0FB2\", \"u0FB3\", \"u0FB4\", \"u0FB5\", \"u0FB6\", \"u0FB7\", \"u0FB8\", \"u0FB9\", \"u0FBA\", \"u0FBB\", \"u0FBC\", \"u0FC6\", \"u102D\", \"u102E\", \"u102F\", \"u1030\", \"u1032\", \"u1033\", \"u1034\", \"u1035\", \"u1036\", \"u1037\", \"u1039\", \"u103A\", \"u103D\", \"u103E\", \"u1058\", \"u1059\", \"u105E\", \"u105F\", \"u1060\", \"u1071\", \"u1072\", \"u1073\", \"u1074\", \"u1082\", \"u1085\", \"u1086\", \"u108D\", \"u109D\", \"u135D\", \"u135E\", \"u135F\", \"u1712\", \"u1713\", \"u1714\", \"u1732\", \"u1733\", \"u1734\", \"u1752\", \"u1753\", \"u1772\", \"u1773\", \"u17B4\", \"u17B5\", \"u17B7\", \"u17B8\", \"u17B9\", \"u17BA\", \"u17BB\", \"u17BC\", \"u17BD\", \"u17C6\", \"u17C9\", \"u17CA\", \"u17CB\", \"u17CC\", \"u17CD\", \"u17CE\", \"u17CF\", \"u17D0\", \"u17D1\", \"u17D2\", \"u17D3\", \"u17DD\", \"u180B\", \"u180C\", \"u180D\", \"u18A9\", \"u1920\", \"u1921\", \"u1922\", \"u1927\", \"u1928\", \"u1932\", \"u1939\", \"u193A\", \"u193B\", \"u1A17\", \"u1A18\", \"u1A1B\", \"u1A56\", \"u1A58\", \"u1A59\", \"u1A5A\", \"u1A5B\", \"u1A5C\", \"u1A5D\", \"u1A5E\", \"u1A60\", \"u1A62\", \"u1A65\", \"u1A66\", \"u1A67\", \"u1A68\", \"u1A69\", \"u1A6A\", \"u1A6B\", \"u1A6C\", \"u1A73\", \"u1A74\", \"u1A75\", \"u1A76\", \"u1A77\", \"u1A78\", \"u1A79\", \"u1A7A\", \"u1A7B\", \"u1A7C\", \"u1A7F\", \"u1AB0\", \"u1AB1\", \"u1AB2\", \"u1AB3\", \"u1AB4\", \"u1AB5\", \"u1AB6\", \"u1AB7\", \"u1AB8\", \"u1AB9\", \"u1ABA\", \"u1ABB\", \"u1ABC\", \"u1ABD\", \"u1B00\", \"u1B01\", \"u1B02\", \"u1B03\", \"u1B34\", \"u1B36\", \"u1B37\", \"u1B38\", \"u1B39\", \"u1B3A\", \"u1B3C\", \"u1B42\", \"u1B6B\", \"u1B6C\", \"u1B6D\", \"u1B6E\", \"u1B6F\", \"u1B70\", \"u1B71\", \"u1B72\", \"u1B73\", \"u1B80\", \"u1B81\", \"u1BA2\", \"u1BA3\", \"u1BA4\", \"u1BA5\", \"u1BA8\", \"u1BA9\", \"u1BAB\", \"u1BAC\", \"u1BAD\", \"u1BE6\", \"u1BE8\", \"u1BE9\", \"u1BED\", \"u1BEF\", \"u1BF0\", \"u1BF1\", \"u1C2C\", \"u1C2D\", \"u1C2E\", \"u1C2F\", \"u1C30\", \"u1C31\", \"u1C32\", \"u1C33\", \"u1C36\", \"u1C37\", \"u1CD0\", \"u1CD1\", \"u1CD2\", \"u1CD4\", \"u1CD5\", \"u1CD6\", \"u1CD7\", \"u1CD8\", \"u1CD9\", \"u1CDA\", \"u1CDB\", \"u1CDC\", \"u1CDD\", \"u1CDE\", \"u1CDF\", \"u1CE0\", \"u1CE2\", \"u1CE3\", \"u1CE4\", \"u1CE5\", \"u1CE6\", \"u1CE7\", \"u1CE8\", \"u1CED\", \"u1CF4\", \"u1CF8\", \"u1CF9\", \"u1DC0\", \"u1DC1\", \"u1DC2\", \"u1DC3\", \"u1DC4\", \"u1DC5\", \"u1DC6\", \"u1DC7\", \"u1DC8\", \"u1DC9\", \"u1DCA\", \"u1DCB\", \"u1DCC\", \"u1DCD\", \"u1DCE\", \"u1DCF\", \"u1DD0\", \"u1DD1\", \"u1DD2\", \"u1DD3\", \"u1DD4\", \"u1DD5\", \"u1DD6\", \"u1DD7\", \"u1DD8\", \"u1DD9\", \"u1DDA\", \"u1DDB\", \"u1DDC\", \"u1DDD\", \"u1DDE\", \"u1DDF\", \"u1DE0\", \"u1DE1\", \"u1DE2\", \"u1DE3\", \"u1DE4\", \"u1DE5\", \"u1DE6\", \"u1DE7\", \"u1DE8\", \"u1DE9\", \"u1DEA\", \"u1DEB\", \"u1DEC\", \"u1DED\", \"u1DEE\", \"u1DEF\", \"u1DF0\", \"u1DF1\", \"u1DF2\", \"u1DF3\", \"u1DF4\", \"u1DF5\", \"u1DFC\", \"u1DFD\", \"u1DFE\", \"u1DFF\", \"u20D0\", \"u20D1\", \"u20D2\", \"u20D3\", \"u20D4\", \"u20D5\", \"u20D6\", \"u20D7\", \"u20D8\", \"u20D9\", \"u20DA\", \"u20DB\", \"u20DC\", \"u20E1\", \"u20E5\", \"u20E6\", \"u20E7\", \"u20E8\", \"u20E9\", \"u20EA\", \"u20EB\", \"u20EC\", \"u20ED\", \"u20EE\", \"u20EF\", \"u20F0\", \"u2CEF\", \"u2CF0\", \"u2CF1\", \"u2D7F\", \"u2DE0\", \"u2DE1\", \"u2DE2\", \"u2DE3\", \"u2DE4\", \"u2DE5\", \"u2DE6\", \"u2DE7\", \"u2DE8\", \"u2DE9\", \"u2DEA\", \"u2DEB\", \"u2DEC\", \"u2DED\", \"u2DEE\", \"u2DEF\", \"u2DF0\", \"u2DF1\", \"u2DF2\", \"u2DF3\", \"u2DF4\", \"u2DF5\", \"u2DF6\", \"u2DF7\", \"u2DF8\", \"u2DF9\", \"u2DFA\", \"u2DFB\", \"u2DFC\", \"u2DFD\", \"u2DFE\", \"u2DFF\", \"u302A\", \"u302B\", \"u302C\", \"u302D\", \"u3099\", \"u309A\", \"uA66F\", \"uA674\", \"uA675\", \"uA676\", \"uA677\", \"uA678\", \"uA679\", \"uA67A\", \"uA67B\", \"uA67C\", \"uA67D\", \"uA69E\", \"uA69F\", \"uA6F0\", \"uA6F1\", \"uA802\", \"uA806\", \"uA80B\", \"uA825\", \"uA826\", \"uA8C4\", \"uA8E0\", \"uA8E1\", \"uA8E2\", \"uA8E3\", \"uA8E4\", \"uA8E5\", \"uA8E6\", \"uA8E7\", \"uA8E8\", \"uA8E9\", \"uA8EA\", \"uA8EB\", \"uA8EC\", \"uA8ED\", \"uA8EE\", \"uA8EF\", \"uA8F0\", \"uA8F1\", \"uA926\", \"uA927\", \"uA928\", \"uA929\", \"uA92A\", \"uA92B\", \"uA92C\", \"uA92D\", \"uA947\", \"uA948\", \"uA949\", \"uA94A\", \"uA94B\", \"uA94C\", \"uA94D\", \"uA94E\", \"uA94F\", \"uA950\", \"uA951\", \"uA980\", \"uA981\", \"uA982\", \"uA9B3\", \"uA9B6\", \"uA9B7\", \"uA9B8\", \"uA9B9\", \"uA9BC\", \"uA9E5\", \"uAA29\", \"uAA2A\", \"uAA2B\", \"uAA2C\", \"uAA2D\", \"uAA2E\", \"uAA31\", \"uAA32\", \"uAA35\", \"uAA36\", \"uAA43\", \"uAA4C\", \"uAA7C\", \"uAAB0\", \"uAAB2\", \"uAAB3\", \"uAAB4\", \"uAAB7\", \"uAAB8\", \"uAABE\", \"uAABF\", \"uAAC1\", \"uAAEC\", \"uAAED\", \"uAAF6\", \"uABE5\", \"uABE8\", \"uABED\", \"uFB1E\", \"uFE00\", \"uFE01\", \"uFE02\", \"uFE03\", \"uFE04\", \"uFE05\", \"uFE06\", \"uFE07\", \"uFE08\", \"uFE09\", \"uFE0A\", \"uFE0B\", \"uFE0C\", \"uFE0D\", \"uFE0E\", \"uFE0F\", \"uFE20\", \"uFE21\", \"uFE22\", \"uFE23\", \"uFE24\", \"uFE25\", \"uFE26\", \"uFE27\", \"uFE28\", \"uFE29\", \"uFE2A\", \"uFE2B\", \"uFE2C\", \"uFE2D\", \"uFE2E\", \"uFE2F\"];\nvar combiningMarks = a.concat(b);\n\nvar splitChars = [\"-\", \"/\", \";\", \":\", \"&\",\n \"u0E2F\", // thai character pairannoi\n \"u0EAF\", // lao ellipsis\n \"u0EC6\", // lao ko la (word repetition)\n \"u0ECC\", // lao cancellation mark\n \"u104A\", // myanmar sign little section\n \"u104B\", // myanmar sign section\n \"u104C\", // myanmar symbol locative\n \"u104D\", // myanmar symbol completed\n \"u104E\", // myanmar symbol aforementioned\n \"u104F\", // myanmar symbol genitive\n \"u2013\", // en dash\n \"u2014\", // em dash\n \"u2027\", // simplified chinese hyphenation point\n \"u3000\", // simplified chinese ideographic space\n \"u3001\", // simplified chinese ideographic comma\n \"u3002\", // simplified chinese ideographic full stop\n \"uFF0C\", // full-width comma\n \"uFF5E\" // wave dash\n];\n\nvar prefixChars = [\"'\", \"<\", \"(\", \"{\", \"[\",\n \"u00AB\", // left-pointing double angle quotation mark\n \"u300A\", // left double angle bracket\n \"u3008\" // left angle bracket\n];\n\nvar suffixChars = [\"'\", \">\", \")\", \"}\", \"]\", \".\", \"!\", \"?\",\n \"u00BB\", // right-pointing double angle quotation mark\n \"u300B\", // right double angle bracket\n \"u3009\" // right angle bracket\n].concat(splitChars);\n\nvar burmeseRange = \"\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\";\nvar japaneseRange = \"\\u3040-\\u309f\\u30a0-\\u30ff\\uff00-\\uff0b\\uff0d-\\uff5d\\uff5f-\\uff9f\\u3400-\\u4dbf\";\nvar chineseRange = \"\\u3400-\\u9FBF\";\nvar laoRange = \"\\u0E81-\\u0EAE\\u0EB0-\\u0EC4\\u0EC8-\\u0ECB\\u0ECD-\\u0EDD\";\n\nvar noSpaceRange = burmeseRange + chineseRange + laoRange;\n\nvar splitWords = new RegExp((\"(\\\\\" + (splitChars.join(\"|\\\\\")) + \")*[^\\\\s|\\\\\" + (splitChars.join(\"|\\\\\")) + \"]*(\\\\\" + (splitChars.join(\"|\\\\\")) + \")*\"), \"g\");\nvar japaneseChars = new RegExp((\"[\" + japaneseRange + \"]\"));\nvar noSpaceLanguage = new RegExp((\"[\" + noSpaceRange + \"]\"));\nvar splitAllChars = new RegExp((\"(\\\\\" + (prefixChars.join(\"|\\\\\")) + \")*[\" + noSpaceRange + \"](\\\\\" + (suffixChars.join(\"|\\\\\")) + \"|\\\\\" + (combiningMarks.join(\"|\\\\\")) + \")*|[a-z0-9]+\"), \"gi\");\n\n/**\n @function textSplit\n @desc Splits a given sentence into an array of words.\n @param {String} sentence\n*/\nvar textSplit = function(sentence) {\n if (!noSpaceLanguage.test(sentence)) { return stringify(sentence).match(splitWords).filter(function (w) { return w.length; }); }\n return d3Array.merge(stringify(sentence).match(splitWords).map(function (d) {\n if (!japaneseChars.test(d) && noSpaceLanguage.test(d)) { return d.match(splitAllChars); }\n return [d];\n }));\n};\n\n/**\n @function textWrap\n @desc Based on the defined styles and dimensions, breaks a string into an array of strings for each line of text.\n*/\nvar wrap = function() {\n\n var fontFamily = \"Verdana\",\n fontSize = 10,\n fontWeight = 400,\n height = 200,\n lineHeight,\n overflow = false,\n split = textSplit,\n width = 200;\n\n /**\n The inner return object and wraps the text and returns the line data array.\n @private\n */\n function textWrap(sentence) {\n\n sentence = stringify(sentence);\n\n if (lineHeight === void 0) { lineHeight = Math.ceil(fontSize * 1.1); }\n\n var words = split(sentence);\n\n var style = {\n \"font-family\": fontFamily,\n \"font-size\": fontSize,\n \"font-weight\": fontWeight,\n \"line-height\": lineHeight\n };\n\n var line = 1,\n textProg = \"\",\n truncated = false,\n widthProg = 0;\n\n var lineData = [],\n sizes = measure(words, style),\n space = measure(\" \", style);\n\n for (var i = 0; i < words.length; i++) {\n var word = words[i];\n var wordWidth = sizes[words.indexOf(word)];\n word += sentence.slice(textProg.length + word.length).match(\"^( |\\n)*\", \"g\")[0];\n if (textProg.slice(-1) === \"\\n\" || widthProg + wordWidth > width) {\n if (!i && !overflow) {\n truncated = true;\n break;\n }\n lineData[line - 1] = lineData[line - 1].trimRight();\n line++;\n if (lineHeight * line > height || wordWidth > width && !overflow) {\n truncated = true;\n break;\n }\n widthProg = 0;\n lineData.push(word);\n }\n else if (!i) { lineData[0] = word; }\n else { lineData[line - 1] += word; }\n textProg += word;\n widthProg += wordWidth;\n widthProg += word.match(/[\\s]*$/g)[0].length * space;\n }\n\n return {\n lines: lineData,\n sentence: sentence, truncated: truncated, words: words\n };\n\n }\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the font family accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current font family.\n @param {Function|String} [*value* = \"Verdana\"]\n */\n textWrap.fontFamily = function(_) {\n return arguments.length ? (fontFamily = _, textWrap) : fontFamily;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the font size accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font size.\n @param {Function|Number} [*value* = 10]\n */\n textWrap.fontSize = function(_) {\n return arguments.length ? (fontSize = _, textWrap) : fontSize;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the font weight accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font weight.\n @param {Function|Number|String} [*value* = 400]\n */\n textWrap.fontWeight = function(_) {\n return arguments.length ? (fontWeight = _, textWrap) : fontWeight;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets height limit to the specified value and returns this generator. If *value* is not specified, returns the current value.\n @param {Number} [*value* = 200]\n */\n textWrap.height = function(_) {\n return arguments.length ? (height = _, textWrap) : height;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the line height accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current line height accessor, which is 1.1 times the [font size](#textWrap.fontSize) by default.\n @param {Function|Number} [*value*]\n */\n textWrap.lineHeight = function(_) {\n return arguments.length ? (lineHeight = _, textWrap) : lineHeight;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the overflow to the specified boolean and returns this generator. If *value* is not specified, returns the current overflow value.\n @param {Boolean} [*value* = false]\n */\n textWrap.overflow = function(_) {\n return arguments.length ? (overflow = _, textWrap) : overflow;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets the word split function to the specified function and returns this generator. If *value* is not specified, returns the current word split function.\n @param {Function} [*value*] A function that, when passed a string, is expected to return that string split into an array of words to textWrap. The default split function splits strings on the following characters: `-`, `/`, `;`, `:`, `&`\n */\n textWrap.split = function(_) {\n return arguments.length ? (split = _, textWrap) : split;\n };\n\n /**\n @memberof textWrap\n @desc If *value* is specified, sets width limit to the specified value and returns this generator. If *value* is not specified, returns the current value.\n @param {Number} [*value* = 200]\n */\n textWrap.width = function(_) {\n return arguments.length ? (width = _, textWrap) : width;\n };\n\n return textWrap;\n\n};\n\n/**\n @function TextBox\n @extends BaseClass\n @desc Creates a wrapped text box for each point in an array of data. See [this example](https://d3plus.org/examples/d3plus-text/getting-started/) for help getting started using the textBox function.\n*/\nvar TextBox = (function (BaseClass$$1) {\n function TextBox() {\n\n BaseClass$$1.call(this);\n\n this._delay = 0;\n this._duration = 0;\n this._ellipsis = function (_) { return ((_.replace(/\\.|,$/g, \"\")) + \"...\"); };\n this._fontColor = d3plusCommon.constant(\"black\");\n this._fontFamily = d3plusCommon.constant(\"Verdana\");\n this._fontMax = d3plusCommon.constant(50);\n this._fontMin = d3plusCommon.constant(8);\n this._fontResize = d3plusCommon.constant(false);\n this._fontSize = d3plusCommon.constant(10);\n this._fontWeight = d3plusCommon.constant(400);\n this._height = d3plusCommon.accessor(\"height\", 200);\n this._id = function (d, i) { return d.id || (\"\" + i); };\n this._on = {};\n this._overflow = d3plusCommon.constant(false);\n this._pointerEvents = d3plusCommon.constant(\"auto\");\n this._rotate = d3plusCommon.constant(0);\n this._split = textSplit;\n this._text = d3plusCommon.accessor(\"text\");\n this._textAnchor = d3plusCommon.constant(\"start\");\n this._verticalAlign = d3plusCommon.constant(\"top\");\n this._width = d3plusCommon.accessor(\"width\", 200);\n this._x = d3plusCommon.accessor(\"x\", 0);\n this._y = d3plusCommon.accessor(\"y\", 0);\n\n }\n\n if ( BaseClass$$1 ) TextBox.__proto__ = BaseClass$$1;\n TextBox.prototype = Object.create( BaseClass$$1 && BaseClass$$1.prototype );\n TextBox.prototype.constructor = TextBox;\n\n /**\n @memberof TextBox\n @desc Renders the text boxes. If a *callback* is specified, it will be called once the shapes are done drawing.\n @param {Function} [*callback* = undefined]\n */\n TextBox.prototype.render = function render (callback) {\n var this$1 = this;\n\n\n if (this._select === void 0) { this.select(d3Selection.select(\"body\").append(\"svg\").style(\"width\", ((window.innerWidth) + \"px\")).style(\"height\", ((window.innerHeight) + \"px\")).node()); }\n if (this._lineHeight === void 0) { this._lineHeight = function (d, i) { return this$1._fontSize(d, i) * 1.1; }; }\n var that = this;\n\n var boxes = this._select.selectAll(\".d3plus-textBox\").data(this._data.reduce(function (arr, d, i) {\n\n var t = this$1._text(d, i);\n if (t === void 0) { return arr; }\n\n var resize = this$1._fontResize(d, i);\n\n var fS = resize ? this$1._fontMax(d, i) : this$1._fontSize(d, i),\n lH = resize ? fS * 1.1 : this$1._lineHeight(d, i),\n line = 1,\n lineData = [],\n sizes;\n\n var style = {\n \"font-family\": this$1._fontFamily(d, i),\n \"font-size\": fS,\n \"font-weight\": this$1._fontWeight(d, i),\n \"line-height\": lH\n };\n\n var h = this$1._height(d, i),\n w = this$1._width(d, i);\n\n var wrapper = wrap()\n .fontFamily(style[\"font-family\"])\n .fontSize(fS)\n .fontWeight(style[\"font-weight\"])\n .lineHeight(lH)\n .height(h)\n .overflow(this$1._overflow(d, i))\n .width(w);\n\n var fMax = this$1._fontMax(d, i),\n fMin = this$1._fontMin(d, i),\n vA = this$1._verticalAlign(d, i),\n words = this$1._split(t, i);\n\n /**\n Figures out the lineData to be used for wrapping.\n @private\n */\n function checkSize() {\n\n if (fS < fMin) {\n lineData = [];\n return;\n }\n else if (fS > fMax) { fS = fMax; }\n\n if (resize) {\n lH = fS * 1.1;\n wrapper\n .fontSize(fS)\n .lineHeight(lH);\n style[\"font-size\"] = fS;\n style[\"line-height\"] = lH;\n }\n\n var wrapResults = wrapper(t);\n lineData = wrapResults.lines.filter(function (l) { return l !== \"\"; });\n line = lineData.length;\n\n if (wrapResults.truncated) {\n\n if (resize) {\n fS--;\n if (fS < fMin) { lineData = []; }\n else { checkSize(); }\n }\n else if (line < 1) { lineData = [that._ellipsis(\"\")]; }\n else { lineData[line - 1] = that._ellipsis(lineData[line - 1]); }\n\n }\n\n\n }\n\n if (w > fMin && (h > lH || resize && h > fMin * 1.1)) {\n\n if (resize) {\n\n sizes = measure(words, style);\n\n var areaMod = 1.165 + w / h * 0.1,\n boxArea = w * h,\n maxWidth = d3Array.max(sizes),\n textArea = d3Array.sum(sizes, function (d) { return d * lH; }) * areaMod;\n\n if (maxWidth > w || textArea > boxArea) {\n var areaRatio = Math.sqrt(boxArea / textArea),\n widthRatio = w / maxWidth;\n var sizeRatio = d3Array.min([areaRatio, widthRatio]);\n fS = Math.floor(fS * sizeRatio);\n }\n\n var heightMax = Math.floor(h * 0.8);\n if (fS > heightMax) { fS = heightMax; }\n\n }\n\n checkSize();\n\n }\n\n if (lineData.length) {\n\n var tH = line * lH;\n var yP = vA === \"top\" ? 0 : vA === \"middle\" ? h / 2 - tH / 2 : h - tH;\n yP -= lH * 0.1;\n\n arr.push({\n data: d,\n i: i,\n lines: lineData,\n fC: this$1._fontColor(d, i),\n fF: style[\"font-family\"],\n fW: style[\"font-weight\"],\n id: this$1._id(d, i),\n tA: this$1._textAnchor(d, i),\n fS: fS, lH: lH, w: w, x: this$1._x(d, i), y: this$1._y(d, i) + yP\n });\n\n }\n\n return arr;\n\n }, []), this._id);\n\n var t = d3Transition.transition().duration(this._duration);\n\n if (this._duration === 0) {\n\n boxes.exit().remove();\n\n }\n else {\n\n boxes.exit().transition().delay(this._duration).remove();\n\n boxes.exit().selectAll(\"tspan\").transition(t)\n .attr(\"opacity\", 0);\n\n }\n\n function rotate(text) {\n text.attr(\"transform\", function (d, i) { return (\"rotate(\" + (that._rotate(d, i)) + \" \" + (d.x + d.w / 2) + \" \" + (d.y + d.lH / 4 + d.lH * d.lines.length / 2) + \")\"); });\n }\n\n var update = boxes.enter().append(\"text\")\n .attr(\"class\", \"d3plus-textBox\")\n .attr(\"id\", function (d) { return (\"d3plus-textBox-\" + (d.id)); })\n .attr(\"y\", function (d) { return ((d.y) + \"px\"); })\n .call(rotate)\n .merge(boxes);\n\n update\n .attr(\"fill\", function (d) { return d.fC; })\n .attr(\"text-anchor\", function (d) { return d.tA; })\n .attr(\"font-family\", function (d) { return d.fF; })\n .style(\"font-family\", function (d) { return d.fF; })\n .attr(\"font-size\", function (d) { return ((d.fS) + \"px\"); })\n .style(\"font-size\", function (d) { return ((d.fS) + \"px\"); })\n .attr(\"font-weight\", function (d) { return d.fW; })\n .style(\"font-weight\", function (d) { return d.fW; })\n .style(\"pointer-events\", function (d) { return this$1._pointerEvents(d.data, d.i); })\n .each(function(d) {\n\n var dx = d.tA === \"start\" ? 0 : d.tA === \"end\" ? d.w : d.w / 2,\n tB = d3Selection.select(this);\n\n if (that._duration === 0) { tB.attr(\"y\", function (d) { return ((d.y) + \"px\"); }); }\n else { tB.transition(t).attr(\"y\", function (d) { return ((d.y) + \"px\"); }); }\n\n /**\n Styles to apply to each element.\n @private\n */\n function tspanStyle(tspan) {\n tspan\n .text(function (t) { return t.trimRight(); })\n .attr(\"x\", ((d.x) + \"px\"))\n .attr(\"dx\", (dx + \"px\"))\n .attr(\"dy\", ((d.lH) + \"px\"));\n }\n\n var tspans = tB.selectAll(\"tspan\").data(d.lines);\n\n if (that._duration === 0) {\n\n tspans.call(tspanStyle);\n\n tspans.exit().remove();\n\n tspans.enter().append(\"tspan\")\n .attr(\"dominant-baseline\", \"alphabetic\")\n .style(\"baseline-shift\", \"0%\")\n .call(tspanStyle);\n\n }\n else {\n\n tspans.transition(t).call(tspanStyle);\n\n tspans.exit().transition(t)\n .attr(\"opacity\", 0).remove();\n\n tspans.enter().append(\"tspan\")\n .attr(\"dominant-baseline\", \"alphabetic\")\n .style(\"baseline-shift\", \"0%\")\n .attr(\"opacity\", 0)\n .call(tspanStyle)\n .merge(tspans).transition(t).delay(that._delay)\n .call(tspanStyle)\n .attr(\"opacity\", 1);\n\n }\n\n })\n .transition(t).call(rotate);\n\n var events = Object.keys(this._on),\n on = events.reduce(function (obj, e) {\n obj[e] = function (d, i) { return this$1._on[e](d.data, i); };\n return obj;\n }, {});\n for (var e = 0; e < events.length; e++) { update.on(events[e], on[events[e]]); }\n\n if (callback) { setTimeout(callback, this._duration + 100); }\n\n return this;\n\n };\n\n /**\n @memberof TextBox\n @desc If *data* is specified, sets the data array to the specified array and returns this generator. If *data* is not specified, returns the current data array. A text box will be drawn for each object in the array.\n @param {Array} [*data* = []]\n */\n TextBox.prototype.data = function data (_) {\n return arguments.length ? (this._data = _, this) : this._data;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the animation delay to the specified number and returns this generator. If *value* is not specified, returns the current animation delay.\n @param {Number} [*value* = 0]\n */\n TextBox.prototype.delay = function delay (_) {\n return arguments.length ? (this._delay = _, this) : this._delay;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the animation duration to the specified number and returns this generator. If *value* is not specified, returns the current animation duration.\n @param {Number} [*value* = 0]\n */\n TextBox.prototype.duration = function duration (_) {\n return arguments.length ? (this._duration = _, this) : this._duration;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the ellipsis method to the specified function or string and returns this generator. If *value* is not specified, returns the current ellipsis method, which simply adds an ellipsis to the string by default.\n @param {Function|String} [*value*]\n @example default accessor\nfunction(d) {\n return d + \"...\";\n}\n */\n TextBox.prototype.ellipsis = function ellipsis (_) {\n return arguments.length ? (this._ellipsis = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._ellipsis;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the font color accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current font color accessor, which is inferred from the [container element](#textBox.select) by default.\n @param {Function|String} [*value* = \"black\"]\n */\n TextBox.prototype.fontColor = function fontColor (_) {\n return arguments.length ? (this._fontColor = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._fontColor;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the font family accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current font family accessor, which is inferred from the [container element](#textBox.select) by default.\n @param {Function|String} [*value* = \"Verdana\"]\n */\n TextBox.prototype.fontFamily = function fontFamily (_) {\n return arguments.length ? (this._fontFamily = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._fontFamily;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the maximum font size accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current maximum font size accessor. The maximum font size is used when [resizing fonts](#textBox.fontResize) dynamically.\n @param {Function|Number} [*value* = 50]\n */\n TextBox.prototype.fontMax = function fontMax (_) {\n return arguments.length ? (this._fontMax = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._fontMax;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the minimum font size accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current minimum font size accessor. The minimum font size is used when [resizing fonts](#textBox.fontResize) dynamically.\n @param {Function|Number} [*value* = 8]\n */\n TextBox.prototype.fontMin = function fontMin (_) {\n return arguments.length ? (this._fontMin = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._fontMin;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the font resizing accessor to the specified function or boolean and returns this generator. If *value* is not specified, returns the current font resizing accessor.\n @param {Function|Boolean} [*value* = false]\n */\n TextBox.prototype.fontResize = function fontResize (_) {\n return arguments.length ? (this._fontResize = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._fontResize;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the font size accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font size accessor, which is inferred from the [container element](#textBox.select) by default.\n @param {Function|Number} [*value* = 10]\n */\n TextBox.prototype.fontSize = function fontSize (_) {\n return arguments.length ? (this._fontSize = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._fontSize;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the font weight accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current font weight accessor, which is inferred from the [container element](#textBox.select) by default.\n @param {Function|Number|String} [*value* = 400]\n */\n TextBox.prototype.fontWeight = function fontWeight (_) {\n return arguments.length ? (this._fontWeight = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._fontWeight;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the height accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current height accessor.\n @param {Function|Number} [*value*]\n @example default accessor\nfunction(d) {\n return d.height || 200;\n}\n */\n TextBox.prototype.height = function height (_) {\n return arguments.length ? (this._height = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._height;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the id accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current id accessor.\n @param {Function|Number} [*value*]\n @example default accessor\nfunction(d, i) {\n return d.id || i + \"\";\n}\n */\n TextBox.prototype.id = function id (_) {\n return arguments.length ? (this._id = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._id;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the line height accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current line height accessor, which is 1.1 times the [font size](#textBox.fontSize) by default.\n @param {Function|Number} [*value*]\n */\n TextBox.prototype.lineHeight = function lineHeight (_) {\n return arguments.length ? (this._lineHeight = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._lineHeight;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the overflow accessor to the specified function or boolean and returns this generator. If *value* is not specified, returns the current overflow accessor.\n @param {Function|Boolean} [*value* = false]\n */\n TextBox.prototype.overflow = function overflow (_) {\n return arguments.length ? (this._overflow = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._overflow;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the pointer-events accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current pointer-events accessor.\n @param {Function|String} [*value* = \"auto\"]\n */\n TextBox.prototype.pointerEvents = function pointerEvents (_) {\n return arguments.length ? (this._pointerEvents = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._pointerEvents;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the rotate accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current rotate accessor.\n @param {Function|Number} [*value* = 0]\n */\n TextBox.prototype.rotate = function rotate (_) {\n return arguments.length ? (this._rotate = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._rotate;\n };\n\n /**\n @memberof TextBox\n @desc If *selector* is specified, sets the SVG container element to the specified d3 selector or DOM element and returns this generator. If *selector* is not specified, returns the current SVG container element, which adds an SVG element to the page by default.\n @param {String|HTMLElement} [*selector*]\n */\n TextBox.prototype.select = function select$1 (_) {\n return arguments.length ? (this._select = d3Selection.select(_), this) : this._select;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the word split function to the specified function and returns this generator. If *value* is not specified, returns the current word split function.\n @param {Function} [*value*] A function that, when passed a string, is expected to return that string split into an array of words to wrap. The default split function splits strings on the following characters: `-`, `/`, `;`, `:`, `&`\n */\n TextBox.prototype.split = function split (_) {\n return arguments.length ? (this._split = _, this) : this._split;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the text accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current text accessor.\n @param {Function|String} [*value*]\n @example default accessor\nfunction(d) {\n return d.text;\n}\n */\n TextBox.prototype.text = function text (_) {\n return arguments.length ? (this._text = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._text;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the horizontal text anchor accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current horizontal text anchor accessor.\n @param {Function|String} [*value* = \"start\"] Analagous to the SVG [text-anchor](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-anchor) property.\n */\n TextBox.prototype.textAnchor = function textAnchor (_) {\n return arguments.length ? (this._textAnchor = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._textAnchor;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the vertical alignment accessor to the specified function or string and returns this generator. If *value* is not specified, returns the current vertical alignment accessor.\n @param {Function|String} [*value* = \"top\"] Accepts `\"top\"`, `\"middle\"`, and `\"bottom\"`.\n */\n TextBox.prototype.verticalAlign = function verticalAlign (_) {\n return arguments.length ? (this._verticalAlign = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._verticalAlign;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the width accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current width accessor.\n @param {Function|Number} [*value*]\n @example default accessor\nfunction(d) {\n return d.width || 200;\n}\n */\n TextBox.prototype.width = function width (_) {\n return arguments.length ? (this._width = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._width;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the x accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current x accessor. The number returned should correspond to the left position of the textBox.\n @param {Function|Number} [*value*]\n @example default accessor\nfunction(d) {\n return d.x || 0;\n}\n */\n TextBox.prototype.x = function x (_) {\n return arguments.length ? (this._x = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._x;\n };\n\n /**\n @memberof TextBox\n @desc If *value* is specified, sets the y accessor to the specified function or number and returns this generator. If *value* is not specified, returns the current y accessor. The number returned should correspond to the top position of the textBox.\n @param {Function|Number} [*value*]\n @example default accessor\nfunction(d) {\n return d.y || 0;\n}\n */\n TextBox.prototype.y = function y (_) {\n return arguments.length ? (this._y = typeof _ === \"function\" ? _ : d3plusCommon.constant(_), this) : this._y;\n };\n\n return TextBox;\n}(d3plusCommon.BaseClass));\n\n/**\n @function titleCase\n @desc Capitalizes the first letter of each word in a phrase/sentence.\n @param {String} str The string to apply the title case logic.\n @param {Object} [opts] Optional parameters to apply.\n @param {String} [opts.lng] The locale to use when looking up all lowercase or uppecase words.\n*/\nvar titleCase = function(str, opts) {\n\n if (str === void 0) { return \"\"; }\n\n opts = Object.assign({\n lng: \"en-US\"\n }, opts);\n\n var lng = opts.lng;\n\n var smalls = d3plusCommon.locale.t(\"array.lowercase\", {lng: lng, returnObjects: true}).map(function (s) { return s.toLowerCase(); });\n\n var bigs = d3plusCommon.locale.t(\"array.uppercase\", {lng: lng, returnObjects: true});\n bigs = bigs.concat(bigs.map(function (b) { return (b + \"s\"); }));\n var biglow = bigs.map(function (b) { return b.toLowerCase(); });\n\n var split = textSplit(str);\n return split.map(function (s, i) {\n if (s) {\n var lower = s.toLowerCase();\n var stripped = suffixChars.includes(lower.charAt(lower.length - 1)) ? lower.slice(0, -1) : lower;\n var bigindex = biglow.indexOf(stripped);\n if (bigindex >= 0) { return bigs[bigindex]; }\n else if (smalls.includes(stripped) && i !== 0 && i !== split.length - 1) { return lower; }\n else { return s.charAt(0).toUpperCase() + s.substr(1).toLowerCase(); }\n }\n else { return \"\"; }\n }).reduce(function (ret, s, i) {\n if (i && str.charAt(ret.length) === \" \") { ret += \" \"; }\n ret += s;\n return ret;\n }, \"\");\n\n};\n\nexports.fontExists = fontExists;\nexports.stringify = stringify;\nexports.strip = strip;\nexports.TextBox = TextBox;\nexports.textSplit = textSplit;\nexports.textWidth = measure;\nexports.textWrap = wrap;\nexports.titleCase = titleCase;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=d3plus-text.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/d3plus-text/build/d3plus-text.js\n// module id = 76\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/d3plus-text/build/d3plus-text.js?");/***/},/* 77 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/fbjs/lib/emptyObject.js\n// module id = 77\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/fbjs/lib/emptyObject.js?");/***/},/* 78 *//***/function(module,exports,__webpack_require__){eval("var listCacheClear = __webpack_require__(609),\n listCacheDelete = __webpack_require__(610),\n listCacheGet = __webpack_require__(611),\n listCacheHas = __webpack_require__(612),\n listCacheSet = __webpack_require__(613);\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/_ListCache.js\n// module id = 78\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/_ListCache.js?");/***/},/* 79 *//***/function(module,exports,__webpack_require__){eval("var eq = __webpack_require__(83);\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/_assocIndexOf.js\n// module id = 79\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/_assocIndexOf.js?");/***/},/* 80 *//***/function(module,exports,__webpack_require__){eval("var isKeyable = __webpack_require__(607);\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/_getMapData.js\n// module id = 80\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/_getMapData.js?");/***/},/* 81 *//***/function(module,exports,__webpack_require__){eval("var getNative = __webpack_require__(33);\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/_nativeCreate.js\n// module id = 81\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/_nativeCreate.js?");/***/},/* 82 *//***/function(module,exports,__webpack_require__){eval("var isSymbol = __webpack_require__(84);\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/_toKey.js\n// module id = 82\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/_toKey.js?");/***/},/* 83 *//***/function(module,exports){eval("/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/eq.js\n// module id = 83\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/eq.js?");/***/},/* 84 *//***/function(module,exports,__webpack_require__){eval("var baseGetTag = __webpack_require__(59),\n isObjectLike = __webpack_require__(37);\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/isSymbol.js\n// module id = 84\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/isSymbol.js?");/***/},/* 85 *//***/function(module,exports,__webpack_require__){eval("var arrayLikeKeys = __webpack_require__(566),\n baseKeys = __webpack_require__(579),\n isArrayLike = __webpack_require__(60);\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/lodash/keys.js\n// module id = 85\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/lodash/keys.js?");/***/},/* 86 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n\n\nvar _prodInvariant = __webpack_require__(3);\n\nvar invariant = __webpack_require__(1);\n\n/**\n * Injectable ordering of event plugins.\n */\nvar eventPluginOrder = null;\n\n/**\n * Injectable mapping from names to event plugin modules.\n */\nvar namesToPlugins = {};\n\n/**\n * Recomputes the plugin list using the injected plugins and plugin ordering.\n *\n * @private\n */\nfunction recomputePluginOrdering() {\n if (!eventPluginOrder) {\n // Wait until an `eventPluginOrder` is injected.\n return;\n }\n for (var pluginName in namesToPlugins) {\n var pluginModule = namesToPlugins[pluginName];\n var pluginIndex = eventPluginOrder.indexOf(pluginName);\n !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0;\n if (EventPluginRegistry.plugins[pluginIndex]) {\n continue;\n }\n !pluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0;\n EventPluginRegistry.plugins[pluginIndex] = pluginModule;\n var publishedEvents = pluginModule.eventTypes;\n for (var eventName in publishedEvents) {\n !publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0;\n }\n }\n}\n\n/**\n * Publishes an event so that it can be dispatched by the supplied plugin.\n *\n * @param {object} dispatchConfig Dispatch configuration for the event.\n * @param {object} PluginModule Plugin publishing the event.\n * @return {boolean} True if the event was successfully published.\n * @private\n */\nfunction publishEventForPlugin(dispatchConfig, pluginModule, eventName) {\n !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0;\n EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;\n\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n if (phasedRegistrationNames) {\n for (var phaseName in phasedRegistrationNames) {\n if (phasedRegistrationNames.hasOwnProperty(phaseName)) {\n var phasedRegistrationName = phasedRegistrationNames[phaseName];\n publishRegistrationName(phasedRegistrationName, pluginModule, eventName);\n }\n }\n return true;\n } else if (dispatchConfig.registrationName) {\n publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);\n return true;\n }\n return false;\n}\n\n/**\n * Publishes a registration name that is used to identify dispatched events and\n * can be used with `EventPluginHub.putListener` to register listeners.\n *\n * @param {string} registrationName Registration name to add.\n * @param {object} PluginModule Plugin publishing the event.\n * @private\n */\nfunction publishRegistrationName(registrationName, pluginModule, eventName) {\n !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0;\n EventPluginRegistry.registrationNameModules[registrationName] = pluginModule;\n EventPluginRegistry.registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies;\n\n if (process.env.NODE_ENV !== 'production') {\n var lowerCasedName = registrationName.toLowerCase();\n EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n}\n\n/**\n * Registers plugins so that they can extract and dispatch events.\n *\n * @see {EventPluginHub}\n */\nvar EventPluginRegistry = {\n /**\n * Ordered list of injected plugins.\n */\n plugins: [],\n\n /**\n * Mapping from event name to dispatch config\n */\n eventNameDispatchConfigs: {},\n\n /**\n * Mapping from registration name to plugin module\n */\n registrationNameModules: {},\n\n /**\n * Mapping from registration name to event name\n */\n registrationNameDependencies: {},\n\n /**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in __DEV__.\n * @type {Object}\n */\n possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null,\n // Trust the developer to only use possibleRegistrationNames in __DEV__\n\n /**\n * Injects an ordering of plugins (by plugin name). This allows the ordering\n * to be decoupled from injection of the actual plugins so that ordering is\n * always deterministic regardless of packaging, on-the-fly injection, etc.\n *\n * @param {array} InjectedEventPluginOrder\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginOrder}\n */\n injectEventPluginOrder: function (injectedEventPluginOrder) {\n !!eventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0;\n // Clone the ordering so it cannot be dynamically mutated.\n eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder);\n recomputePluginOrdering();\n },\n\n /**\n * Injects plugins to be used by `EventPluginHub`. The plugin names must be\n * in the ordering injected by `injectEventPluginOrder`.\n *\n * Plugins can be injected as part of page initialization or on-the-fly.\n *\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginsByName}\n */\n injectEventPluginsByName: function (injectedNamesToPlugins) {\n var isOrderingDirty = false;\n for (var pluginName in injectedNamesToPlugins) {\n if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {\n continue;\n }\n var pluginModule = injectedNamesToPlugins[pluginName];\n if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) {\n !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0;\n namesToPlugins[pluginName] = pluginModule;\n isOrderingDirty = true;\n }\n }\n if (isOrderingDirty) {\n recomputePluginOrdering();\n }\n },\n\n /**\n * Looks up the plugin for the supplied event.\n *\n * @param {object} event A synthetic event.\n * @return {?object} The plugin that created the supplied event.\n * @internal\n */\n getPluginModuleForEvent: function (event) {\n var dispatchConfig = event.dispatchConfig;\n if (dispatchConfig.registrationName) {\n return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;\n }\n if (dispatchConfig.phasedRegistrationNames !== undefined) {\n // pulling phasedRegistrationNames out of dispatchConfig helps Flow see\n // that it is not undefined.\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n\n for (var phase in phasedRegistrationNames) {\n if (!phasedRegistrationNames.hasOwnProperty(phase)) {\n continue;\n }\n var pluginModule = EventPluginRegistry.registrationNameModules[phasedRegistrationNames[phase]];\n if (pluginModule) {\n return pluginModule;\n }\n }\n }\n return null;\n },\n\n /**\n * Exposed for unit testing.\n * @private\n */\n _resetEventPlugins: function () {\n eventPluginOrder = null;\n for (var pluginName in namesToPlugins) {\n if (namesToPlugins.hasOwnProperty(pluginName)) {\n delete namesToPlugins[pluginName];\n }\n }\n EventPluginRegistry.plugins.length = 0;\n\n var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;\n for (var eventName in eventNameDispatchConfigs) {\n if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {\n delete eventNameDispatchConfigs[eventName];\n }\n }\n\n var registrationNameModules = EventPluginRegistry.registrationNameModules;\n for (var registrationName in registrationNameModules) {\n if (registrationNameModules.hasOwnProperty(registrationName)) {\n delete registrationNameModules[registrationName];\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames;\n for (var lowerCasedName in possibleRegistrationNames) {\n if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) {\n delete possibleRegistrationNames[lowerCasedName];\n }\n }\n }\n }\n};\n\nmodule.exports = EventPluginRegistry;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/EventPluginRegistry.js\n// module id = 86\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/EventPluginRegistry.js?");/***/},/* 87 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar _assign = __webpack_require__(5);\n\nvar EventPluginRegistry = __webpack_require__(86);\nvar ReactEventEmitterMixin = __webpack_require__(691);\nvar ViewportMetrics = __webpack_require__(263);\n\nvar getVendorPrefixedEventName = __webpack_require__(726);\nvar isEventSupported = __webpack_require__(149);\n\n/**\n * Summary of `ReactBrowserEventEmitter` event handling:\n *\n * - Top-level delegation is used to trap most native browser events. This\n * may only occur in the main thread and is the responsibility of\n * ReactEventListener, which is injected and can therefore support pluggable\n * event sources. This is the only work that occurs in the main thread.\n *\n * - We normalize and de-duplicate events to account for browser quirks. This\n * may be done in the worker thread.\n *\n * - Forward these native events (with the associated top-level type used to\n * trap it) to `EventPluginHub`, which in turn will ask plugins if they want\n * to extract any synthetic events.\n *\n * - The `EventPluginHub` will then process each event by annotating them with\n * \"dispatches\", a sequence of listeners and IDs that care about that event.\n *\n * - The `EventPluginHub` then dispatches the events.\n *\n * Overview of React and the event system:\n *\n * +------------+ .\n * | DOM | .\n * +------------+ .\n * | .\n * v .\n * +------------+ .\n * | ReactEvent | .\n * | Listener | .\n * +------------+ . +-----------+\n * | . +--------+|SimpleEvent|\n * | . | |Plugin |\n * +-----|------+ . v +-----------+\n * | | | . +--------------+ +------------+\n * | +-----------.--->|EventPluginHub| | Event |\n * | | . | | +-----------+ | Propagators|\n * | ReactEvent | . | | |TapEvent | |------------|\n * | Emitter | . | |<---+|Plugin | |other plugin|\n * | | . | | +-----------+ | utilities |\n * | +-----------.--->| | +------------+\n * | | | . +--------------+\n * +-----|------+ . ^ +-----------+\n * | . | |Enter/Leave|\n * + . +-------+|Plugin |\n * +-------------+ . +-----------+\n * | application | .\n * |-------------| .\n * | | .\n * | | .\n * +-------------+ .\n * .\n * React Core . General Purpose Event Plugin System\n */\n\nvar hasEventPageXY;\nvar alreadyListeningTo = {};\nvar isMonitoringScrollValue = false;\nvar reactTopListenersCounter = 0;\n\n// For events like 'submit' which don't consistently bubble (which we trap at a\n// lower node than `document`), binding at `document` would cause duplicate\n// events so we don't include them here\nvar topEventMapping = {\n topAbort: 'abort',\n topAnimationEnd: getVendorPrefixedEventName('animationend') || 'animationend',\n topAnimationIteration: getVendorPrefixedEventName('animationiteration') || 'animationiteration',\n topAnimationStart: getVendorPrefixedEventName('animationstart') || 'animationstart',\n topBlur: 'blur',\n topCanPlay: 'canplay',\n topCanPlayThrough: 'canplaythrough',\n topChange: 'change',\n topClick: 'click',\n topCompositionEnd: 'compositionend',\n topCompositionStart: 'compositionstart',\n topCompositionUpdate: 'compositionupdate',\n topContextMenu: 'contextmenu',\n topCopy: 'copy',\n topCut: 'cut',\n topDoubleClick: 'dblclick',\n topDrag: 'drag',\n topDragEnd: 'dragend',\n topDragEnter: 'dragenter',\n topDragExit: 'dragexit',\n topDragLeave: 'dragleave',\n topDragOver: 'dragover',\n topDragStart: 'dragstart',\n topDrop: 'drop',\n topDurationChange: 'durationchange',\n topEmptied: 'emptied',\n topEncrypted: 'encrypted',\n topEnded: 'ended',\n topError: 'error',\n topFocus: 'focus',\n topInput: 'input',\n topKeyDown: 'keydown',\n topKeyPress: 'keypress',\n topKeyUp: 'keyup',\n topLoadedData: 'loadeddata',\n topLoadedMetadata: 'loadedmetadata',\n topLoadStart: 'loadstart',\n topMouseDown: 'mousedown',\n topMouseMove: 'mousemove',\n topMouseOut: 'mouseout',\n topMouseOver: 'mouseover',\n topMouseUp: 'mouseup',\n topPaste: 'paste',\n topPause: 'pause',\n topPlay: 'play',\n topPlaying: 'playing',\n topProgress: 'progress',\n topRateChange: 'ratechange',\n topScroll: 'scroll',\n topSeeked: 'seeked',\n topSeeking: 'seeking',\n topSelectionChange: 'selectionchange',\n topStalled: 'stalled',\n topSuspend: 'suspend',\n topTextInput: 'textInput',\n topTimeUpdate: 'timeupdate',\n topTouchCancel: 'touchcancel',\n topTouchEnd: 'touchend',\n topTouchMove: 'touchmove',\n topTouchStart: 'touchstart',\n topTransitionEnd: getVendorPrefixedEventName('transitionend') || 'transitionend',\n topVolumeChange: 'volumechange',\n topWaiting: 'waiting',\n topWheel: 'wheel'\n};\n\n/**\n * To ensure no conflicts with other potential React instances on the page\n */\nvar topListenersIDKey = '_reactListenersID' + String(Math.random()).slice(2);\n\nfunction getListeningForDocument(mountAt) {\n // In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty`\n // directly.\n if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) {\n mountAt[topListenersIDKey] = reactTopListenersCounter++;\n alreadyListeningTo[mountAt[topListenersIDKey]] = {};\n }\n return alreadyListeningTo[mountAt[topListenersIDKey]];\n}\n\n/**\n * `ReactBrowserEventEmitter` is used to attach top-level event listeners. For\n * example:\n *\n * EventPluginHub.putListener('myID', 'onClick', myFunction);\n *\n * This would allocate a \"registration\" of `('onClick', myFunction)` on 'myID'.\n *\n * @internal\n */\nvar ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {\n /**\n * Injectable event backend\n */\n ReactEventListener: null,\n\n injection: {\n /**\n * @param {object} ReactEventListener\n */\n injectReactEventListener: function (ReactEventListener) {\n ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel);\n ReactBrowserEventEmitter.ReactEventListener = ReactEventListener;\n }\n },\n\n /**\n * Sets whether or not any created callbacks should be enabled.\n *\n * @param {boolean} enabled True if callbacks should be enabled.\n */\n setEnabled: function (enabled) {\n if (ReactBrowserEventEmitter.ReactEventListener) {\n ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled);\n }\n },\n\n /**\n * @return {boolean} True if callbacks are enabled.\n */\n isEnabled: function () {\n return !!(ReactBrowserEventEmitter.ReactEventListener && ReactBrowserEventEmitter.ReactEventListener.isEnabled());\n },\n\n /**\n * We listen for bubbled touch events on the document object.\n *\n * Firefox v8.01 (and possibly others) exhibited strange behavior when\n * mounting `onmousemove` events at some node that was not the document\n * element. The symptoms were that if your mouse is not moving over something\n * contained within that mount point (for example on the background) the\n * top-level listeners for `onmousemove` won't be called. However, if you\n * register the `mousemove` on the document object, then it will of course\n * catch all `mousemove`s. This along with iOS quirks, justifies restricting\n * top-level listeners to the document object only, at least for these\n * movement types of events and possibly all events.\n *\n * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n *\n * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but\n * they bubble to document.\n *\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {object} contentDocumentHandle Document which owns the container\n */\n listenTo: function (registrationName, contentDocumentHandle) {\n var mountAt = contentDocumentHandle;\n var isListening = getListeningForDocument(mountAt);\n var dependencies = EventPluginRegistry.registrationNameDependencies[registrationName];\n\n for (var i = 0; i < dependencies.length; i++) {\n var dependency = dependencies[i];\n if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) {\n if (dependency === 'topWheel') {\n if (isEventSupported('wheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'wheel', mountAt);\n } else if (isEventSupported('mousewheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'mousewheel', mountAt);\n } else {\n // Firefox needs to capture a different mouse scroll event.\n // @see http://www.quirksmode.org/dom/events/tests/scroll.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'DOMMouseScroll', mountAt);\n }\n } else if (dependency === 'topScroll') {\n if (isEventSupported('scroll', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topScroll', 'scroll', mountAt);\n } else {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topScroll', 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);\n }\n } else if (dependency === 'topFocus' || dependency === 'topBlur') {\n if (isEventSupported('focus', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topFocus', 'focus', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topBlur', 'blur', mountAt);\n } else if (isEventSupported('focusin')) {\n // IE has `focusin` and `focusout` events which bubble.\n // @see http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topFocus', 'focusin', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topBlur', 'focusout', mountAt);\n }\n\n // to make sure blur and focus event listeners are only attached once\n isListening.topBlur = true;\n isListening.topFocus = true;\n } else if (topEventMapping.hasOwnProperty(dependency)) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency, topEventMapping[dependency], mountAt);\n }\n\n isListening[dependency] = true;\n }\n }\n },\n\n trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType, handlerBaseName, handle);\n },\n\n trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType, handlerBaseName, handle);\n },\n\n /**\n * Protect against document.createEvent() returning null\n * Some popup blocker extensions appear to do this:\n * https://github.com/facebook/react/issues/6887\n */\n supportsEventPageXY: function () {\n if (!document.createEvent) {\n return false;\n }\n var ev = document.createEvent('MouseEvent');\n return ev != null && 'pageX' in ev;\n },\n\n /**\n * Listens to window scroll and resize events. We cache scroll values so that\n * application code can access them without triggering reflows.\n *\n * ViewportMetrics is only used by SyntheticMouse/TouchEvent and only when\n * pageX/pageY isn't supported (legacy browsers).\n *\n * NOTE: Scroll events do not bubble.\n *\n * @see http://www.quirksmode.org/dom/events/scroll.html\n */\n ensureScrollValueMonitoring: function () {\n if (hasEventPageXY === undefined) {\n hasEventPageXY = ReactBrowserEventEmitter.supportsEventPageXY();\n }\n if (!hasEventPageXY && !isMonitoringScrollValue) {\n var refresh = ViewportMetrics.refreshScrollValues;\n ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh);\n isMonitoringScrollValue = true;\n }\n }\n});\n\nmodule.exports = ReactBrowserEventEmitter;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/ReactBrowserEventEmitter.js\n// module id = 87\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/ReactBrowserEventEmitter.js?");/***/},/* 88 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar SyntheticUIEvent = __webpack_require__(65);\nvar ViewportMetrics = __webpack_require__(263);\n\nvar getEventModifierState = __webpack_require__(147);\n\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar MouseEventInterface = {\n screenX: null,\n screenY: null,\n clientX: null,\n clientY: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n getModifierState: getEventModifierState,\n button: function (event) {\n // Webkit, Firefox, IE9+\n // which: 1 2 3\n // button: 0 1 2 (standard)\n var button = event.button;\n if ('which' in event) {\n return button;\n }\n // IE<9\n // which: undefined\n // button: 0 0 0\n // button: 1 4 2 (onmouseup)\n return button === 2 ? 2 : button === 4 ? 1 : 0;\n },\n buttons: null,\n relatedTarget: function (event) {\n return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);\n },\n // \"Proprietary\" Interface.\n pageX: function (event) {\n return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft;\n },\n pageY: function (event) {\n return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);\n\nmodule.exports = SyntheticMouseEvent;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/SyntheticMouseEvent.js\n// module id = 88\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/SyntheticMouseEvent.js?");/***/},/* 89 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n\n\nvar _prodInvariant = __webpack_require__(3);\n\nvar invariant = __webpack_require__(1);\n\nvar OBSERVED_ERROR = {};\n\n/**\n * `Transaction` creates a black box that is able to wrap any method such that\n * certain invariants are maintained before and after the method is invoked\n * (Even if an exception is thrown while invoking the wrapped method). Whoever\n * instantiates a transaction can provide enforcers of the invariants at\n * creation time. The `Transaction` class itself will supply one additional\n * automatic invariant for you - the invariant that any transaction instance\n * should not be run while it is already being run. You would typically create a\n * single instance of a `Transaction` for reuse multiple times, that potentially\n * is used to wrap several different methods. Wrappers are extremely simple -\n * they only require implementing two methods.\n *\n *
\n *                       wrappers (injected at creation time)\n *                                      +        +\n *                                      |        |\n *                    +-----------------|--------|--------------+\n *                    |                 v        |              |\n *                    |      +---------------+   |              |\n *                    |   +--|    wrapper1   |---|----+         |\n *                    |   |  +---------------+   v    |         |\n *                    |   |          +-------------+  |         |\n *                    |   |     +----|   wrapper2  |--------+   |\n *                    |   |     |    +-------------+  |     |   |\n *                    |   |     |                     |     |   |\n *                    |   v     v                     v     v   | wrapper\n *                    | +---+ +---+   +---------+   +---+ +---+ | invariants\n * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained\n * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | +---+ +---+   +---------+   +---+ +---+ |\n *                    |  initialize                    close    |\n *                    +-----------------------------------------+\n * 
\n *\n * Use cases:\n * - Preserving the input selection ranges before/after reconciliation.\n * Restoring selection even in the event of an unexpected error.\n * - Deactivating events while rearranging the DOM, preventing blurs/focuses,\n * while guaranteeing that afterwards, the event system is reactivated.\n * - Flushing a queue of collected DOM mutations to the main UI thread after a\n * reconciliation takes place in a worker thread.\n * - Invoking any collected `componentDidUpdate` callbacks after rendering new\n * content.\n * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue\n * to preserve the `scrollTop` (an automatic scroll aware DOM).\n * - (Future use case): Layout calculations before and after DOM updates.\n *\n * Transactional plugin API:\n * - A module that has an `initialize` method that returns any precomputation.\n * - and a `close` method that accepts the precomputation. `close` is invoked\n * when the wrapped process is completed, or has failed.\n *\n * @param {Array} transactionWrapper Wrapper modules\n * that implement `initialize` and `close`.\n * @return {Transaction} Single transaction for reuse in thread.\n *\n * @class Transaction\n */\nvar TransactionImpl = {\n /**\n * Sets up this instance so that it is prepared for collecting metrics. Does\n * so such that this setup method may be used on an instance that is already\n * initialized, in a way that does not consume additional memory upon reuse.\n * That can be useful if you decide to make your subclass of this mixin a\n * \"PooledClass\".\n */\n reinitializeTransaction: function () {\n this.transactionWrappers = this.getTransactionWrappers();\n if (this.wrapperInitData) {\n this.wrapperInitData.length = 0;\n } else {\n this.wrapperInitData = [];\n }\n this._isInTransaction = false;\n },\n\n _isInTransaction: false,\n\n /**\n * @abstract\n * @return {Array} Array of transaction wrappers.\n */\n getTransactionWrappers: null,\n\n isInTransaction: function () {\n return !!this._isInTransaction;\n },\n\n /* eslint-disable space-before-function-paren */\n\n /**\n * Executes the function within a safety window. Use this for the top level\n * methods that result in large amounts of computation/mutations that would\n * need to be safety checked. The optional arguments helps prevent the need\n * to bind in many cases.\n *\n * @param {function} method Member of scope to call.\n * @param {Object} scope Scope to invoke from.\n * @param {Object?=} a Argument to pass to the method.\n * @param {Object?=} b Argument to pass to the method.\n * @param {Object?=} c Argument to pass to the method.\n * @param {Object?=} d Argument to pass to the method.\n * @param {Object?=} e Argument to pass to the method.\n * @param {Object?=} f Argument to pass to the method.\n *\n * @return {*} Return value from `method`.\n */\n perform: function (method, scope, a, b, c, d, e, f) {\n /* eslint-enable space-before-function-paren */\n !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;\n var errorThrown;\n var ret;\n try {\n this._isInTransaction = true;\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // one of these calls threw.\n errorThrown = true;\n this.initializeAll(0);\n ret = method.call(scope, a, b, c, d, e, f);\n errorThrown = false;\n } finally {\n try {\n if (errorThrown) {\n // If `method` throws, prefer to show that stack trace over any thrown\n // by invoking `closeAll`.\n try {\n this.closeAll(0);\n } catch (err) {}\n } else {\n // Since `method` didn't throw, we don't want to silence the exception\n // here.\n this.closeAll(0);\n }\n } finally {\n this._isInTransaction = false;\n }\n }\n return ret;\n },\n\n initializeAll: function (startIndex) {\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n try {\n // Catching errors makes debugging more difficult, so we start with the\n // OBSERVED_ERROR state before overwriting it with the real return value\n // of initialize -- if it's still set to OBSERVED_ERROR in the finally\n // block, it means wrapper.initialize threw.\n this.wrapperInitData[i] = OBSERVED_ERROR;\n this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null;\n } finally {\n if (this.wrapperInitData[i] === OBSERVED_ERROR) {\n // The initializer for wrapper i threw an error; initialize the\n // remaining wrappers but silence any exceptions from them to ensure\n // that the first error is the one to bubble up.\n try {\n this.initializeAll(i + 1);\n } catch (err) {}\n }\n }\n }\n },\n\n /**\n * Invokes each of `this.transactionWrappers.close[i]` functions, passing into\n * them the respective return values of `this.transactionWrappers.init[i]`\n * (`close`rs that correspond to initializers that failed will not be\n * invoked).\n */\n closeAll: function (startIndex) {\n !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0;\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n var initData = this.wrapperInitData[i];\n var errorThrown;\n try {\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // wrapper.close threw.\n errorThrown = true;\n if (initData !== OBSERVED_ERROR && wrapper.close) {\n wrapper.close.call(this, initData);\n }\n errorThrown = false;\n } finally {\n if (errorThrown) {\n // The closer for wrapper i threw an error; close the remaining\n // wrappers but silence any exceptions from them to ensure that the\n // first error is the one to bubble up.\n try {\n this.closeAll(i + 1);\n } catch (e) {}\n }\n }\n }\n this.wrapperInitData.length = 0;\n }\n};\n\nmodule.exports = TransactionImpl;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/Transaction.js\n// module id = 89\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/Transaction.js?");/***/},/* 90 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright 2016-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * Based on the escape-html library, which is used under the MIT License below:\n *\n * Copyright (c) 2012-2013 TJ Holowaychuk\n * Copyright (c) 2015 Andreas Lubbe\n * Copyright (c) 2015 Tiancheng \"Timothy\" Gu\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * 'Software'), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n */\n\n\n\n// code copied and modified from escape-html\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n // \"\n escape = '"';\n break;\n case 38:\n // &\n escape = '&';\n break;\n case 39:\n // '\n escape = '''; // modified from escape-html; used to be '''\n break;\n case 60:\n // <\n escape = '<';\n break;\n case 62:\n // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\n}\n// end code copied and modified from escape-html\n\n/**\n * Escapes text to prevent scripting attacks.\n *\n * @param {*} text Text value to escape.\n * @return {string} An escaped string.\n */\nfunction escapeTextContentForBrowser(text) {\n if (typeof text === 'boolean' || typeof text === 'number') {\n // this shortcircuit helps perf for types that we know will never have\n // special characters, especially given that this function is used often\n // for numeric dom ids.\n return '' + text;\n }\n return escapeHtml(text);\n}\n\nmodule.exports = escapeTextContentForBrowser;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/escapeTextContentForBrowser.js\n// module id = 90\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/escapeTextContentForBrowser.js?");/***/},/* 91 *//***/function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n\n\nvar ExecutionEnvironment = __webpack_require__(7);\nvar DOMNamespaces = __webpack_require__(138);\n\nvar WHITESPACE_TEST = /^[ \\r\\n\\t\\f]/;\nvar NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/;\n\nvar createMicrosoftUnsafeLocalFunction = __webpack_require__(145);\n\n// SVG temp container for IE lacking innerHTML\nvar reusableSVGContainer;\n\n/**\n * Set the innerHTML property of a node, ensuring that whitespace is preserved\n * even in IE8.\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n if (node.namespaceURI === DOMNamespaces.svg && !('innerHTML' in node)) {\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '' + html + '';\n var svgNode = reusableSVGContainer.firstChild;\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n } else {\n node.innerHTML = html;\n }\n});\n\nif (ExecutionEnvironment.canUseDOM) {\n // IE8: When updating a just created node with innerHTML only leading\n // whitespace is removed. When updating an existing node with innerHTML\n // whitespace in root TextNodes is also collapsed.\n // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html\n\n // Feature detection; only IE8 is known to behave improperly like this.\n var testElement = document.createElement('div');\n testElement.innerHTML = ' ';\n if (testElement.innerHTML === '') {\n setInnerHTML = function (node, html) {\n // Magic theory: IE8 supposedly differentiates between added and updated\n // nodes when processing innerHTML, innerHTML on updated nodes suffers\n // from worse whitespace behavior. Re-adding a node like this triggers\n // the initial and more favorable whitespace behavior.\n // TODO: What to do on a detached node?\n if (node.parentNode) {\n node.parentNode.replaceChild(node, node);\n }\n\n // We also implement a workaround for non-visible tags disappearing into\n // thin air on IE8, this only happens if there is no visible text\n // in-front of the non-visible tags. Piggyback on the whitespace fix\n // and simply check if any non-visible tags appear in the source.\n if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) {\n // Recover leading whitespace by temporarily prepending any character.\n // \\uFEFF has the potential advantage of being zero-width/invisible.\n // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode\n // in hopes that this is preserved even if \"\\uFEFF\" is transformed to\n // the actual Unicode character (by Babel, for example).\n // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216\n node.innerHTML = String.fromCharCode(0xfeff) + html;\n\n // deleteData leaves an empty `TextNode` which offsets the index of all\n // children. Definitely want to avoid this.\n var textNode = node.firstChild;\n if (textNode.data.length === 1) {\n node.removeChild(textNode);\n } else {\n textNode.deleteData(0, 1);\n }\n } else {\n node.innerHTML = html;\n }\n };\n }\n testElement = null;\n}\n\nmodule.exports = setInnerHTML;\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react-dom/lib/setInnerHTML.js\n// module id = 91\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react-dom/lib/setInnerHTML.js?");/***/},/* 92 *//***/function(module,exports,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * \n */\n\n\n\nvar canDefineProperty = false;\nif (process.env.NODE_ENV !== 'production') {\n try {\n // $FlowFixMe https://github.com/facebook/flow/issues/285\n Object.defineProperty({}, 'x', { get: function () {} });\n canDefineProperty = true;\n } catch (x) {\n // IE will fail on defineProperty\n }\n}\n\nmodule.exports = canDefineProperty;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)))\n\n//////////////////\n// WEBPACK FOOTER\n// ../~/react/lib/canDefineProperty.js\n// module id = 92\n// module chunks = 0\n\n//# sourceURL=webpack:///../~/react/lib/canDefineProperty.js?");/***/},/* 93 *//***/function(module,exports){eval("/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\nvar stylesInDom = {},\n\tmemoize = function(fn) {\n\t\tvar memo;\n\t\treturn function () {\n\t\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\t\treturn memo;\n\t\t};\n\t},\n\tisOldIE = memoize(function() {\n\t\treturn /msie [6-9]\\b/.test(self.navigator.userAgent.toLowerCase());\n\t}),\n\tgetHeadElement = memoize(function () {\n\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\n\t}),\n\tsingletonElement = null,\n\tsingletonCounter = 0,\n\tstyleElementsInsertedAtTop = [];\n\nmodule.exports = function(list, options) {\n\tif(typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif(typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of