@next-bricks/diagram 0.25.2 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/bricks.json +2 -1
  2. package/dist/chunks/1045.b7c29853.js +2 -0
  3. package/dist/chunks/{1045.ef1c8822.js.map → 1045.b7c29853.js.map} +1 -1
  4. package/dist/chunks/1122.ec5a28bd.js +2 -0
  5. package/dist/chunks/{1122.127ae02e.js.map → 1122.ec5a28bd.js.map} +1 -1
  6. package/dist/chunks/{1972.f9255729.js → 1972.3c3e1965.js} +2 -2
  7. package/dist/chunks/{1972.f9255729.js.map → 1972.3c3e1965.js.map} +1 -1
  8. package/dist/chunks/2770.18b631cb.js +2 -0
  9. package/dist/chunks/2770.18b631cb.js.map +1 -0
  10. package/dist/chunks/3426.aed442e0.js +2 -0
  11. package/dist/chunks/{3426.1773574d.js.map → 3426.aed442e0.js.map} +1 -1
  12. package/dist/chunks/{3510.70429aeb.js → 3510.49d72504.js} +3 -3
  13. package/dist/chunks/3510.49d72504.js.map +1 -0
  14. package/dist/chunks/4456.f6066b87.js +2 -0
  15. package/dist/chunks/4456.f6066b87.js.map +1 -0
  16. package/dist/chunks/{5399.21649329.js → 5399.d1706027.js} +2 -2
  17. package/dist/chunks/{5399.21649329.js.map → 5399.d1706027.js.map} +1 -1
  18. package/dist/chunks/6188.a80198d0.js +3 -0
  19. package/dist/chunks/6188.a80198d0.js.map +1 -0
  20. package/dist/chunks/7918.9f7ec4d7.js +2 -0
  21. package/dist/chunks/7918.9f7ec4d7.js.map +1 -0
  22. package/dist/chunks/{8989.06023b69.js → 8989.55e6868c.js} +2 -2
  23. package/dist/chunks/{8989.06023b69.js.map → 8989.55e6868c.js.map} +1 -1
  24. package/dist/chunks/9407.1336c97c.js +2 -0
  25. package/dist/chunks/9407.1336c97c.js.map +1 -0
  26. package/dist/chunks/9559.7d625626.js +2 -0
  27. package/dist/chunks/{9559.2729fe3b.js.map → 9559.7d625626.js.map} +1 -1
  28. package/dist/chunks/9591.e9a0ce2d.js +2 -0
  29. package/dist/chunks/9591.e9a0ce2d.js.map +1 -0
  30. package/dist/chunks/9740.fb9cd2a1.js +2 -0
  31. package/dist/chunks/9740.fb9cd2a1.js.map +1 -0
  32. package/dist/chunks/eo-diagram.58ca6b92.js +2 -0
  33. package/dist/chunks/eo-diagram.58ca6b92.js.map +1 -0
  34. package/dist/chunks/eo-display-canvas.77347940.js +2 -0
  35. package/dist/chunks/eo-display-canvas.77347940.js.map +1 -0
  36. package/dist/chunks/eo-draw-canvas.a7b522ea.js +2 -0
  37. package/dist/chunks/eo-draw-canvas.a7b522ea.js.map +1 -0
  38. package/dist/chunks/{main.0a5467d9.js → main.dd8b2330.js} +2 -2
  39. package/dist/chunks/{main.0a5467d9.js.map → main.dd8b2330.js.map} +1 -1
  40. package/dist/examples.json +3 -0
  41. package/dist/index.06ad2eaf.js +2 -0
  42. package/dist/index.06ad2eaf.js.map +1 -0
  43. package/dist/manifest.json +116 -41
  44. package/dist/types.json +2895 -1819
  45. package/dist-types/bootstrap.d.ts +1 -0
  46. package/dist-types/display-canvas/index.d.ts +51 -0
  47. package/dist-types/display-canvas/index.spec.d.ts +1 -0
  48. package/dist-types/draw-canvas/CellComponent.d.ts +8 -7
  49. package/dist-types/draw-canvas/decorators/DecoratorArea.d.ts +1 -1
  50. package/dist-types/draw-canvas/decorators/DecoratorText.d.ts +2 -2
  51. package/dist-types/draw-canvas/decorators/index.d.ts +1 -1
  52. package/dist-types/draw-canvas/interfaces.d.ts +6 -5
  53. package/dist-types/draw-canvas/processors/handleMouseDown.d.ts +1 -1
  54. package/dist-types/shared/canvas/useActiveTarget.d.ts +9 -0
  55. package/dist-types/shared/canvas/useAutoCenter.d.ts +16 -0
  56. package/dist-types/shared/canvas/useZoom.d.ts +19 -0
  57. package/docs/eo-display-canvas.md +9 -0
  58. package/package.json +2 -2
  59. package/dist/chunks/1045.ef1c8822.js +0 -2
  60. package/dist/chunks/1122.127ae02e.js +0 -2
  61. package/dist/chunks/3426.1773574d.js +0 -2
  62. package/dist/chunks/3510.70429aeb.js.map +0 -1
  63. package/dist/chunks/4103.217303a1.js +0 -2
  64. package/dist/chunks/4103.217303a1.js.map +0 -1
  65. package/dist/chunks/4235.0393c824.js +0 -3
  66. package/dist/chunks/4235.0393c824.js.map +0 -1
  67. package/dist/chunks/4456.c3ff0981.js +0 -2
  68. package/dist/chunks/4456.c3ff0981.js.map +0 -1
  69. package/dist/chunks/7638.a3881a71.js +0 -2
  70. package/dist/chunks/7638.a3881a71.js.map +0 -1
  71. package/dist/chunks/9407.06352f8b.js +0 -2
  72. package/dist/chunks/9407.06352f8b.js.map +0 -1
  73. package/dist/chunks/9559.2729fe3b.js +0 -2
  74. package/dist/chunks/9572.360c862c.js +0 -2
  75. package/dist/chunks/9572.360c862c.js.map +0 -1
  76. package/dist/chunks/9591.3e70b783.js +0 -2
  77. package/dist/chunks/9591.3e70b783.js.map +0 -1
  78. package/dist/chunks/eo-diagram.d8f9efe4.js +0 -2
  79. package/dist/chunks/eo-diagram.d8f9efe4.js.map +0 -1
  80. package/dist/chunks/eo-draw-canvas.de17725b.js +0 -2
  81. package/dist/chunks/eo-draw-canvas.de17725b.js.map +0 -1
  82. package/dist/index.aac44023.js +0 -2
  83. package/dist/index.aac44023.js.map +0 -1
  84. /package/dist/chunks/{3510.70429aeb.js.LICENSE.txt → 3510.49d72504.js.LICENSE.txt} +0 -0
  85. /package/dist/chunks/{4235.0393c824.js.LICENSE.txt → 6188.a80198d0.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/4235.0393c824.js","mappings":"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","sources":["webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/d3-dispatch/src/dispatch.js","webpack:///../../node_modules/d3-selection/src/matcher.js","webpack:///../../node_modules/d3-selection/src/namespace.js","webpack:///../../node_modules/d3-selection/src/namespaces.js","webpack:///../../node_modules/d3-selection/src/select.js","webpack:///../../node_modules/d3-selection/src/selection/selectChild.js","webpack:///../../node_modules/d3-selection/src/selection/selectChildren.js","webpack:///../../node_modules/d3-selection/src/selection/sparse.js","webpack:///../../node_modules/d3-selection/src/selection/enter.js","webpack:///../../node_modules/d3-selection/src/selection/data.js","webpack:///../../node_modules/d3-selection/src/selection/sort.js","webpack:///../../node_modules/d3-selection/src/selection/attr.js","webpack:///../../node_modules/d3-selection/src/selection/property.js","webpack:///../../node_modules/d3-selection/src/selection/classed.js","webpack:///../../node_modules/d3-selection/src/selection/text.js","webpack:///../../node_modules/d3-selection/src/selection/html.js","webpack:///../../node_modules/d3-selection/src/selection/raise.js","webpack:///../../node_modules/d3-selection/src/selection/lower.js","webpack:///../../node_modules/d3-selection/src/creator.js","webpack:///../../node_modules/d3-selection/src/selection/insert.js","webpack:///../../node_modules/d3-selection/src/selection/remove.js","webpack:///../../node_modules/d3-selection/src/selection/clone.js","webpack:///../../node_modules/d3-selection/src/selection/on.js","webpack:///../../node_modules/d3-selection/src/selection/dispatch.js","webpack:///../../node_modules/d3-selection/src/selection/index.js","webpack:///../../node_modules/d3-selection/src/selection/select.js","webpack:///../../node_modules/d3-selection/src/selection/selectAll.js","webpack:///../../node_modules/d3-selection/src/array.js","webpack:///../../node_modules/d3-selection/src/selection/filter.js","webpack:///../../node_modules/d3-selection/src/constant.js","webpack:///../../node_modules/d3-selection/src/selection/exit.js","webpack:///../../node_modules/d3-selection/src/selection/join.js","webpack:///../../node_modules/d3-selection/src/selection/merge.js","webpack:///../../node_modules/d3-selection/src/selection/order.js","webpack:///../../node_modules/d3-selection/src/selection/call.js","webpack:///../../node_modules/d3-selection/src/selection/nodes.js","webpack:///../../node_modules/d3-selection/src/selection/node.js","webpack:///../../node_modules/d3-selection/src/selection/size.js","webpack:///../../node_modules/d3-selection/src/selection/empty.js","webpack:///../../node_modules/d3-selection/src/selection/each.js","webpack:///../../node_modules/d3-selection/src/selection/append.js","webpack:///../../node_modules/d3-selection/src/selection/datum.js","webpack:///../../node_modules/d3-selection/src/selection/iterator.js","webpack:///../../node_modules/d3-selection/src/selection/style.js","webpack:///../../node_modules/d3-selection/src/selector.js","webpack:///../../node_modules/d3-selection/src/selectorAll.js","webpack:///../../node_modules/d3-selection/src/window.js","webpack:///../../node_modules/d3-timer/src/timer.js","webpack:///../../node_modules/d3-drag/src/noevent.js","webpack:///../../node_modules/d3-interpolate/src/zoom.js","webpack:///../../node_modules/d3-selection/src/pointer.js","webpack:///../../node_modules/d3-selection/src/sourceEvent.js","webpack:///../../node_modules/d3-timer/src/timeout.js","webpack:///../../node_modules/d3-transition/src/transition/schedule.js","webpack:///../../node_modules/d3-transition/src/interrupt.js","webpack:///../../node_modules/d3-interpolate/src/number.js","webpack:///../../node_modules/d3-interpolate/src/transform/decompose.js","webpack:///../../node_modules/d3-interpolate/src/transform/parse.js","webpack:///../../node_modules/d3-interpolate/src/transform/index.js","webpack:///../../node_modules/d3-transition/src/transition/tween.js","webpack:///../../node_modules/d3-color/src/define.js","webpack:///../../node_modules/d3-color/src/color.js","webpack:///../../node_modules/d3-interpolate/src/basis.js","webpack:///../../node_modules/d3-interpolate/src/constant.js","webpack:///../../node_modules/d3-interpolate/src/color.js","webpack:///../../node_modules/d3-interpolate/src/rgb.js","webpack:///../../node_modules/d3-interpolate/src/basisClosed.js","webpack:///../../node_modules/d3-interpolate/src/string.js","webpack:///../../node_modules/d3-transition/src/transition/interpolate.js","webpack:///../../node_modules/d3-transition/src/transition/attr.js","webpack:///../../node_modules/d3-transition/src/transition/attrTween.js","webpack:///../../node_modules/d3-transition/src/transition/delay.js","webpack:///../../node_modules/d3-transition/src/transition/duration.js","webpack:///../../node_modules/d3-transition/src/transition/selection.js","webpack:///../../node_modules/d3-transition/src/transition/style.js","webpack:///../../node_modules/d3-transition/src/transition/index.js","webpack:///../../node_modules/d3-transition/src/transition/select.js","webpack:///../../node_modules/d3-transition/src/transition/selectAll.js","webpack:///../../node_modules/d3-transition/src/transition/filter.js","webpack:///../../node_modules/d3-transition/src/transition/merge.js","webpack:///../../node_modules/d3-transition/src/transition/transition.js","webpack:///../../node_modules/d3-transition/src/transition/on.js","webpack:///../../node_modules/d3-transition/src/transition/styleTween.js","webpack:///../../node_modules/d3-transition/src/transition/text.js","webpack:///../../node_modules/d3-transition/src/transition/textTween.js","webpack:///../../node_modules/d3-transition/src/transition/remove.js","webpack:///../../node_modules/d3-transition/src/transition/ease.js","webpack:///../../node_modules/d3-transition/src/transition/easeVarying.js","webpack:///../../node_modules/d3-transition/src/transition/end.js","webpack:///../../node_modules/d3-transition/src/selection/transition.js","webpack:///../../node_modules/d3-ease/src/cubic.js","webpack:///../../node_modules/d3-transition/src/selection/index.js","webpack:///../../node_modules/d3-transition/src/selection/interrupt.js","webpack:///../../node_modules/d3-zoom/src/constant.js","webpack:///../../node_modules/d3-zoom/src/event.js","webpack:///../../node_modules/d3-zoom/src/transform.js","webpack:///../../node_modules/d3-zoom/src/noevent.js","webpack:///../../node_modules/d3-zoom/src/zoom.js","webpack:///../../node_modules/d3-drag/src/nodrag.js"],"sourcesContent":["\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","// These are typically used in conjunction with noevent to ensure that we can\n// preventDefault on the event.\nexport const nonpassive = {passive: false};\nexport const nonpassivecapture = {capture: true, passive: false};\n\nexport function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n\n return i;\n }\n\n zoom.rho = function(_) {\n var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n})(Math.SQRT2, 2, 4);\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","export default x => () => x;\n","export default function ZoomEvent(type, {\n sourceEvent,\n target,\n transform,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n transform: {value: transform, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled, {passive: false})\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var currentTarget = event.currentTarget,\n g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n","import {select} from \"d3-selection\";\nimport noevent, {nonpassivecapture} from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, nonpassivecapture);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, nonpassivecapture);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, nonpassivecapture);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n"],"names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","MapShim","Map","getIndex","arr","key","result","some","entry","index","class_1","__entries__","Object","defineProperty","prototype","get","enumerable","configurable","set","value","delete","entries","splice","has","clear","forEach","callback","ctx","_i","_a","call","isBrowser","window","document","global$1","g","Math","self","Function","requestAnimationFrame$1","requestAnimationFrame","bind","setTimeout","Date","now","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","target","props","keys","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","arguments","reduce","size","position","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","width","height","getSVGContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","getHTMLElementContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","create","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","TypeError","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","_this","observation","WeakMap","ResizeObserver","method","apply","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","Array","isArray","includes","newClass","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","_asyncToGenerator","fn","args","err","_checkInRHS","e","_checkPrivateRedeclaration","obj","privateCollection","_classPrivateFieldInitSpec","privateMap","_classPrivateMethodInitSpec","privateSet","add","_defineProperty","ownKeys","r","t","getOwnPropertySymbols","o","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","setFunctionName","n","description","toPropertyKey","Symbol","toPrimitive","String","_typeof","iterator","constructor","noop","dispatch","_","test","Error","Dispatch","type","name","c","slice","on","typename","types","T","trim","split","copy","that","selector","matches","childMatcher","node","prefix","space","local","xhtml","svg","xlink","xml","xmlns","querySelector","find","childFirst","firstElementChild","children","from","update","EnterNode","parent","datum","namespaceURI","_parent","__data__","bindIndex","group","enter","exit","data","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","arraylike","ascending","a","b","NaN","appendChild","child","insertBefore","next","querySelectorAll","attrRemove","removeAttribute","attrRemoveNS","fullname","removeAttributeNS","attrConstant","setAttribute","attrConstantNS","setAttributeNS","attrFunction","v","attrFunctionNS","propertyRemove","propertyConstant","propertyFunction","classArray","string","classList","ClassList","_node","_names","getAttribute","classedAdd","names","classedRemove","remove","classedTrue","classedFalse","classedFunction","textRemove","textContent","textConstant","textFunction","htmlRemove","innerHTML","htmlConstant","htmlFunction","raise","nextSibling","parentNode","lower","previousSibling","firstChild","contains","creatorInherit","uri","createElement","createElementNS","creatorFixed","namespace","constantNull","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","onRemove","__on","j","m","listener","options","onAdd","event","contextListener","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","root","Selection","groups","parents","_groups","_parents","selection","select","subgroups","subnode","subgroup","selectAll","arrayAll","selectorAll","selectChild","match","childFind","selectChildren","childrenFilter","matcher","enterGroup","updateGroup","previous","i0","i1","_enter","_exit","sparse","onenter","onupdate","onexit","append","merge","order","context","groups0","groups1","m0","m1","min","merges","group0","group1","compareDocumentPosition","sort","compare","compareNode","sortgroups","sortgroup","nodes","empty","each","attr","getAttributeNS","style","property","classed","text","html","creator","insert","before","deep","typenames","parseTypenames","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","none","taskHead","taskTail","frame","timeout","interval","pokeDelay","clockLast","clockNow","clockSkew","clock","performance","setFrame","f","clearNow","Timer","_call","_time","timer","time","restart","wake","timerFlush","t0","t2","t1","Infinity","sleep","nap","poke","clearTimeout","clearInterval","setInterval","stop","nonpassivecapture","capture","passive","preventDefault","stopImmediatePropagation","cosh","exp","zoomRho","rho","rho2","rho4","zoom","p0","p1","S","ux0","uy0","w0","ux1","uy1","w1","dx","dy","d2","log","d1","sqrt","b0","b1","r0","r1","s","coshr0","u","sinh","duration","SQRT2","_1","max","_2","sourceEvent","currentTarget","ownerSVGElement","createSVGPoint","point","clientX","clientY","matrixTransform","getScreenCTM","inverse","getBoundingClientRect","clientLeft","clientTop","pageX","pageY","elapsed","emptyOn","emptyTween","CREATED","STARTING","STARTED","ENDING","ENDED","timing","schedules","__transition","tween","start","state","tick","ease","init","schedule","active","svgNode","degrees","PI","identity","translateX","translateY","rotate","skewX","scaleX","scaleY","d","atan2","atan","interpolateTransform","parse","pxComma","pxParen","degParen","pop","q","xa","ya","xb","yb","number","translate","scale","interpolateTransformCss","DOMMatrix","WebKitCSSMatrix","isIdentity","decompose","interpolateTransformSvg","transform","baseVal","consolidate","matrix","tweenRemove","tween0","tween1","tweenFunction","tweenValue","transition","_id","factory","extend","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","color","format","l","toLowerCase","exec","parseInt","rgbn","Rgb","rgba","hsla","opacity","rgb_formatHex","hex","rgb_formatRgb","clampa","clampi","isNaN","h","Hsl","hslConvert","clamph","clampt","hsl2rgb","m2","basis","v0","v1","v2","v3","t3","channels","assign","displayable","formatHex8","formatHsl","pow","clamp","nogamma","linear","rgbGamma","exponential","gamma","end","rgbSpline","spline","colors","values","floor","reA","reB","source","am","bm","bs","bi","lastIndex","one","zero","interpolate","value1","string00","interpolate0","string1","string0","string10","attrTweenNS","attrInterpolateNS","_value","attrTween","attrInterpolate","delayFunction","delayConstant","durationFunction","durationConstant","Transition","_name","newId","selection_prototype","inherit","id0","id1","on0","on1","sit","every","onFunction","styleTween","styleNull","listener0","styleMaybeRemove","styleInterpolate","textTween","textInterpolate","removeFunction","easeConstant","easeVarying","cancel","interrupt","defaultTiming","ZoomEvent","Transform","applyX","applyY","invert","location","invertX","invertY","rescaleX","domain","range","rescaleY","defaultFilter","ctrlKey","button","defaultExtent","hasAttribute","viewBox","defaultTransform","__zoom","defaultWheelDelta","deltaY","deltaMode","defaultTouchable","navigator","maxTouchPoints","defaultConstrain","extent","translateExtent","dx0","dx1","dy0","dy1","touchstarting","touchfirst","touchending","constrain","wheelDelta","touchable","scaleExtent","listeners","touchDelay","wheelDelay","clickDistance2","tapDistance","wheeled","mousedowned","dblclicked","touchstarted","touchmoved","touchended","centroid","gesture","p","w","clean","__zooming","Gesture","taps","pointer","wheel","mouse","view","moved","x0","y0","noclick","noevent","MozUserSelect","__noselect","changedTouches","k1","shiftKey","started","touches","identifier","touch0","touch1","l0","l1","dp","dl","hypot","collection","scaleBy","scaleTo","translateBy","translateTo","emit","clickDistance"],"sourceRoot":""}